hathach
fe77976765
Merge branch 'master' into renesas-ra
2023-03-11 08:15:23 +07:00
Dan Halbert
4857abdc6b
rp2040: include hardware/sync.h explicitly
2023-03-10 14:01:51 -05:00
Jerzy Kasenberg
f0ddf8d10f
dcd_nrf5x: ISO OUT handling
...
For incoming ISO OUT packets it was possible to start
DMA from endpoint to RAM before transfer was started
resulting in unrelated memory corruption.
This is scenario that causes memory corruption:
- ISO OUT packet is received
- Packet is transferred by DMA to transfer buffer
- xfer->started is cleared and xfer->buffer is updated as
it is in every case
- Application takes to long to handle it (it happens when debugger
is connected breakpoint is hit slowing down software).
- Next ISO OUT packet arrives
At this point there was no check if transfer was started and packet
was copied by DMA to location beyond previous data, possibly overwriting
unrelated memory.
This solves the issue by checking that transfer was
started and there is buffer ready for incoming packet.
2023-03-10 08:22:43 +01:00
hathach
0f8e530de1
fix incorrect merge of hcd link
2023-03-08 23:01:37 +07:00
hathach
2cf092464b
fix freertos build with iar, format/indent link_type
2023-03-08 22:34:54 +07:00
hathach
05e0205ad0
Merge branch 'master' into renesas-ra
2023-03-08 21:05:06 +07:00
Hubert Denkmair
b3ad560e62
fix path to stm32g0xx.h
2023-03-08 14:22:11 +01:00
Hubert Denkmair
8ae4f8f069
add basic STM32G0 support
2023-03-08 12:14:40 +01:00
Hubert Denkmair
410ad4d0f9
add basic STM32G0 support
2023-03-08 12:05:58 +01:00
Ha Thach
3387c86108
Merge pull request #1933 from kilograham/rp2040_llvm_tweaks
...
make rp2040 code compile cleanly with LLVM embedded toochain for ARM.
2023-03-06 15:24:51 +07:00
Nathaniel Brough
95cfa37bf5
fix: Fix wrong destsz used with tu_memcpy_s
...
Bug: #1935
2023-03-05 18:47:48 -08:00
graham sanderson
b7fa90e706
rp2040: Fixup lib and example compile for LLVM Embedded Toolchain for ARM
2023-03-02 14:32:22 -06:00
hathach
5d3084a714
add TUP_USBIP_FSDEV and TUP_USBIP_FSDEV_STM32, clean up ifdef with stm32
2023-03-01 11:22:04 +07:00
Ha Thach
3c38c7dc25
Merge pull request #1828 from HiFiPhile/stm32_fsdev
...
stm32_fsdev & ISO EP buffer allocation improvements
2023-02-28 23:45:02 +07:00
hathach
ffdc100cb9
rename ep_num to ep_idx, minor clean up
2023-02-28 17:11:59 +07:00
Ha Thach
65ac519715
Merge pull request #1852 from silvergasp/mem_s
...
fix: Replace device calls to memcpy with tu_memcpy_s
2023-02-27 10:22:53 +07:00
hathach
e34aeb5cf6
minor clean up
2023-02-27 09:11:35 +07:00
Ha Thach
73afca14eb
Merge pull request #1491 from Ryzee119/ohci_fixes
...
OHCI usbh, tweaks and improvements
2023-02-22 22:52:41 +07:00
hathach
eca96c635d
comment out osal_task_delay if using os none
2023-02-22 22:28:22 +07:00
hathach
4caa6063b0
white space
2023-02-22 22:17:45 +07:00
hathach
1466afafeb
move and add optional tusb_app_virt_to_phys/tusb_app_phys_to_virt
...
also add place holder for tusb_app_dcache_flush() and
tusb_app_dcache_invalidate()
2023-02-22 22:14:50 +07:00
mikee47
302b9562dc
MIDI_CIN_NOTE_ON definition transposed with MIDI_CIN_NOTE_OFF
2023-02-22 09:58:30 +00:00
hathach
498989ee00
use tu_static instead of static _fuzz_thread
2023-02-22 16:23:40 +07:00
hathach
4c846af53e
rename OHCI_RHPORTS to TUP_OHCI_RHPORTS
2023-02-22 16:18:45 +07:00
Ha Thach
557bf82336
Merge pull request #1867 from silvergasp/thread_local_globals
...
fix: Change all static variables to thread when fuzzing
2023-02-22 12:54:32 +07:00
hathach
03ec49450d
rename maros from FUZZ to _FUZZ, change TU_STATIC to static _fuzz_thread
2023-02-22 11:47:09 +07:00
wooyay
4e2afdf5e1
ohci: Disable MIE interrupt during IRQ processing, zero HccADoneHead on completion
2023-02-18 10:48:39 +10:30
Ryzee119
75f6583c1c
ohci: Use enum instead of magic number
2023-02-18 10:48:39 +10:30
Ryan Wendland
f2a6af05b1
ohci: Add ability to separate physical and virtual memory
2023-02-18 10:48:38 +10:30
Ryan Wendland
f87262185e
ohci: Set skip on ed prior to removal
2023-02-18 10:24:21 +10:30
Ryan Wendland
cc9c3feeae
ohci: Fix bug in ed removal
2023-02-18 10:24:21 +10:30
Ryzee119
e89e8ba392
ohci: Direct port commands to the correct rhport.
2023-02-18 10:24:21 +10:30
Ryzee119
5d3c0fb922
ohci: Force reset of devices already connected on power up
2023-02-18 10:24:21 +10:30
Ryzee119
c1d0fd1bd7
ohci: Wait POTG time after port power
2023-02-18 10:24:21 +10:30
Ryzee119
2063ee5f15
ohci: Toggle frameinterval bit on update
2023-02-18 10:24:21 +10:30
Ryzee119
d5e6d02817
ohci: Leave SMM or bios mode during init
2023-02-18 10:24:21 +10:30
Ryzee119
c820c87692
ohci: Support configurable number of roothub ports
2023-02-18 10:24:21 +10:30
Ryzee119
d367e8f8a8
ohci: Expand roothub descriptors into unions
2023-02-18 10:24:21 +10:30
rppicomidi
fde7577117
Fix issue 1909
2023-02-15 20:02:12 -08:00
Jeff Trull
7e2c5fcc8a
Correct bitfields for cdc_desc_func_telephone_call_state_reporting_capabilities_t
2023-02-12 20:52:17 -08:00
Jeff Trull
f48ae4aad7
Adjust reserved bitfields to make SDCC happy
...
- keep each field at or under 16b
- For optimal packing, segment fields to 8b boundaries
2023-02-10 15:54:04 -08:00
hathach
7e48da5b44
update version to 0.15.0
...
add changelog
2023-02-10 12:47:48 +07:00
hathach
3422e05684
change length in tud_hid_report_complete_cb() from uint8 to uint16
2023-02-04 11:43:23 +07:00
Ha Thach
d6354a2aa7
Merge pull request #1877 from hathach/fix-host-cdc-without-iad
...
Fix host cdc without iad
2023-02-01 11:18:04 +07:00
Ha Thach
49628d8c18
Merge pull request #1779 from P33M/rp2040_device_babble_fix
...
rp2040: avoid device-mode state machine hang
2023-01-31 21:38:27 +07:00
hathach
ddb061f639
fix typos
2023-01-31 19:03:31 +07:00
hathach
95403ed9ac
fix host issue when mounting an CDC device without IAD
2023-01-31 18:40:07 +07:00
hathach
6759721e9a
move errata to end of c file
2023-01-31 17:38:27 +07:00
hathach
19b6cbc616
add e15 prefix or walkaround related functions, also minor refactor
2023-01-31 17:15:42 +07:00
hathach
0cce42fcc6
minor clean up
2023-01-31 11:38:15 +07:00
Ha Thach
b03a688b24
Merge pull request #1768 from ftdigdm/port-ft90x
...
Port ft90x
2023-01-30 22:13:14 +07:00
hathach
6257123157
Merge branch 'master' into support-iar
2023-01-30 16:44:22 +07:00
hathach
cc18784479
hardcoded configPRIO_BITS for IAR build to pass CI
2023-01-30 16:42:56 +07:00
hathach
6dd40603f9
fix typo
2023-01-30 11:46:52 +07:00
Ha Thach
88f3279c3c
Merge branch 'master' into port-ft90x
2023-01-30 11:40:53 +07:00
Jonathan Bell
0d2078d295
rp2040: shuffle hw_endpoint members
...
Ordering by element size prevents alignment holes, and as a consequence the
host mode version of the struct is the same size as device, as pad bytes at
the end are used instead.
2023-01-24 12:05:32 +00:00
Jonathan Bell
73b0047efc
rp2040: avoid device-mode state machine hang
...
Don't mark IN buffers as available during the last 200us of a full-speed
frame. This avoids a situation seen with the USB2.0 hub on a Raspberry
Pi 4 where a late IN token before the next full-speed SOF can cause port
babble and a corrupt ACK packet. The nature of the data corruption has a
chance to cause device lockup.
Use the next SOF to mark delayed buffers as available. This reduces
available Bulk IN bandwidth by approximately 20%, and requires that the
SOF interrupt is enabled while these transfers are ongoing.
Inherit the top-level enable from the corresponding Pico-SDK flag.
Applications that will not use the device in a situation where it could
be plugged into a Pi 4 or Pi 400 (for example, when directly connected
to a commodity hub or other host) can turn off the flag in the SDK.
v2: use a field in hw_endpoint to mark pending.
v3: Partial rewrite following review comments
- Stub functions out if the workaround is not required
- Only force-enable SOF while any vulnerable endpoints are active
- Respect dcd_sof_enable() functionality
- Get rid of all but necessary ifdef hackery
- Fix a bug where the "endpoint lock" was used with an uninitialised pointer.
2023-01-24 11:53:28 +00:00
Jonathan Bell
c3e47c31cc
rp2040: export hw_endpoint_start_next_buffer() and hw_endpoint_lock_update()
...
The next change to the driver requires the export of these functions. Leave the
lock unimplemented for now.
Also move hw_set and hw_clear aliases into the top-level header file.
2023-01-23 10:55:20 +00:00
hathach
1bbeb6ad79
update stm32f1 to support iar build
2023-01-21 11:32:37 +07:00
Nathaniel Brough
18c3095346
fix: Change all static variables to thread when fuzzing
2023-01-20 15:45:31 -08:00
hathach
daec3c24d8
fix warnings with arithmetic on void* pointer
2023-01-20 15:30:45 +07:00
hathach
074289caa3
add helper tu_desc_find/find2/find3
2023-01-20 15:30:24 +07:00
Ha Thach
ea098aeda1
Merge pull request #1847 from HiFiPhile/dwc2_iar
...
dwc2: fix iar warnings
2023-01-18 17:41:33 +07:00
Nathaniel Brough
2e47210c1a
fix: Replace device calls to memcpy with tu_memcpy_s
...
Introduces a new function tu_memcpy_s, which is effectively
a backport of memcpy_s. The change also refactors calls
to memcpy over to the more secure tu_memcpy_s.
2023-01-13 15:20:32 -08:00
Ha Thach
fa9d19027b
Merge pull request #1405 from gregdavill/ch32v307
...
Add WCH CH32V307 port
2023-01-12 17:51:56 +07:00
hathach
b1021d53f3
add TUP_RHPORT_HIGHSPEED for ch32v307
2023-01-12 15:38:18 +07:00
hathach
3cf21c66b6
add dcd_remote_wakeup() stub
2023-01-12 15:26:48 +07:00
hathach
e61d4aefe6
rename driver with dcd_ to be consitent with other ports
2023-01-12 12:08:56 +07:00
hathach
3cc6cece07
add note for openocd with wch, also add wch-riscv.cfg
2023-01-12 10:25:48 +07:00
MasterPhi
9d19ed940e
dwc2: fix IAR warnings.
2023-01-11 18:50:38 +01:00
Ha Thach
8775d55adc
Merge pull request #1843 from HiFiPhile/ip3511
...
ip3511 : Fix IAR build.
2023-01-09 10:02:59 +07:00
MasterPhi
57de6016f9
ip3511 : Fix IAR build.
2023-01-08 11:23:18 +01:00
Ha Thach
949950e592
Merge branch 'master' into ch32v307
2023-01-07 23:46:46 +07:00
Ha Thach
83cc71feaf
Merge pull request #1820 from Staacks/master
...
Fix UVC probe and commit on MacOS
2023-01-07 23:30:30 +07:00
hathach
c84de8f06b
minor clean up
2023-01-07 19:40:06 +07:00
hathach
9e551c9f5c
remove _ff_overflowed() due to lack of use
2023-01-07 19:00:04 +07:00
hathach
c29b7643a5
simplify _ff_correct_read_index()
2023-01-07 18:53:00 +07:00
hathach
248025bb6c
reverse idx2ptr() arguments to be consistent
2023-01-07 17:29:43 +07:00
hathach
24bd1c9562
update advance_pointer/backward_pointer to use depth instead of fifo, also rename to advance/backward_index
2023-01-07 17:27:26 +07:00
hathach
507d5b10b0
simplify _tu_fifo_count() and _tu_fifo_remaining(), also rename to _ff_count() and _ff_remaining()
2023-01-07 17:14:17 +07:00
hathach
a804a1ac09
simplify and remove _tu_fifo_empty, _tu_fifo_full. Also correct full condition check
2023-01-07 16:48:07 +07:00
hathach
82457519fa
minor clean up
2023-01-07 16:12:35 +07:00
hathach
2a1b81e3c5
minimize tu_fifo size to 16
...
- remove non_used_index_space
- packed overwritable with item_size
2023-01-06 11:51:17 +07:00
hathach
9c73c1a532
minor clean up
2023-01-06 10:56:19 +07:00
hathach
b42d298b81
Merge branch 'master' into fix-fifo-memory-overflow
2023-01-06 10:52:25 +07:00
Ha Thach
6e23c596cc
Merge pull request #1837 from pete-pjb/master
...
Fix typo in audio.h. Specifiy _ctrl_xfer struct in CFG_TUSB_MEM_SECTION in usbh.c
2023-01-06 10:24:55 +07:00
Mengsk
8db462bf6e
Add fix to dcd_edpt_iso_activate()
2023-01-05 16:54:42 +01:00
Simon Kueppers
d6b612257e
Fixed bug where with some devices, the TU_ASSERT inserted with this commit gets triggered for ISOCHRONOUS endpoints. It is necessary for those endpoints to set the NUM_BLOCK and BLSIZE for the receiving buffer in both, USB_COUNTn_TX and USB_COUNTn_RX. Despite the datasheet showing those fields only for the USB_COUNTn_RX register
2023-01-05 16:23:53 +01:00
Mengsk
8c591e2c45
More warning fixes
2023-01-04 12:40:01 +01:00
pete-pjb
f5cffeedec
Fix typo in audio.h. Specifiy _ctrl_xfer struct in CFG_TUSB_MEM_SECTION
...
Add NULL check to loop in list_remove_qhd_by_addr() function in ehci.c
2023-01-03 10:33:36 +00:00
Mengsk
82f105e32b
Fix IAR warning: Warning[Pe381]: extra ";" ignored
2023-01-02 21:18:10 +01:00
Mengsk
69475cd1bf
Remove tu_stm32_sof_cb
2023-01-02 12:06:26 +01:00
Mengsk
7228239eb9
Clean up.
2023-01-02 09:43:48 +01:00
Mengsk
51bb27a131
Optimize descriptor looping.
2022-12-31 13:37:22 +01:00
Mengsk
fc32280f42
Fix buffer allocation overflow.
2022-12-30 15:10:00 +01:00
Mengsk
21bdafcfef
Add ISO buffer allocation.
2022-12-30 01:08:04 +01:00
Mengsk
07ad64adfe
Do not set USB_EP_RX_NAK for ISO EP.
2022-12-29 23:30:24 +01:00
Mengsk
db65759b1e
Use weak for dcd_edpt_iso_alloc/dcd_edpt_iso_activate
2022-12-29 23:29:50 +01:00
Mengsk
0bd41d5354
Fix CI.
2022-12-29 21:37:44 +01:00
Mengsk
e4f07206f8
UAC : Enable fifo based transfer on stm32_fsdev
2022-12-29 19:34:12 +01:00
Mengsk
fe8c170c98
Add dcd_edpt_iso_alloc() / dcd_edpt_iso_activate() for ISO EP buffer management.
2022-12-29 19:19:27 +01:00
Mengsk
cece59df22
Generally enable ISO xfer.
2022-12-29 12:33:44 +01:00
Mengsk
ef2f17a514
Add hardware endpoint allocator.
2022-12-29 12:33:43 +01:00
Mengsk
b156a8b78c
dcd_stm32_fsdev : Implement FIFO transfer correctly.
2022-12-29 12:33:43 +01:00
Mengsk
17990025bb
dcd_stm32_fsdev : Fix index out of bound in dcd_write_packet_memory()
...
If src is odd then src[wNBytes] is accessed.
2022-12-29 12:33:43 +01:00
Simon Kueppers
1d37f5ef9b
Added improvements with regards to SOF timing jitter
2022-12-29 12:33:16 +01:00
Simon Kueppers
76413a95d4
Added TU_ATTR_ALWAYS_INLINE to all static inline functions
2022-12-29 12:29:47 +01:00
Simon Kueppers
9ec21248d7
Fixed various small problems and inaccuracies regarding ISOCHRONOUS endpoint
2022-12-29 12:29:47 +01:00
Mengsk
b4b619abd6
SHA-1: 5cb3ed518301e2237ee4e468e97e51ece0ba3838
...
* Correct handling of SOF interrupt
2022-12-29 12:29:28 +01:00
Mengsk
8327090171
Merge branch 'master' of https://github.com/hathach/tinyusb into stm32_fsdev
2022-12-29 12:14:52 +01:00
Simon Kueppers
d584b07e2c
Fixed problem where the transmit byte count was written into the wrong register on ISOCHRONOUS endpoints
2022-12-29 12:13:56 +01:00
Simon Kueppers
510720b396
Renamed pcd_set_ep_rx_cnt because it actually sets the maximum buffer size
2022-12-29 12:13:56 +01:00
Simon Kueppers
9a84390878
Changed comments, added define to fail if ISOCHRONOUS endpoint is not available but requested
2022-12-29 12:13:56 +01:00
Simon Kueppers
ec826732fc
Fixed non-aligned allocated memory sizes
2022-12-29 12:13:56 +01:00
Simon Kueppers
abf53f9270
Changed indirection from actual endpoint address to hardware endpoint through lookup table. Allocation of endpoint is now only performed in dcd_edpt_open
2022-12-29 12:13:56 +01:00
Simon Kueppers
8c0388f477
Fixed wrongly enabling RX and TX status simultaneously on ISOCHRONOUS endpoints
2022-12-29 12:13:56 +01:00
Simon Kueppers
d9b2c9934a
Implemented an optional callback function that is used instead of tu_edpt_number in the stm32 device driver as a crude tool to control mapping of the endpoint address to actual endpoint register
2022-12-29 12:13:56 +01:00
Simon Kueppers
6d65eaf7a1
Implemented very rudimentary support for isochronous transfer buffer handling
2022-12-29 12:13:55 +01:00
Staacks
95ba158a10
Fix UVC probe and commit on MacOS
2022-12-27 23:02:33 +01:00
hathach
d0ca6ca8f7
fix ncm warning
2022-12-27 18:21:56 +07:00
Ha Thach
301b6af6c6
Merge pull request #1801 from tyustli/tyustli_sem_reset
...
[add] semaphore reset support for rt-thread
2022-12-26 13:09:47 +07:00
hathach
48d4a67ec5
add tuh_cdc_peek()
2022-12-24 01:11:13 +07:00
hathach
15a02d04df
fix incorrect rx buf in cdc
2022-12-22 21:35:55 +07:00
Ha Thach
2777df411f
Merge pull request #1809 from hathach/host-cdc
...
Support Host CDC
2022-12-22 21:29:00 +07:00
hathach
396716cc2c
clean up
2022-12-22 20:26:32 +07:00
hathach
f33883c308
add tuh_cdc_get_local_line_coding()
2022-12-22 19:41:39 +07:00
hathach
14d45b580e
correct host cdc enum
2022-12-22 19:17:09 +07:00
hathach
05c119ce97
cdc host, add set line coding API
2022-12-22 18:28:06 +07:00
hathach
11233e4d3e
minor clean up
2022-12-22 11:43:57 +07:00
hathach
c99af908f1
fix typo
2022-12-22 11:41:27 +07:00
hathach
2d536123c8
finish moving edpt stream to tusb.c
2022-12-22 11:31:37 +07:00
hathach
e3c9d94500
fix stream read count computation
2022-12-22 11:16:39 +07:00
hathach
8323e4b79a
moving edpt_stream API into common tusb.c
2022-12-22 08:52:01 +07:00
hathach
9e8ea44925
add tuh_cdc_write_clear, rename read_flush() to read_clear()
2022-12-21 17:49:50 +07:00
hathach
cd9008e5a9
add tuh_cdc_tx_complete_cb() callback
2022-12-21 13:05:45 +07:00
hathach
84a483f5ea
add more host cdc API
...
tuh_cdc_write_available(), tuh_cdc_read_flush(), tuh_cdc_rx_cb()
callback
2022-12-21 12:47:00 +07:00
hathach
edc559cb4d
fix ci
2022-12-21 12:29:51 +07:00
hathach
badb30a6c3
correct cdc host app
2022-12-21 12:25:13 +07:00
hathach
22b62f8712
add tu_edpt_stream_write_zlp_if_needed()
2022-12-21 12:07:12 +07:00
hathach
76021c7359
rename tud_edpt_stream_write_xfer
2022-12-21 11:49:28 +07:00
hathach
cb2af4c0bc
minor debug log
2022-12-21 11:46:58 +07:00
hathach
d1ea3844f7
rename TU_LOG_VAR to TU_LOG_PTR, print out setup of failed control transfer when LOG=1
2022-12-21 11:04:57 +07:00
hathach
37529c41da
fix ci
2022-12-21 10:46:47 +07:00
hathach
854e5222ae
finalizing cdc host, has a working read/write
...
TODO: first character seems not to get echoed. set control line state
seems to failed with LOG < 2
2022-12-21 00:26:46 +07:00
hathach
7004914d8c
fix hid host incorrect edpt release if failed to transmit
...
add CDC_CONTROL_LINE_STATE_DTR/RTS, TUSB_INDEX_INVALID enum
2022-12-20 12:06:59 +07:00
jbruneaux31
a46ad8fcdf
Update osal_freertos.h
...
Fix FreeRTOS task switch even if not required (unitialized variable usage)
2022-12-19 13:58:54 +01:00
tyustli
e992ff46d2
Update osal_rtthread.h
2022-12-19 17:25:35 +08:00
tyustli
7d76c172db
[add] semaphore reset support for rt-thread
...
add semaphore reset support for rt-thread
2022-12-19 17:18:47 +08:00
hathach
fc9321ce26
correct cdc usbh_driver_set_config_complete()
2022-12-16 23:54:21 +07:00
hathach
4811b3463f
stub
2022-12-16 17:08:37 +07:00
hathach
bd1f7f86ce
add common EPSIZE for bulk/iso in full and highspeed
...
adding cdc host fifo tx/rx
2022-12-16 17:08:37 +07:00
hathach
f62f973956
minor rename
2022-12-16 17:08:37 +07:00
hathach
f0c51eae44
cdc check for bNumEndpoints before checking for endpoint descriptor
2022-12-16 17:08:37 +07:00
hathach
4f03695084
adding tuh_cdc_mount_cb/tuh_cdc_umount_cb
...
start adding cdc_app.c to example
2022-12-16 17:08:37 +07:00
Ha Thach
159aa599be
Merge pull request #1799 from hathach/update-osal-mutex
...
Update osal mutex
2022-12-16 17:05:25 +07:00
hathach
660343d200
update fifo per PanRe review
2022-12-16 16:55:25 +07:00
hathach
1e99480ad2
fix ci with usbh and unit test
2022-12-16 15:19:40 +07:00
hathach
96d2be905b
fix build with usbtmc
2022-12-15 18:47:54 +07:00
hathach
88e6da7273
use OSAL_MUTEX_REQUIRED to replace CFG_FIFO_MUTEX/TUSB_OPT_MUTEX
...
add macro to swallow mutex API in order to simplify code with mutex
2022-12-15 18:03:01 +07:00
hathach
a05adfce86
fix midi MS Header wTotalLength computation
2022-12-14 14:38:40 +07:00
hathach
04a5c03ea8
fix int conversion warnings
2022-12-12 11:54:33 +07:00
hathach
ce064de6fd
clean up
2022-12-10 00:18:11 +07:00
hathach
82852774a7
add fifo implementation note
...
- handle/fix double overflowed with write()
- other minor clean upp
2022-12-09 18:20:09 +07:00
Ha Thach
f4f85bad54
Merge pull request #1783 from scoudreau/usbtmc-high-speed
...
usbtmc: correct packet size bug
2022-12-09 09:52:23 +07:00
scoudreau
007ed1f0fe
Added missing typecast to pass build checks
2022-12-08 14:50:34 +01:00
Sebastien COUDREAU
071da47944
Correct interrupt polling interval in descriptor
...
Use macro argument instead of 0x16 constant value.
At least Linux kernel was complaining about this value:
"config 1 interface 0 altsetting 0 endpoint 0x82 has an invalid bInterval 22, changing to 8"
(warning obtained using usbtmc device config)
2022-12-08 11:44:15 +01:00
Sebastien COUDREAU
15ab35d9b8
usbtmc: correct packet size bug
...
Code was only reading the first 64 bytes of a 512 bytes packet.
2022-12-08 11:35:32 +01:00
hathach
3e32fa36b8
enhance tu fifo
...
- rename wr/rd absolute to index, and rel to pointer.
- fix crash with _tu_fifo_remaining()
- change get_relative_pointer() to idx2ptr() and merge with _ff_mod()
2022-12-08 16:39:24 +07:00
hathach
19400c8556
fix typo, add -Wno-error=unreachable-code for fuzz due to latest cdc changes
2022-12-08 10:30:22 +07:00
Tomas Rezucha
603effbb77
cdc: Fix autoflush for FIFO < MPS
2022-12-06 07:49:26 +01:00
Ha Thach
f03c28ec31
Merge pull request #1776 from hathach/hid-fido
...
Hid fido
2022-12-05 14:32:49 +07:00
hathach
d58120647a
rename to match fido sample uf2_hid..h
2022-12-05 13:18:05 +07:00
Ha Thach
71a5906865
Merge pull request #1767 from pete-pjb/master
...
Allow the use of non-static allocation for FreeRTOS mutexes & queues
2022-12-05 12:45:48 +07:00
hathach
de5a67bf3b
clean osal_freertos, update freertos examples to work with configSUPPORT_DYNAMIC_ALLOCATION only
...
note: for example to build with configSUPPORT_STATIC_ALLOCATION = 0, one
of heap_n.c must be included in makefile/cmake
2022-12-05 12:09:41 +07:00
hathach
43b255f413
more typos
2022-12-04 19:44:01 +07:00
Bastien Nocera
6a2cf67289
Fix typos
2022-12-04 19:43:23 +07:00
pete-pjb
52261ac02d
Back out another of my changes I am still investigating.
2022-12-02 10:13:35 +00:00
pete-pjb
3816869fce
Some reverts and changes after discussion.
2022-12-02 10:00:19 +00:00
pete-pjb
c31b95c916
Added CFG_TUSB_MEM_SECTION define to struct _ctrl_xfer in usbh.c
2022-12-01 17:53:35 +00:00
PeterB
ae588d796e
Alter tuh_task_ext() function so no need to return when using FreeRTOS
2022-12-01 16:06:15 +00:00
pete-pjb
25abb10de1
Fix white space issue.
2022-11-30 13:26:59 +00:00
Pete Bone
0ddd5591af
Merge branch 'hathach:master' into master
2022-11-30 13:43:45 +01:00
Gordon McNab
aceab1dcf3
Merge branch 'hathach:master' into port-ft90x
2022-11-30 12:16:52 +00:00
hathach
c9c7dfa868
more clean up
2022-11-30 18:59:58 +07:00
hathach
069215c538
white spaces
2022-11-30 18:58:30 +07:00
Gordon McNab
fe63e30a44
Add FT9xx for cdc_dual_ports
...
Fix handling of interrupt endpoints. i.e. no ZLPs.
Fix the assignation of endpoint types.
Add button support for MM900evx boards.
On board support do not block for UART input.
2022-11-30 11:46:13 +00:00
pete-pjb
d588167a39
Modify FreeRTOS integration to allow non-static allocation.
2022-11-30 11:33:24 +00:00
Ha Thach
2ae6a4d519
Merge pull request #1755 from rppicomidi/fix_1721
...
Fix RP2040 Issue 1721
2022-11-30 18:00:27 +07:00
Gordon McNab
7d8d3eca73
Fix transfers issues with FT9xx
...
Correct USB FIFO use for setup data phases (OUT transfers). We cannot stop traffic on the control endpoint so we set a flag and pull data from host when tinyUSB requests it from the USB FIFO. Extend this for all endpoints although currently not required.
Rename all instances of ft90x which can apply to ft93x as ft9xx.
Add support for the cdc_dual_ports example for ft9xx.
Add LED pin definition for board LED in a simple to access place on the Bridgetek MM900EVx boards.
2022-11-29 18:49:23 +00:00
Gordon McNab
1fce76ad47
Fix issue with the CDC SetLineCoding request
...
The SetLineCoding would fail as host would send the SETUP OUT phase before tinyUSB had setup a transaction for it. ft9xx port would ignore the transfer since there was no valid transaction setup for it. One SETUP data phase packet is cached now.
2022-11-28 17:41:00 +00:00
hathach
be6f6f2c99
increase delay between attempts to 100ms
2022-11-28 23:43:52 +07:00
hathach
b2a3f33046
Retry a few times with transfers in enumeration since device can be unstable when starting up
2022-11-28 23:22:10 +07:00
rppicomidi
9825fbe9ac
Fix RP2040 Issue 1721
2022-11-23 13:12:31 -08:00
hathach
7298923927
rework tuh_msc_complete_cb_t signature to use new tuh_msc_complete_data_t
...
add user arg to all scsi command API that support complete callback
2022-11-23 16:01:48 +07:00
hathach
460bef9dbb
host msc example work well with rp2040 pio-usb
2022-11-21 15:49:38 +07:00
hathach
64ecf43663
whitespace
2022-11-21 11:53:15 +07:00
Ha Thach
2dc7a62361
Merge pull request #1738 from kaysievers/midi-port-names
...
MIDI: support port name strings
2022-11-16 16:36:13 +07:00
Kay Sievers
abfcdf2cfb
MIDI: support port name strings
...
This allows to set custom descriptive names for virtual MIDI
ports/cables. A MIDI port offers different functionality on
the same physical USB device. The names make it easier to
distinguish one from the other.
2022-11-11 22:48:29 +01:00
Mengsk
f3f3739073
Fix DCD build.
2022-11-07 13:38:35 +01:00
Mengsk
9d3d8fd5b0
Merge branch 'master' of https://github.com/hathach/tinyusb into bsp_412
2022-11-07 12:47:41 +01:00
Mengsk
1eae139aa9
Add support for STM32L412.
2022-11-07 12:32:36 +01:00
hathach
d2c9b8bcfb
fix -wconversion-int and add minor comment
2022-11-04 16:14:35 +07:00
Ha Thach
b554c2ed83
Merge branch 'master' into rp2040-hcd-bulk
2022-11-04 15:42:50 +07:00
Ha Thach
28f49c088b
Merge pull request #1698 from battlesnake/fix-attrs-on-struct-member
...
do not apply storage attributes to member of struct
2022-10-25 15:23:09 +07:00
Mark K Cowan
815c2cc995
keep alignment spec
2022-10-24 20:36:45 +03:00
Ha Thach
5b1b383d2a
Merge pull request #1676 from tswan-quasi/master
...
dcd_lpc_ip3511: isochronous support and endpoint accidental write fix
2022-10-24 19:08:58 +07:00
hathach
e3b7ed9ae9
use dummy for all ZLP for ip3511, fix lpc55 build with DEBUG=1
2022-10-24 18:43:21 +07:00
tswan-quasi
35e1a27c95
unused (void) cast
2022-10-21 15:06:30 -04:00
Ha Thach
bfcdef499a
Merge pull request #1690 from tore-espressif/fix/espressif/iso_transfers
...
esp: Fix Isochronous transfers
2022-10-22 00:34:38 +07:00
Mark K Cowan
4ec1643bdb
do not apply storage attributes to member of struct
2022-10-20 22:46:21 +03:00
tswan-quasi
0b55047081
typo fix
2022-10-20 11:04:49 -04:00
tswan-quasi
fe4278554b
dummy buffer only on EP0 OUT ZLPs
2022-10-20 11:02:57 -04:00
Ha Thach
39be00975c
Merge pull request #1680 from LynnL4/port-stm32u5xx
...
Port stm32u5xx
2022-10-19 23:10:30 +07:00
Ha Thach
e79325adec
Merge pull request #1668 from kkitayam/add_support_for_mjpeg
...
Add support for MJPEG on UVC
2022-10-19 23:10:11 +07:00
Ha Thach
2cd4e27e98
Merge pull request #1523 from maddyaby/dcd_edpt_open
...
Allow more endpoint packet sizes for SAMD
2022-10-19 22:56:36 +07:00
Tomas Rezucha
a49ca795af
esp: Fix Isochronous transfers
...
On ESP32-S2/S3 ISO transfers must be configured for even or odd frame.
Closes https://github.com/hathach/tinyusb/issues/1382
2022-10-18 08:05:13 +02:00
hathach
3f45f37672
minor rename
2022-10-17 23:13:24 +07:00
gaoyichuan
3846d5f38c
hid: add configurable report size for fido
2022-10-15 19:22:21 +08:00
gaoyichuan
2a520fb921
hid: add fido hid descriptor templates
2022-10-15 19:07:07 +08:00
Ha Thach
154821acc0
Merge pull request #1646 from battlesnake/feedback-prototype-fix
...
audio_device: prototype added for function referenced before use
2022-10-14 16:28:26 +07:00
tswan-quasi
2c1ff2673b
(void) rhport for unused parameter
2022-10-13 11:48:30 -04:00
LynnL4
4238467b2d
Add support for STM32U5 mcu
2022-10-13 17:39:42 +08:00
tswan-quasi
930c68278c
double cast of pointer to remove error
2022-10-12 11:16:35 -04:00
kkitayam
53dc9d55b5
Fix pointer type to calculate streaming parameter
2022-10-12 20:41:03 +09:00
tswan-quasi
16f1554a03
lpc55s69 isochronous, dummy address for endpoint buffers to prevent accidental writes
2022-10-11 09:59:28 -04:00
Ha Thach
a95fb36f72
Merge pull request #1623 from SudoMaker/master
...
Initial PIC32MM/MX & PIC24 support
2022-10-10 20:18:01 +07:00
kkitayam
4be7ffd63f
Fix max payload size to clip at 1023
2022-10-07 21:30:03 +09:00
ReimuNotMoe
8096afc6de
Microchip PIC24/dsPIC33 device mode support
2022-10-06 03:45:51 +08:00
mingpepe
988eeb50c6
Fix typo for log in dcd_rp2040.c
2022-10-05 21:26:22 +08:00
kkitayam
ee832e4e37
Fix descriptor searching
2022-10-03 21:41:58 +09:00
Mark K Cowan
6c3c2df823
audio_device: prototype added for function referenced before use
2022-09-17 21:27:04 +03:00
Ben Avison
73f22e31c7
[rp2040] Wrap GCC pragmas in #ifdef __GNUC__
...
IAR generates warning Pe161 'unrecognized #pragma'.
2022-09-13 18:00:51 +01:00
Ben Avison
01edbb8af6
IAR doesn't support __attribute__((fallthrough))
...
IAR generates warning Pa167 'the "fallthrough" attribute is not supported'.
It doesn't generate warnings when one switch case falls through to another,
so simply make TU_ATTR_FALLTHROUGH expand to an empty string.
Also replace one instance of __attribute__ with the macro.
2022-09-13 18:00:51 +01:00
Ben Avison
62d90c8500
Move variable into its own curly-brace scope
...
IAR generates warning Pe546 'transfer of control bypasses initialization of
variable "invInvTag"'.
2022-09-13 18:00:51 +01:00
Ben Avison
caff3b5c54
Remove unused static data
...
This affects struct rspMsg in usbtmc_app.c (unconditionally) and uint8_t
termChar in usbtmc_device.c (when NDEBUG is defined). IAR generates warning
Pe550 'variable was set but never used'.
2022-09-13 18:00:51 +01:00
Ben Avison
6a2d01bae4
Don't assume different enum types can be combined
...
IAR generates warning Pa089 'enumerated type mixed with another enumerated
type'.
2022-09-13 18:00:51 +01:00
Ben Avison
53f0d5538b
Don't assume ints automatically convert to enums
...
IAR generates warning Pe188 'enumerated type mixed with another type'.
2022-09-13 18:00:50 +01:00
Ben Avison
65ba15c37d
Remove unreachable code
...
IAR generates warning Pe111 'statement is unreachable'. In a couple of
cases, replace return statements with TU_ATTR_FALLTHROUGH; because some
compilers apparently can't figure out that the return statements are
unreachable but do whinge about an imagined fall-through without them!
2022-09-13 18:00:50 +01:00
Ben Avison
16518dcbbb
Refactor pointer arithmetic on void*
...
This is a GCC extension, illegal in ISO C. IAR generates errors Pa152
'these operand types cannot be used here' and Pe852 'expression must be a
pointer to a complete object type'.
Replace with uint8_t*.
2022-09-13 18:00:49 +01:00
kkitayam
1debf62707
Fix compile errors
2022-09-13 21:22:02 +09:00
kkitayam
e80714740c
Change images to MJPEG
2022-09-13 21:22:02 +09:00
Ha Thach
111515a29c
Merge pull request #1629 from jmark1m/master
...
Fix bug #1628 by preventing shared irq slots for filling up
2022-09-13 15:08:12 +07:00
Jerzy Kasenberg
3133cacc6a
nrf5x: Fix reception of large ISO packets
...
ISO packet size is up to 1023 for full speed device.
Upon completion of ISO reception, reported length of incoming packet
was truncated to one byte only.
This results in incorrect data stream for higher bit rates
48 samples * 4 bytes per sample * 2 channels = 384 bytes of data
and 128 was reported.
There is no change in logic extending xact_len to uint16_t fixes the issue.
2022-09-13 08:11:56 +02:00
hathach
7a48b1f0d1
re-added code in pr 1438 to fix compile with h7 with 1 usb otg
2022-09-13 11:04:48 +07:00
Ben Avison
6dfc857b91
[rp2040] Explicit cast value of `hw_set_alias`
...
Some compilers don't support the GNU extension `typeof` so their definitions
of `hw_set_alias` can't inherit their type from their argument, and the best
we can do is have `hw_set_alias` act the same as `hw_set_alias_untyped`.
This requires an explicit cast when the macro is used instead, otherwise
IAR generates error Pe132 'expression must have pointer-to-struct-or-union
type but it has type "void *"'.
The same goes for `hw_clear_alias`.
2022-09-12 18:46:09 +01:00
Ben Avison
e5355d0335
[rp2040] Remove non-portable return statements
...
IAR generates error Pe118 'a void function may not return a value'.
2022-09-12 18:46:09 +01:00
jmark1m
0931b52b66
Fix bug #1628 by preventing shared irq slots for filling up
2022-09-07 15:10:44 -05:00
ReimuNotMoe
c5992edc7d
Initial PIC32MM/MX & PIC24 support
2022-09-03 05:19:50 +08:00
Jerzy Kasenberg
5e3cfe7b57
nrf5x: Fix endpoint internal state when closed
...
Field started (regardind transfer) was only cleaed when transfer
was finished.
For audio devices set interface is called many times.
When there is no audio (silence) set interface requests zero
lenght bandwithd that in turn calls dcd_edpt_close().
When endpoint is closed due to set interface request transfer
should not longer be started since it will block next start transfer
with assert.
This just sets 'started' to false when endpoint is closed.
2022-08-26 08:10:15 +02:00
Ha Thach
f6c1ce5b1c
Merge pull request #1569 from hathach/release-0.14.0
...
increase version to 0.14.0 for release
2022-08-19 21:13:09 +07:00
Ha Thach
792b2fb956
Merge pull request #1603 from Ryzee119/hub_improv
...
Host hub clear port and device interrupts
2022-08-17 15:03:48 +07:00
Ryzee119
2b2354d302
Hub: Clear other port feature changes
2022-08-16 18:25:46 +09:30
Ryzee119
3c7b5dcaff
Hub: Handle hub device status change interrupt
2022-08-16 18:25:43 +09:30
Ha Thach
585f37a797
Merge pull request #1489 from kasjer/kasjer/fix-nrf5x-dma-access
...
nrf5x: Fix DMA access
2022-08-15 21:30:39 +07:00
Ryzee119
aafea8ef5d
Hub: Rename port status callback to be more generic
2022-08-15 17:43:04 +09:30
Ryzee119
5efef4393c
Hub: Expand hub helpers to handle device events
2022-08-15 17:42:56 +09:30
Jerzy Kasenberg
c7469ce986
dfu: Allow DFU coexistence with other interfaces
...
dfu_moded_open() only works correct when its called on DFU interface
descriptor. It means that DFU is the only one interface in configuration
or driver is called after all others interface drivers were tried and
gave up.
If other interface is supported and but driver for DFU is called first
(this is the case for BTH and RNDIS).
Code after while loop (that was not entered) has an TU_ASSERT that will
make set_configuration to fail.
Now TU_VERIFY is called first to make sure open code is called for DFU
only and not other interface descriptors like in other drivers.
2022-08-09 10:42:30 +02:00
hathach
a219ba86ea
fix issue with TUD_OPT_HIGH_SPEED
2022-08-01 14:52:29 +07:00
Ha Thach
fd5bb6e5db
Merge pull request #1514 from maddyaby/audiod_typo
...
Fix typo in audiod_rx_done_cb in audio_device.c
2022-07-19 17:10:45 +07:00
hathach
b0b155c949
increase version for release
...
along with minor doc update
2022-07-19 12:28:52 +07:00
Ha Thach
ed2e587ace
Merge pull request #1568 from hathach/revert-hid-callback-len-temporarily
...
temporarily revert len back to uint8_t in tud_hid_report_complete_cb() 0.14.0 release
2022-07-19 12:16:32 +07:00
Ha Thach
2110e27678
Merge pull request #1531 from pigrew/usbtmc_highspeed
...
USBTMC: Fixes and support for high-speed USB
2022-07-18 22:20:43 +07:00
hathach
b495d6f8ec
temporarily revert len back to uint8_t in tud_hid_report_complete_cb() for up coming release
2022-07-17 22:56:07 +07:00
hathach
7e4c0f64cd
abtract attribute fallthrough
2022-07-14 18:39:47 +07:00
graham sanderson
4bd47bcb99
disable bad gcc 6 warning
2022-07-12 13:29:47 -05:00
graham sanderson
fc1a27b6c9
RP@040: rework CMake for compiler warnings
2022-07-12 12:58:30 -05:00
hathach
345558307d
fix incorrect null-dereference warnings when compiling with gcc7
2022-07-12 00:50:52 +07:00
Ha Thach
0bfb9d62de
Merge pull request #1543 from robert-hh/1170_0.13.0
...
mimxrt: Change the definitions for MIMXRT boards.
2022-07-11 15:53:24 +07:00
hathach
19768936ae
bump up mcux-sdk for rt11xx, add back OPT_MCU_MIMXRT11XX
2022-07-11 14:01:18 +07:00
NConrad
54250d7dd5
USBTMC: explicit type conversions fix
2022-07-09 17:50:17 -04:00
robert-hh
ec6f56768a
mimxrt: Change OPT_MCU_MIMXRT1xXX to OPT_MCU_MIMXRT.
...
Which fits both MIMXRT10XX and MIMXRT11XX.
2022-07-01 09:04:36 +02:00
robert-hh
60c1750a9b
mimxrt: Add/change definitions for MIMXRT11XX boards.
...
These are mostly identical to the MIMXRT10XX, with one tiny difference.
2022-06-30 22:21:31 +02:00
hathach
9ec92ff97b
rp2040 enable SOF as resumed signal when remote wakeup
2022-06-30 15:45:04 +07:00
Ha Thach
19956f070d
Merge pull request #1539 from hathach/improve-ci
...
Improve ci
2022-06-29 16:27:17 +07:00
hathach
8fe9022a6e
fix buid_board.py script
2022-06-29 14:06:44 +07:00
graham sanderson
b12863d27c
Fix actual compiler warning on gcc 10.3.1
2022-06-29 07:28:35 +01:00
robert-hh
bc4da2047b
samd: Fix a lock-up situation at high traffic.
...
This PR fixes a transmit lock-up, which happens, when data is received
and sent at the sime time at moderate to high speeds, like code
which just echoes incoming data.
In my case, an issue was reported here:
https://github.com/micropython/micropython/issues/8521
2022-06-27 20:31:44 +02:00
hathach
25580b4fe9
use forloop to avoid -Warray-bounds with host setup packet
2022-06-27 21:05:41 +07:00
hathach
9c56f70111
suppress error with net example
2022-06-27 20:30:47 +07:00
hathach
a0ef489890
fix all warnings with host rp2040
2022-06-27 17:11:24 +07:00
hathach
6522a8150e
fix all device examples warnings
2022-06-27 13:48:47 +07:00
hathach
1a1f633922
Merge branch 'master' into add-more-warnings
2022-06-27 12:50:50 +07:00
hathach
556b5d5044
change report len in hid API from uint8_t to uint16_t
...
since HS interrupt endpoint can be up to 1024, 8-bit is not enough.
affected APIs are:
- tud_hid_n_report() / tud_hid_report()
- tud_hid_report_complete_cb()
2022-06-27 12:22:36 +07:00
hathach
0b3503cb33
clean up usbd log level
2022-06-27 11:56:48 +07:00
hathach
b9dc9dbd78
fix most warnings with rp2040 -wconversion
2022-06-27 11:50:17 +07:00
NConrad
c675debfb2
USBTMC: Handle busy interrupt in.
2022-06-26 14:34:34 -04:00
NConrad
239b5d5279
USBTMC: Manually stall and unstall EP when clear(ENDPOINT_HALT) is received.
2022-06-24 23:06:32 -04:00
hathach
0042eccb3b
fix redundant-decls warnings by usbd/usbh
2022-06-24 22:52:11 +07:00
hathach
4f6e770eda
add more warning option, also fix -Wconversion with rp2040
...
-Wuninitialized, -Wunused, -Wredundant-decls
2022-06-24 19:46:19 +07:00
NConrad
e9c29e6a2d
Update USBTMC driver to support dynamic packet sizes (based on descriptor).
2022-06-21 21:27:52 -04:00
Ha Thach
070382d599
Merge pull request #1509 from liamfraser/rp2040_hcd_improvements
...
RP2040 HCD Improvements (Hub + Keyboard + Mouse working)
2022-06-21 15:55:02 +07:00
Ha Thach
ae8b8f0c93
Merge pull request #1515 from maddyaby/dcd_edpt_close
...
Stub out dcd_edpt_close for samd
2022-06-18 12:40:39 +07:00
Ha Thach
b4e62d1cda
Merge pull request #1518 from mingpepe/master
...
Fix typo for log format
2022-06-18 12:39:16 +07:00
maddyaby
2cc2a90215
Allow more endpoint packet sizes for SAMD
...
Tested on SAMD51 - we can allow more packet sizes by checking that the set size value is greater than the requested packet size instead of exactly the same.
2022-06-17 16:07:32 -07:00
graham sanderson
c45118dacf
rp2040: use shared IRQ handlers, so user can also hook the USB IRQ
2022-06-17 09:13:40 -05:00
mingpepe
1001d2da40
Fix typo for log format
2022-06-17 16:50:24 +08:00
hathach
905a0b2457
correct bulk size for highspeed endpoint in dynamic_configuration and usbtmc exmaples
2022-06-17 14:37:35 +07:00
maddyaby
05fc2fa7a6
Stub out dcd_edpt_close for samd
...
Not having this prevents the device from finishing the mounting process.
Tested on a SAMD51 and didn't seem to need to actually do anything in the close function.
2022-06-16 16:57:20 -07:00
Maddy
e9089b993f
Fix typo in audiod_rx_done_cb in audio_device.c
2022-06-16 16:22:55 -07:00
graham sanderson
c5ba4af25b
rp2040: make moving 1K of code into RAM optional - and off by default
2022-06-16 11:04:48 -05:00