Commit Graph

306 Commits

Author SHA1 Message Date
Reinhard Panhuber 51c80630f5 Clean up 2021-01-18 17:13:06 +01:00
Reinhard Panhuber 8450bc3225 Add FIFO copy modes: tu_fifo_copy_mode_t
Allows to copy from/to constant pointers required for STM32 hardware
FIFO copies.
2021-01-18 17:12:39 +01:00
Reinhard Panhuber bdbcb8df39 Add tu_fifo_read_n_into_other_fifo() to copy into from FIFO into another
Fix overflow in tu_fifo_write_n()
2021-01-17 11:55:33 +01:00
Ha Thach 08f8f488a0
Merge pull request #571 from HiFiPhile/iar_fifo
Fix IAR error on memcpy and warnings.
2020-12-24 12:03:57 +07:00
HiFIPhile baa5417f3e Fix IAR error on memcpy and warnings.
Signed-off-by: MasterPhi <admin@hifiphile.com>
2020-12-23 16:54:55 +01:00
HiFiPhile b3c0d417ef Fix error if "Required Prototype" is selected.
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2020-12-20 23:10:34 +01:00
hathach f5e13d5898 msc only invoke scsi complete callback after status transaction is complete 2020-11-24 23:42:30 +07: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 14138f105e have tusb_init() return true instead of TUSB_ERROR_NONE 2020-11-23 13:12:51 +07:00
hathach 3c31d08051 merge class driver control_request & control_complete to control_xfer_cb()
migrated msc_device
2020-11-19 21:01:33 +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
hathach 67ac40b98d house keeping: make tu_print_mem format easier to compare with hex2dump 2020-11-01 13:37:56 +07:00
hathach b5d4c8185d Merge branch 'master' into host-async-control 2020-10-11 16:22:12 +07:00
Ha Thach 80c509a0f3
Merge pull request #520 from salkinium/feature/misc_enhancements
STM32F3 IRQ remap option and some minor improvements
2020-10-11 14:55:06 +07:00
hathach 3f54c27afa fix audio_test build 2020-10-07 13:36:03 +07:00
Niklas Hauser e41d9202b8 Allow overwriting TU_ASSERT etc macros 2020-10-03 20:17:53 +02:00
Niklas Hauser 51fb659533 Use tu_printf instead of printf 2020-10-03 20:17:53 +02:00
Niklas Hauser 78477077b4 Use C++11 static_assert when available 2020-10-03 20:17:36 +02:00
Reinhard Panhuber 8dcb104933 Change modulo substitute to while ( idx >= depth) idx -= depth; 2020-09-26 11:00:31 +02:00
Reinhard Panhuber 9ddcfc09d7 Fix wrong comments, rename pos to offset, rename overflow(). 2020-09-25 15:58:28 +02:00
Reinhard Panhuber 52c9a467b4 Fix bug in modulo substitute. 2020-09-23 21:36:30 +02:00
Reinhard Panhuber 9bdeafb295 Change maximum depth to 2^15 which allows for a fast modulo substitute.
Thus, however, overflows are detectable only for one time FIFO depth.
2020-09-23 20:48:03 +02:00
Reinhard Panhuber 21299f90fa Final cleanup. 2020-09-19 11:46:43 +02:00
Reinhard Panhuber 9dfb78e9d8 Tested, working. 2020-09-15 20:40:41 +02:00
Reinhard Panhuber 349c0f640e Implementation done, yet to be tested. 2020-09-14 18:24:08 +02:00
hathach 66a10ec9c8 rework usbh control transfer
use series of complete callback instead of blocking semaphore, which is
more noOS friendly. still working with hid host
2020-09-07 15:19:20 +07:00
Jan Dümpelmann 4071e490e2 New function to modify fifo overwritability 2020-09-03 17:21:32 +02:00
hathach 9bf2b33366
correct isr context for nrf DCD_EVENT_UNPLUGGED
also rename debug lookup to prevent conflict
2020-08-01 12:02:59 +07:00
hathach ab75998316 Merge branch 'master' into add-stm-hs 2020-06-30 01:55:57 +07:00
hathach 5ffba8536d able to detect as hs 2020-05-31 19:41:22 +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 1a8ce043ed enable -Wcast-align
suppress vendor sdk driver at board.mk
2020-05-17 14:24:15 +07:00
hathach b0d49e55de refactor copy to and from fifo 2020-05-14 14:24:55 +07:00
Mengsk 46875a3912 Optimize FIFO for byte transfer.
Signed-off-by: Mengsk <admin@hifiphile.com>
2020-05-13 23:54:23 +02:00
Mengsk f02ad1d0dc Add IAR compiler attribute and endian support. 2020-05-08 13:29:33 +02:00
hathach eeb076454b add CFG_TUSB_DEBUG_PRINTF() for log retargeting 2020-05-08 12:56:32 +07:00
hathach 9c8517a8d2 fix missing debug log macros 2020-04-26 14:58:23 +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 e4570c35f7 add uart for ea4357 2020-04-20 00:27:35 +07:00
hathach 593fe154ec
adding subclass & protocol to class driver structure 2020-04-14 18:00:59 +07:00
Nathan Conrad 84a9715958 tu_verify: Change some define functions use do-while statement. 2020-04-02 23:22:48 -04:00
Nathan Conrad 7f6316dbe1 Use CRLF on UART. 2020-03-14 14:26:14 -04:00
Nathan Conrad 25c1bea782 Normalize line endings 2020-01-15 14:47:43 -05:00
majbthrd 6b3eb5f173 fix missing parentheses in TU_MIN and TU_MAX macros (#256) 2019-12-30 23:12:18 +07:00
hathach bbada1d3e6 adding lookup table for debugging
add msc scsi command list
2019-12-23 18:54:06 +07:00
hathach 050fa2fd39
able to response to scsi inquiry, but failed to response to test unit ready 2019-12-21 19:33:41 +07:00
hathach 6bc245cb36 add dcd_edpt0_status_complete() which is useful for several mcu port 2019-11-28 11:46:36 +07:00
hathach 40b454cf28 get passed first get device descriptor 2019-11-27 23:20:48 +07:00
hathach c2fb813658
Merge pull request #217 from xobs/valentyusb-eptri
WIP: Add Valentyusb eptri
2019-11-18 12:37:34 +07:00
Sean Cross 359189ea2d tusb_verify: add riscv assert support
This simply executes an "ebreak" instruction.

Signed-off-by: Sean Cross <sean@xobs.io>
2019-11-13 09:08:01 -08:00
hathach 838173efc3
remove TEST_FAIL() from TU_ASSERT, since it prevents we testing how stack response with failed assert 2019-11-01 18:27:15 +07:00
hathach 5b68cc91ad
adding TEST_FAIL() for TU_ASSERT() 2019-11-01 17:50:40 +07:00
hathach 78523301bb
Merge pull request #202 from smunaut/dfu-rt
Add support for DFU Runtime class for devices
2019-10-28 22:56:14 +07:00
Sylvain Munaut ec4ecfa817 Add support for DFU Runtime class for devices
This is really just a few descriptors and then answering to the
request from the host to reboot into DFU mode.

That latter part is delegated to the app since this is platform
specific.

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2019-10-28 16:11:08 +01:00
hathach 661515a807 adding debug log function 2019-10-23 21:18:46 +07:00
hathach 90b6b5d137 clean up tusb_verify 2019-10-18 16:38:02 +07:00
hathach 195d0f5a14 adding log support with uart
started with pca10056
2019-10-12 00:02:51 +07:00
Nathan Conrad dfe92542e6 Change inline functions to macros, and make all parameter names uniform. 2019-09-16 11:27:05 -04:00
Nathan Conrad 889c17a442 Merge branch 'master' into TI_compiler_quirks 2019-09-16 09:24:27 -04:00
hathach 88dd83ae5c
Merge pull request #159 from pigrew/assert_documentation
Documentation: assert vs verify.
2019-09-16 11:29:39 +07:00
hathach 9c5ae0369b follow up to suggestion to pr 155 2019-09-16 11:13:17 +07:00
Nathan Conrad 9593463367 Massive copy&paste typo of mine in the 32-bit byte swapping function.... 2019-09-15 15:20:01 -04:00
Nathan Conrad 21ba37aec6 Interpretation of assert vs verify. 2019-09-14 11:25:40 -04:00
Nathan Conrad bb7f581b6d TI compiler quirks, and le byte swapping functions. 2019-09-13 20:28:26 -04:00
hathach ac8c343fef fix #154 forward all endpoint recipeint request to class driver
fix typo
remove magic number 0xff of driver id
2019-09-13 22:16:24 +07:00
Nathan Conrad bc2a65b20b A few bug fixes, remove the unstested device notices, note supported boards in READMEs, and implement PMA
access stride (used on MCU's with 512 byte USB buffers).
2019-09-10 01:03:24 -04:00
Nathan Conrad 75a3f791e3 Remove some type conversion warnings (using GCC pedantic warnings) 2019-09-09 13:35:41 -04:00
Nathan Conrad 96bead4b2a Add dummy arguments to GET_NTH_ARG to make GCC happy (removes pedantic warnings) 2019-09-09 13:24:08 -04:00
hathach 2d041aaa1d clean up 2019-09-01 08:11:22 +07:00
hathach bac75a81fd support LPC51u68 #100 2019-08-31 22:44:08 +07:00
hathach 30de17a830 clean up
- remove TUD_WEBUSB_URL_DESCRIPTOR to avoid flexible array member (C++
forbid in strict mode)
- remove unused TUD_DESC_STRLEN/TUD_DESC_STR_HEADER/TUD_DESC_STR_HEADER
2019-08-01 13:20:00 +07:00
hathach 2c2db31b09 clean up 2019-07-30 20:28:39 +07:00
hathach af3c301ea5 added BOS MS OS 2.0 descriptor to webusb example, it work with windows 2019-07-30 00:34:25 +07:00
hathach 83f7aacbb1 clean up 2019-07-16 18:43:06 +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 164b26ee6b change TUD_HID_INOUT_DESCRIPTOR epout & epin order
clean up, adding template for BOS & BOS platform descriptor
2019-07-12 14:53:11 +07:00
hathach 3b6013e78f clean up 2019-07-12 14:43:01 +07:00
hathach e74aa41552 added tud_descriptor_bos_cb(), add support for BOS get descriptor 2019-07-12 00:12:14 +07:00
hathach 5ebb606ecd add BOS descriptor and device capability constant 2019-07-11 22:35:17 +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 6e443d1918
enable CFG_TUSB_DEBUG on DEBUG build 2019-05-14 17:36:03 +07:00
hathach 910a94e9ca
clean up 2019-05-14 13:12:16 +07:00
hathach 3e6d911ce9
more clean up use inline bit funciton instead of macros 2019-05-14 12:54:29 +07:00
hathach 81fc7b7e2b
clean up endian convert function 2019-05-14 12:14:51 +07:00
hathach 3e24daac79
remove deprecated tusb_task, clean up tusb compiler 2019-05-14 12:03:06 +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 1174949308
change tud_descriptor_string_cb() to be consistent with other descriptor callback 2019-05-12 15:38:15 +07:00
hathach de56a0ca89 add tud_descriptor_string_cb() for getting string descriptor from application
- remove tud_desc_set.string_arr/string_count
2019-05-11 16:31:52 +07:00
hathach f9d9eebfe1 support hid generic inout #58
- add report descriptor template TUD_HID_REPORT_DESC_GENERIC_INOUT
- add TUD_HID_INOUT_DESCRIPTOR & TUD_HID_INOUT_DESC_LEN
- add hid_generic_inout example
2019-05-02 14:30:49 +07:00
hathach 6102183193
clean up 2019-04-11 00:22:18 +07:00
hathach f3a954e7de
self powered and remote wakeup support are from configuration descriptor attribute 2019-03-30 17:38:00 +07:00
hathach 1c2beba85c working on suspend and resume
change dcd_init signature
2019-03-29 16:23:00 +07:00
hathach 18f248b142
remove tusb_hal_millis() usage, less work for porting 2019-03-24 01:19:32 +07:00
hathach df1aac44b8
add board_noos_millis() for blinky 2019-03-23 16:51:07 +07:00
hathach c211ee19dd migrate license from BSD 3 clause to MIT 2019-03-20 16:11:42 +07:00
hathach 5e92d67015 stm32 update TX Fifo for edpt IN, both CDC + MSC work great
- call dcd_event_xfer_complete() when enough bytes received
- add dcd_get_frame_number()
2019-03-15 18:43:09 +07:00
Scott Shawcroft 52abbec7c5
Remove txbuf in favor of fifo.
Fifo incurs a second copy into a USB buffer but this ensures the
correct USB buffer alignment. Some LPC chips require 64 byte
alignment that txbuf couldn't do.
2019-01-08 14:10:40 -08:00
Scott Shawcroft 048fc9694c
Split out txbuf and add unit test. 2019-01-04 18:27:00 -08:00
hathach 902697ca07 add dcd_get_microframe() 2018-12-17 12:14:11 +07:00
hathach 351f0d7d78 merge binary.h into tusb_common.h 2018-12-14 15:45:49 +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 a6b9432600 clean up error enum 2018-12-13 14:57:21 +07:00
hathach bc46dc6edf osal clean up
remove OSAL_TASK_DEF, osal_task_create. Applicaton should create a task
and call tinyusb_task(). This make API consistent with NO OS.
2018-12-13 13:49:09 +07:00
hathach 5fd60e5761
clean up 2018-12-12 12:36:40 +07:00
hathach 6c0b0917e1
rename descriptor_* helper to tu_desc_* 2018-12-12 12:01:15 +07:00
hathach 6d86db3977
rename edpt_dir/number/addr to tu_edpt_* 2018-12-12 11:51:31 +07:00
hathach 67d6d753d6
replace all hcd pipe close by hcd_device_remove 2018-12-12 00:00:33 +07:00
hathach 600fac1845
fix build error with ohci 2018-12-11 16:18:56 +07:00
hathach 9c4c797502
add ep addr to host cdc 2018-12-10 19:01:28 +07:00
hathach 9478c647e3 change usbh_control_xfer name and signature 2018-12-07 12:23:37 +07:00
hathach 6f3898572d
add role to OSAL_QUEUE_DEF() to disable correct dcd/hcd isr 2018-12-05 17:01:19 +07:00
hathach 394a22ecf7
remove pragma GCC diagnostic 2018-11-23 15:25:25 +07:00
hathach a619ff88a3
rename xfer complete enum 2018-11-23 15:17:43 +07:00
hathach cb8782e5f2
rename tusb_event_t to xfer_result_t 2018-11-23 15:14:47 +07:00
hathach 569e85a0c0
cdc work ok with lpc43xx 2018-11-22 17:40:20 +07:00
hathach 215f8603b1 nrf5x: refactor device control transfer.
- make control transfer as part of usbd. Class driver must use
usbd_control_ API() instead of dcd_ api.
- change the signature of class driver's control_request
- allow control request complete to stall in staus stage
- move control request parser & handling to usbd.
2018-11-16 21:56:39 +07:00
hathach 983225ae60
Merge pull request #7 from tannewt/tinyusb_samd
Add SAMD support and simplify OS_NONE
2018-11-14 15:36:12 +07:00
hathach 3fe7cd1659 added tud_cdc_write_str, tu_fifo only use mutex for RTOS config 2018-11-13 15:45:22 +07:00
Scott Shawcroft 537a29273c
Exempt from strict warnings for struct packing and add MCU options 2018-11-09 00:10:44 -08:00
hathach f6076b0e06 add mutex support (optional) for tu_fifo 2018-11-02 17:28:07 +07:00
hathach bfa10016ae rename verify_breakpoint to TU_BREAKPOINT 2018-10-24 12:37:43 +07:00
hathach 55427606ef replace dcd_xfer_complete by dcd_xfer_complete() 2018-10-24 00:44:26 +07:00
hathach c7340f4b0e clean up helper func 2018-10-23 12:19:32 +07:00
hathach 99c5219dc1 rename queue.h to sys_queue.h to prevent name conflict 2018-09-28 01:59:47 +07:00
hathach a6870add95 format queue.h a bit 2018-09-26 01:44:36 +07:00
hathach c78540be0f add sys/queue.h to common 2018-09-26 01:39:59 +07:00
hathach 1a4a27324b clean up 2018-09-02 20:30:07 +07:00
hathach 460285f852 fix compiler static assert complain 2018-08-23 21:05:52 +07:00
hathach c5d2f661e7 rename common func to avoid conflict 2018-08-23 20:09:28 +07:00
hathach 7b35cd0203 add string desc helper 2018-08-21 14:51:59 +07:00
hathach e07b1acbed rename VERIFY to TU_VERIFY to avoid conflict with application 2018-08-13 18:10:23 +07:00
hathach 683bb574e7 hid device enhance 2018-07-29 14:03:48 +07:00
hathach 9f61493020 change HID config, move HID boot config to part of auto descriptor only 2018-07-28 12:38:45 +07:00
hathach 5dd02cbdd3 house keeping 2018-07-27 16:59:57 +07:00
hathach d2ab4db25e add scsi start stop unit struct, improve device msc, correctly stall unsupported scsi command 2018-07-25 16:56:57 +07:00
hathach bd2313aa8b house keeping 2018-07-24 18:17:09 +07:00
hathach 5f6cd49031 clean up include 2018-07-23 23:41:14 +07:00
hathach 51903a60c5 rename timeout_ API to tu_timeout API 2018-07-23 22:36:29 +07:00
hathach 361928f429 rename timeout_timer.h to tusb_timeout.h 2018-07-23 22:32:21 +07:00
hathach 3e209f9c20 enhance device hid
- add CFG_TUD_HID_ASCII_TO_KEYCODE_LOOKUP
- add tud_hid_keyboard_send_keycode(), tud_hid_keyboard_send_char(),
tud_hid_keyboard_send_string()
- add timeout_blocking_wait()
2018-07-23 17:46:07 +07:00
hathach abb37e98ba rename tud_cdc_flush() to tud_cdc_write_flush(), add tud_cdc_read_flush() 2018-07-14 23:43:19 +07:00
hathach 19b6bbfd14 add device cdc wanted char callback, cdc peek 2018-07-14 23:28:07 +07:00
hathach 1efb552bfd add ep2drv, rename descriptor offset 2018-07-13 17:48:26 +07:00
hathach 3e66d2d31e rename fifo * to tu_fifo to avoid conflict with other module 2018-07-04 00:22:15 +07:00
hathach ec3227b220 add TUD_DESC_STRCONV 2018-07-03 16:39:42 +07:00
hathach 1faf0a81e4 clean up 2018-07-02 17:32:09 +07:00
hathach b9f8575e2d clean up device cdc
separate cdc tx & rx bufsize
2018-06-23 13:19:36 +07:00
hathach f8e7695fe9 clean up 2018-06-18 14:31:15 +07:00
hathach 424735d440 rename subfolder source to src 2018-06-18 14:05:24 +07:00