Commit Graph

214 Commits

Author SHA1 Message Date
Reinhard Panhuber 7e56f46957 Extend FIFO mutex to use separate write and read mutexes.
Adjust all USB drivers using FIFO and mutexes.
2021-03-04 13:52:14 +01:00
boggyb 55a46a5c3b
Update cdc_device.h
Minor api callback change as requested
2021-02-26 11:00:34 +05:30
amit verma 07a04255da initial break request handling 2021-02-25 23:13:21 +05:30
Jeremiah McCarthy 21f1cd4ec7 Implement requested PR changes
Removes CFG_TUSB_ALT_BIT_PACKING_ALIGNMENT, and makes the manual padding
behavior standard.  Replaced unused variable name with TU_RESERVED.
2021-02-18 13:26:03 -05:00
Jeremiah McCarthy f8fbc0930b Add alternate bitfield padding option
Adds configuration option CFG_TUSB_ALT_BIT_PACKING_ALIGNMENT, which
substitutes bitfield variable " : 0" padding syntax with an unused
variable of size equal to the remaining number of bits.

This change resolves aligned access issues for some platforms.

Default behavior is original if the option is not explicitly enabled.
2021-02-16 10:43:52 -05:00
hathach 4b4f880785 add tud_ready() check in tud_cdc_n_write_flush()
other clean up
2020-11-23 23:40:13 +07:00
Ha Thach 308028e17c
Merge branch 'master' into cdc_without_dtr 2020-11-23 23:25:55 +07:00
hathach dd07fecc5f migrate cdc_device to new control_xfer_cb 2020-11-19 21:26:06 +07:00
Jan Dümpelmann 54e29e9ff4 Implementation of the discussed changes
- remove usbd_edpt_xfer_abort
- rename tu_fifo_change_mode to tu_fifo_set_mode
- remove CFG_TUD_CDC_CLEAR_AT_CONNECTION definition
- remove auto fifo clear at connection event
- add tud_cdc_n_write_clear function
2020-11-18 09:42:50 +01:00
Ha Thach a708ab6254
Merge pull request #553 from hathach/host-async-control
Host async control
2020-11-07 10:52:14 +07:00
Jan Dümpelmann af9f0f1cd6 Merge remote-tracking branch 'hathach/master' into cdc_without_dtr 2020-11-04 17:11:01 +01:00
Ha Thach 075334af80
Merge pull request #547 from hathach/cdc-auto-write-flush
enable cdc auto flush on write()
2020-11-03 11:42:17 +07:00
hathach 6fcd540cb6 enable cdc auto flush on write()
if there is enough data in the fifo
2020-11-02 16:50:46 +07:00
hathach 14461beffa remove legacy blocking usbh_control_xfer()
reworking cdc host driver
2020-11-02 09:19:34 +07:00
Jacob Potter 3ea8138750 Rename CDC_COMM_SUBCLASS_ETHERNET_NETWORKING_CONTROL_MODEL
This was a confusing name; "Ethernet control model" (CDC ECM)
and "network control model" (CDC NCM) are two separate USB subclasses.
2020-10-31 10:57:53 -06:00
hathach b5d4c8185d Merge branch 'master' into host-async-control 2020-10-11 16:22:12 +07:00
hathach 23e6ee2ea2 cdc device: claim endpoint before checking fifo availability
- add pre-check to reduce mutex lock in usbd_edpt_claim
2020-09-14 22:14:31 +07:00
hathach 1804dba615 typo 2020-09-12 08:48:49 +07:00
hathach 801f8b5b38 update claim edpt for hid and midi 2020-09-10 23:32:08 +07:00
Jan Dümpelmann b15c209805 Set new define because of build failure 2020-09-10 13:36:07 +02:00
hathach ed6d48b81e typo 2020-09-09 16:45:54 +07:00
hathach fe1b5dfa23 clean up 2020-09-09 16:29:45 +07:00
hathach 33f0a18523 update cdc edpt read 2020-09-09 16:25:31 +07:00
hathach 8b9893cada introduce optional usbd_edpt_claim, usbd_edpt_release which can be used to gain exclusive access to usbd_edpt_xfer 2020-09-09 15:48:11 +07:00
hathach b3e81673c0 change xfer_cb return type from void to bool 2020-09-06 12:11:07 +07:00
hathach f7cf8cdf27 defer xfer_isr to xfer_cb 2020-09-05 14:41:31 +07:00
Jan Dümpelmann 9cc22b635c Add functionality to abort an ongoing transfer 2020-09-04 15:40:23 +02:00
Jan Dümpelmann 4071e490e2 New function to modify fifo overwritability 2020-09-03 17:21:32 +02:00
Jan Dümpelmann fd6cf9010b Turn transmit fifo overwritable in no DTR mode 2020-09-03 17:03:13 +02:00
Jan Dümpelmann d9eaa54e14 Remove connected check for write flushing 2020-09-03 16:40:53 +02:00
hathach be708bb8a4 Merge branch 'master' into update-host 2020-09-01 12:02:25 +07:00
hathach a1b7e767af improve midi
- fix #436 tud_midi_rx_cb() not invoked
- fix xfer_cb() not handle ep in
- add ZLP if needed
2020-08-24 14:31:46 +07:00
Ha Thach e5d622b749
Merge pull request #434 from gh2o/master
Add TX callback to CDC device
2020-08-21 11:14:06 +07:00
Gavin Li 72183c7bb4
Slight optimization for cdc tx refill 2020-08-20 09:59:23 -07:00
Gavin Li 15b063beb2 Smarter CDC TX refill logic 2020-08-20 02:20:01 -07:00
hathach 881025afdc add new name warning to cdc and midi (skip msc, hid warning for now) 2020-07-17 23:01:39 +07:00
hathach fea6fb73a1
add fs & hs config for cdc_msc_freertos, midi_test, msc_dual_lun 2020-07-16 13:04:10 +07:00
hathach 706413f751 add tud_speed_get()
- define both fs and hs configuration descriptor
- rename CFG_TUD_CDC_EPSIZE to CFG_TUD_CDC_EP_BUFSIZE with default size of 64 for FS, and 512 for HS
2020-07-16 00:44:09 +07:00
Craig Hutchinson 323ae5a84f
Improve comment on CDC tud_cdc_write_available()
Fixes #460
2020-07-10 12:24:09 +01:00
hathach 12a145b27d fix dfu-rt to response to SET_INTERFACE and DFU_GETSTATUS
fix #450
2020-07-01 01:33:02 +07:00
Gavin Li 7ae47a9397
Call tud_cdc_tx_cb right after flush to keep tx fifo full 2020-06-20 22:12:10 -07:00
Gavin Li 8fe887198b Add tx callback to cdc device
Useful for continuous transmission of data, which is difficult currently
because there is no notification of tx completion.
2020-06-18 01:13:44 -07:00
hathach fb214f7cf7 rename to drv_len to be consistent 2020-05-28 13:57:49 +07:00
hathach 10cd3f24bf initial transfer failed in open() shouldn't cause the driver open to fail. 2020-05-28 13:48:02 +07:00
hathach e340404968
changing usbd driver open() return type, add max_len
only done with cdc and msc, push this interim for feedback first
2020-05-27 19:01:59 +07:00
hathach 58cedf4c06 usb0 host on mcb1800 work with fullspeed mode.
use usbh_edpt_open() to correctly map ep2drv[]
2020-05-19 00:55:43 +07:00
hathach 4a3a448340 clean up things, add makefile for host example 2020-05-04 00:29:52 +07:00
hathach 017c95037f add usbd edpt open
- RTT mode is blocking to prevent log lost
- Improve logging message
2020-04-26 14:51:44 +07:00
hathach ce6a81e74d
fix typo 2020-04-17 22:10:31 +07:00
hathach 464b1e8e89
correct return for write flush 2020-04-17 15:57:24 +07:00
hathach 4571ce0d29
add a bit of document for cdc device API. also improve cdc write flush when complete. 2020-04-17 15:54:20 +07:00
Ha Thach 0b1b9a2b9e
Merge pull request #260 from majbthrd/cdczlp
CDC device: fix behavior for transfers that are a whole multiple of endpoint buffer
2020-04-17 15:00:12 +07:00
hathach d315393fbb
use IAD to assign itf2drv mapping correctly
merge net_data back into net driver
2020-04-15 16:18:24 +07:00
hathach b03b9eb939
change cdc template protocol to None 2020-04-15 15:14:26 +07:00
hathach e713b534fa
test ok with cdc and msc 2020-04-15 10:30:34 +07:00
Peter Lawrence aafddfe637 following suggestion by @kasjer 2020-03-15 18:32:02 -05:00
Peter Lawrence e7efcb6fd5 merge with current master 2020-03-15 18:28:13 -05:00
Nathan Conrad 7f6316dbe1 Use CRLF on UART. 2020-03-14 14:26:14 -04:00
hathach b6b9fe42af more log for debugging 2020-02-07 16:43:44 +07:00
Nathan Conrad 25c1bea782 Normalize line endings 2020-01-15 14:47:43 -05:00
Peter Lawrence 53732805b7 CDC device: help ensure code is consistent with the size of the buffers it operates on 2020-01-11 15:31:42 -06:00
Peter Lawrence 33c715bdd0 CDC device: fix behavior for transfers that are a whole multiple of endpoint buffer 2020-01-11 14:21:43 -06:00
Peter Lawrence ff0e7d2bed implement multiple interfaces support 2019-12-28 14:27:32 -06:00
hathach fe1eadf177 fix #229 2019-11-27 12:34:30 +07:00
hathach 6c6a597465 fix #132 2019-09-11 10:47:07 +07:00
hathach bd08d0edc9 add vendor peek, change cdc peek signature, change cdc read_char() return from signed char to int32_t 2019-08-01 10:46:27 +07:00
hathach 33de35504a more house keeping 2019-07-19 20:20:13 +07:00
hathach 036e858543 add tud_control_vendor_request_cb()/tud_control_vendor_complete_cb(), expose usbd control transfer
rename usbd_control_transfer/status to tud_control_transfer/status
2019-07-16 18:14:47 +07:00
hathach cb4e6837e9 clean up, rename internal driver control_request_complete to simply control_complete 2019-07-12 22:03:40 +07:00
hathach b0e5a1a9ec remove tud_midi_write_flush() send asap. rename tud_midi_connected() to tud_midi_mounted() 2019-07-04 01:27:51 +07:00
hathach 1a0e02fa1b tested midi example 2019-07-03 00:52:25 +07:00
hathach 62d3b91691 clean up 2019-07-02 18:23:42 +07:00
hathach 3f3ef6f4e6 clean up 2019-07-02 16:42:12 +07:00
hathach 6991b28532 improving midi support, adding midi exmaple
rename TUSB_DESC_CLASS_SPECIFIC to TUSB_DESC_CS_INTERFACE
2019-07-01 22:38:06 +07:00
hathach 13e01c7dca
add TU_ prefix to compiler ATTR to prevent name conflict with application 2019-06-06 10:39:37 +07:00
hathach a0307bafda added usbd_edpt_xfer/usbd_edpt_busy to replace dcd_edpt_transfer/dcd_edpt_busy()
- improve fifo write/read_n with only one lock
- use usbd_edpt_xfer/usbd_edpt_busy for hid/cdc/msc class driver
- replace cdc read's pending_read_from_host by usbd_edpt_busy()
2019-05-29 16:55:15 +07:00
hathach 3846645a28 fix tud_cdc_read_char()/tud_cdc_peek() to return signed char
- depending on compiler option "char" can be intepreted as unsigned char
2019-05-22 00:54:21 +07:00
hathach 3e6d911ce9
more clean up use inline bit funciton instead of macros 2019-05-14 12:54:29 +07:00
hathach 61ec407752
update license year to 2019 2019-05-14 11:48:05 +07:00
hathach 6135019230
clean up 2019-05-14 11:46:22 +07:00
hathach a25ca701cd text clean up 2019-05-01 23:26:52 +07:00
hathach 2050778763 clean up 2019-05-01 20:41:26 +07:00
hathach c006f3dbce adding optional ep out for hid
refactor usbd_open_edpt_pair
2019-05-01 19:29:56 +07:00
hathach ff8fe28c98
move interface descriptor template to usbd.h, update exmaple 2019-04-19 13:16:06 +07:00
hathach 307ba23046
wrap up hid device refactor 2019-04-18 22:31:35 +07:00
hathach 516964b3d3
add interface descriptor template 2019-04-17 13:43:07 +07:00
hathach eabfc53f38
added tud_suspended() and tud_ready() 2019-03-30 23:01:23 +07:00
hathach 1c2beba85c working on suspend and resume
change dcd_init signature
2019-03-29 16:23:00 +07:00
hathach 8fb9fbb0b1
add tud_mounted() check in tud_cdc_connected()
mark device as disconnected immed with DCD_EVENT_UNPLUGGED
2019-03-27 23:58:24 +07:00
hathach da452d4ba6
cleanup, remove the use of _TINY_USB_SOURCE_FILE_ 2019-03-27 17:48:42 +07:00
hathach 89b9ee2f52 revert to use pending_read_from_host (temp) since 2019-03-27 00:39:14 +07:00
hathach aaf5714268 follow up to pr #46 2019-03-25 11:38:16 +07:00
hathach fad8720215
Merge pull request #46 from tannewt/fix_cdc_out
Fix slow CDC OUT by NAKing
2019-03-24 03:27:58 -07:00
Scott Shawcroft 909891325a
Fix slow CDC OUT by NAKing
This NAKs CDC OUT packets when the ring buffer doesn't have
enough space for it. This makes CDC OUT reliable rather than
allowing overwriting into the ring buffer.
2019-03-21 14:52:56 -07:00
hathach c211ee19dd migrate license from BSD 3 clause to MIT 2019-03-20 16:11:42 +07:00
hathach 59c1b4b427
zero init internal class/device data 2019-01-29 19:39:34 +07:00
hathach 2a60427bdc rename bit_* helper to tu_bit_*, BIT_* to TU_BIT_* for consistency 2018-12-14 15:30:54 +07:00
hathach a3713f801d clean up compiler attribute 2018-12-14 13:08:21 +07:00
hathach bb544a0951
minor update 2018-12-12 14:43:45 +07:00
hathach c1c501e0c2
change usbd xfer_cb return type to bool 2018-12-12 13:12:06 +07:00