Fix FrameIntervalToggle must be toggled after we write the FrameInterval (Ref OHCI Spec 7.3.1)
Wait PowerOnToPowerGoodTime after we enable power of the RH ports (Ref OHCI Spec 7.4.1)
Generate port interrupts for devices already connected during init.
Fix issue when removing queue head
Disable MIE during IRQ processing and clear HccaDoneHead on completion as per OCHI Spec Page 80
Device Stack
Add optional hooks tud_event_hook_cb()
Audio (UAC2)
Fix feedback EP buffer alignment.
Fix encoding, update example
Improve IN transfer
Bluetooth
Add historical EP compatibility for Bluetooth HCI
CDC
Fix line_coding alignment
Fix typo in cdc line coding enum
MIDI
Fix stream_write() always writes system messages to cable 0
Fix incorrect NOTE_ON, NOTE_OFF definitions
USBTMC: Fix tmc488 bit order
Vendor: fix read()/write() race condition
Video (UVC)
Add the capability for video class to handle a bulk endpoint in the streaming interface.
Host Stack
USBH
Add new APIs: tuh_interface_set(), tuh_task_event_ready(), tuh_edpt_abort_xfer(), tuh_rhport_reset_bus(), tuh_rhport_is_active()
Fix issue when device generate multiple attach/detach/attach when plugging in
Prefer application callback over built-in driver on transfer complete event
Correct hcd_edpt_clear_stall() API signature
Separate bus reset delay and contact debouncing delay in enumeration
Support usbh_app_driver_get_cb() for application drivers
Fix usbh enumeration removal race condition
Add optional hooks tuh_event_hook_cb()
CDC
Breaking: change tuh_cdc_itf_get_info() to use tuh_itf_info_t instead of tuh_cdc_info_t
Fix cdc host enumeration issue when device does not support line request
Add support for vendor usb2uart serial: ftdi, cp210x, ch9102f
Improve sync control API e.g tuh_cdc_set_control_line_state(), tuh_cdc_set_line_coding()
HID
Add new APIs tuh_hid_send_report(), tuh_hid_itf_get_info(), tuh_hid_receive_ready(), tuh_hid_send_ready(), tuh_hid_set_default_protocol()
Change meaning of CFG_TUH_HID to total number of HID interfaces supported. Previously CFG_TUH_HID is max number of interfaces per device which is rather limited and consume more resources than needed.
HUB
Fix handling of empty "status change" interrupt
Fix issue with hub status_change is not aligned
MSC
Fix bug in tuh_msc_ready()
Fix host msc get maxlun not using aligned section memory
What's Changed
Turn data cache on by @ccrome in https://github.com/hathach/tinyusb/pull/1898
Add metro rt1011 by @hathach in https://github.com/hathach/tinyusb/pull/1901
dhserver: Fix a potential DoS vulnerability accidentially introduced by #1712 by @kripton in https://github.com/hathach/tinyusb/pull/1885
Adjust reserved bitfields to make SDCC happy by @jefftrull in https://github.com/hathach/tinyusb/pull/1893
update pico-pio-usb to include data pid fix (0.5.1) by @hathach in https://github.com/hathach/tinyusb/pull/1906
Fix issue 1909 by @rppicomidi in https://github.com/hathach/tinyusb/pull/1910
examples/uac2: Fix mute and volume array lengths by @NullMember in https://github.com/hathach/tinyusb/pull/1853
Minor audio_test example fix. by @HiFiPhile in https://github.com/hathach/tinyusb/pull/1825
fix: Change all static variables to thread when fuzzing by @silvergasp in https://github.com/hathach/tinyusb/pull/1867
use tu_static instead of static _fuzz_thread by @hathach in https://github.com/hathach/tinyusb/pull/1919
Fix ifdefs for disabled uart stdio in rp2040 family by @sinitax in https://github.com/hathach/tinyusb/pull/1796
OHCI usbh, tweaks and improvements by @Ryzee119 in https://github.com/hathach/tinyusb/pull/1491
fix: Replace device calls to memcpy with tu_memcpy_s by @silvergasp in https://github.com/hathach/tinyusb/pull/1852
stm32_fsdev & ISO EP buffer allocation improvements by @HiFiPhile in https://github.com/hathach/tinyusb/pull/1828
add TUP_USBIP_FSDEV and TUP_USBIP_FSDEV_STM32 by @hathach in https://github.com/hathach/tinyusb/pull/1932
fix: Fix wrong destsz used with tu_memcpy_s by @silvergasp in https://github.com/hathach/tinyusb/pull/1937
Fix build on windows and macos by @hathach in https://github.com/hathach/tinyusb/pull/1938
make rp2040 code compile cleanly with LLVM embedded toochain for ARM. by @kilograham in https://github.com/hathach/tinyusb/pull/1933
Minor ci by @hathach in https://github.com/hathach/tinyusb/pull/1941
For STM32H7 BSP boards, initialize RCC_...TypeDef structs as empty by @branalba in https://github.com/hathach/tinyusb/pull/1931
dcd_nrf5x: ISO OUT handling by @kasjer in https://github.com/hathach/tinyusb/pull/1946
Remove submodules and use python script to manage repo dependencies by @hathach in https://github.com/hathach/tinyusb/pull/1947
update get-deps.py by @hathach in https://github.com/hathach/tinyusb/pull/1950
rp2040: include hardware/sync.h explicitly by @dhalbert in https://github.com/hathach/tinyusb/pull/1948
Implemented tuh_hid_send_report by @Tails86 in https://github.com/hathach/tinyusb/pull/1889
Flush the dcd data on reset by @tannewt in https://github.com/hathach/tinyusb/pull/1953
Fix old picosdk by @hathach in https://github.com/hathach/tinyusb/pull/1957
fix HAL_Delay no effect bug on st platform by @tyustli in https://github.com/hathach/tinyusb/pull/1958
Renesas ra family support by @perigoso in https://github.com/hathach/tinyusb/pull/1391
Allow config OS for RP2040 by @howard0su in https://github.com/hathach/tinyusb/pull/1860
Fix host enumerate multiple devices from multiple host controllers by @hathach in https://github.com/hathach/tinyusb/pull/1960
Remove all submodules by @hathach in https://github.com/hathach/tinyusb/pull/1961
add board: DshanMCU Pitaya Lite by @koendv in https://github.com/hathach/tinyusb/pull/1882
Fixes for building with IAR toolchain by @bavison in https://github.com/hathach/tinyusb/pull/1639
Add support for the NXP FRDM-K32L2A4S eval board. by @bpaddock in https://github.com/hathach/tinyusb/pull/1858
Update bsp by @hathach in https://github.com/hathach/tinyusb/pull/1962
more compatible with IAR by @hathach in https://github.com/hathach/tinyusb/pull/1963
add tuh_set_interface by @hathach in https://github.com/hathach/tinyusb/pull/1964
UAC2: fix feedback EP buffer alignment. by @HiFiPhile in https://github.com/hathach/tinyusb/pull/1965
Refactor hid host by @hathach in https://github.com/hathach/tinyusb/pull/1968
rename and change default pio usb pin to adafruit feather usb host by @hathach in https://github.com/hathach/tinyusb/pull/1974
update doc and generate deps list by @hathach in https://github.com/hathach/tinyusb/pull/1975
separate CFG_TUSB_MEM_SECTION/ALIGN to host and device specific macros by @hathach in https://github.com/hathach/tinyusb/pull/1978
Fix tmc488 bit order 1658 by @hathach in https://github.com/hathach/tinyusb/pull/1969
Update net_device.h to make MAC addresses not const. by @MattMills in https://github.com/hathach/tinyusb/pull/1971
fix cdc host enumeration issue when device does not support line request by @hathach in https://github.com/hathach/tinyusb/pull/1979
openh743i: initialize USB3300 reset pin by @raiden00pl in https://github.com/hathach/tinyusb/pull/1999
Vendor device race condition fix by @epatstarkey in https://github.com/hathach/tinyusb/pull/1989
Add STM32L5 support - no OTG similar to some L4s by @jncronin in https://github.com/hathach/tinyusb/pull/2000
Cmake by @hathach in https://github.com/hathach/tinyusb/pull/2006
Add hid host send/recieve ready by @hathach in https://github.com/hathach/tinyusb/pull/2011
fix audio comment error by @tyustli in https://github.com/hathach/tinyusb/pull/2015
Fix spelling configuraiton->configuration by @dauc in https://github.com/hathach/tinyusb/pull/2025
MIDI_CIN_NOTE_ON definition transposed with MIDI_CIN_NOTE_OFF by @mikee47 in https://github.com/hathach/tinyusb/pull/1920
Fix compatibility with the latest Microchip XC16 compiler by @ReimuNotMoe in https://github.com/hathach/tinyusb/pull/2033
[rp2040] Make writes to SIE_CTRL aware of concurrent access by @jfedor2 in https://github.com/hathach/tinyusb/pull/2024
Add cmake build by @hathach in https://github.com/hathach/tinyusb/pull/2039
Handle iMX RT 1042 usb naming by @tannewt in https://github.com/hathach/tinyusb/pull/2013
bump up imxrt mcux-sdk to 2.13.1 by @hathach in https://github.com/hathach/tinyusb/pull/2040
fix build with nxp since mcux-sdk from 2.13.0 remove CMSIS folder by @hathach in https://github.com/hathach/tinyusb/pull/2043
Add usb2uart serial host driver by @hathach in https://github.com/hathach/tinyusb/pull/2046
cdc: fix line_coding aligment by @jbtheou in https://github.com/hathach/tinyusb/pull/2047
Update porting.rst by @slc-tl in https://github.com/hathach/tinyusb/pull/2030
Improve serial host by @hathach in https://github.com/hathach/tinyusb/pull/2051
Add Cmake for imxrt and Fix EHCI PortSC issue by @hathach in https://github.com/hathach/tinyusb/pull/2058
fix(iar_template.ipcf): add missing portable links, and delete the us… by @abakosh in https://github.com/hathach/tinyusb/pull/2057
add support for nrf5340 application core with pca10095 by @hathach in https://github.com/hathach/tinyusb/pull/2065
iMX.RT EHCI add dcache support and other fixes + refactor by @hathach in https://github.com/hathach/tinyusb/pull/2061
Minor build system by @hathach in https://github.com/hathach/tinyusb/pull/2069
Enhance chipidea by @hathach in https://github.com/hathach/tinyusb/pull/2075
fix(RA Host Portable): implement missing function __builtin_ctz(x) by @abakosh in https://github.com/hathach/tinyusb/pull/2063
More build system by @hathach in https://github.com/hathach/tinyusb/pull/2081
More build2 by @hathach in https://github.com/hathach/tinyusb/pull/2084
Even when we get an empty "status change" interrupt from the hub, schedule another interrupt poll by @ipopov in https://github.com/hathach/tinyusb/pull/2016
add lto for cmake by @hathach in https://github.com/hathach/tinyusb/pull/2088
STM32G0 support by @HubertD in https://github.com/hathach/tinyusb/pull/1942
Fix diagnostic format string (missing %u) by @DRNadler in https://github.com/hathach/tinyusb/pull/2089
Stm32g4 by @hathach in https://github.com/hathach/tinyusb/pull/2092
fix(RA Host Portable): git rid of the IAR warnings for packed by @abakosh in https://github.com/hathach/tinyusb/pull/2077
movement of TOP in c0ecf8b5 broke RP2040 SDK build by @kilograham in https://github.com/hathach/tinyusb/pull/2100
Initial support for USB PD stack by @hathach in https://github.com/hathach/tinyusb/pull/2104
fix usbh issue when device genreate multiple attach/detach/attach when plugging in by @hathach in https://github.com/hathach/tinyusb/pull/2107
Typec rename by @hathach in https://github.com/hathach/tinyusb/pull/2109
Chipidea fs by @hathach in https://github.com/hathach/tinyusb/pull/2110
Add the capability for video class to handle a bulk endpoint in the streaming interface. by @kkitayam in https://github.com/hathach/tinyusb/pull/1985
Minor naming opt mcu imxrt by @hathach in https://github.com/hathach/tinyusb/pull/2112
correct cmake iar build by @hathach in https://github.com/hathach/tinyusb/pull/2113
Etm trace by @hathach in https://github.com/hathach/tinyusb/pull/2117
Fix typos by @eustas in https://github.com/hathach/tinyusb/pull/2101
Refactor make build by @hathach in https://github.com/hathach/tinyusb/pull/2124
auto detect FAMILY based on BOARD by @hathach in https://github.com/hathach/tinyusb/pull/2125
Rp2040 cmake cleanup by @hathach in https://github.com/hathach/tinyusb/pull/2127
rework cmake with rtos support add RTOS to family_configure_device/host/dual_example() by @hathach in https://github.com/hathach/tinyusb/pull/2128
Fixes bug in tuh_msc_ready by @georgeboc in https://github.com/hathach/tinyusb/pull/2085
add hcd_frame_number() for pio-usb host by @hathach in https://github.com/hathach/tinyusb/pull/2130
Fix minor spelling issues by @dauc in https://github.com/hathach/tinyusb/pull/2129
enhance RA family by @hathach in https://github.com/hathach/tinyusb/pull/2137
Imxrt bsp by @hathach in https://github.com/hathach/tinyusb/pull/2148
fix(RA_hcd): STALL status can be also 3 not only 2 by @abakosh in https://github.com/hathach/tinyusb/pull/2120
Fix host buffer alignment setting by @tannewt in https://github.com/hathach/tinyusb/pull/2146
fix etm trace clock with stm32h743eval board by @hathach in https://github.com/hathach/tinyusb/pull/2149
Fix flash-jlink target to work on Windows command prompt by @kkitayam in https://github.com/hathach/tinyusb/pull/2150
add is_compiler_supported_by_pico_pio_usb() for rp2040 by @kilograham in https://github.com/hathach/tinyusb/pull/2152
Usbh xfer user callback by @hathach in https://github.com/hathach/tinyusb/pull/2156
Board support for XMC4700_RELAX by @jferreir in https://github.com/hathach/tinyusb/pull/2155
update bsp for 4088 by @hathach in https://github.com/hathach/tinyusb/pull/2172
change dcache clean/invalidate return type to bool by @hathach in https://github.com/hathach/tinyusb/pull/2173
Add HCD abort xfer API by @hathach in https://github.com/hathach/tinyusb/pull/2175
correct hcd_edpt_clear_stall() API signature by @hathach in https://github.com/hathach/tinyusb/pull/2182
Enhance EHCI by @hathach in https://github.com/hathach/tinyusb/pull/2179
osal_none: make it possible to override the task delay function by @abakosh in https://github.com/hathach/tinyusb/pull/2093
Fixed typo in binary declaration RP2040 hw bspw family.c by @0xCCF4 in https://github.com/hathach/tinyusb/pull/2187
Fix STM32G0 build. by @HiFiPhile in https://github.com/hathach/tinyusb/pull/2197
default class driver log level to CFG_TUH/TUD_LOG_LEVEL by @hathach in https://github.com/hathach/tinyusb/pull/2200
For FreeRTOS kernel-aware debugging, when queue registry is enabled, … by @DRNadler in https://github.com/hathach/tinyusb/pull/2091
Add CDC+UAC2 composite device example for Pico by @kholia in https://github.com/hathach/tinyusb/pull/2105
Renesas_RA: add support for board with HS USB port by @facchinm in https://github.com/hathach/tinyusb/pull/2052
Renesas ra hs rebased from #2052 by @hathach in https://github.com/hathach/tinyusb/pull/2192
fix example of bare_api, check empty string by @dsugisawa-mixi in https://github.com/hathach/tinyusb/pull/2116
Update support for Cynthion boards by @mndza in https://github.com/hathach/tinyusb/pull/2133
Enhance bsp by @hathach in https://github.com/hathach/tinyusb/pull/2204
made line ends consistent. by @JustAnother1 in https://github.com/hathach/tinyusb/pull/2135
Board support for STM32F407VETx by @ahooper in https://github.com/hathach/tinyusb/pull/2121
add usb serial for hw l412 test by @hathach in https://github.com/hathach/tinyusb/pull/2206
Fix typos in HCD rusb file by @abakosh in https://github.com/hathach/tinyusb/pull/2185
Fix build issues when building for RP2040 from pico-examples/pico-sdk. by @kilograham in https://github.com/hathach/tinyusb/pull/2151
Fix makefile a warning when run on windows command prompt by @kkitayam in https://github.com/hathach/tinyusb/pull/2208
Host usb reset by @hathach in https://github.com/hathach/tinyusb/pull/2211
Enhance HITL test by @HiFiPhile in https://github.com/hathach/tinyusb/pull/2209
Invoke unmounted state on configuration reset by @Rocky04 in https://github.com/hathach/tinyusb/pull/2202
min on cdc r/w by @tswan-quasi in https://github.com/hathach/tinyusb/pull/2219
Add lpc43s67 by @hathach in https://github.com/hathach/tinyusb/pull/2217
fix issue 2188: support usbh_app_driver_get_cb() by @rppicomidi in https://github.com/hathach/tinyusb/pull/2222
EHCI more fixes by @hathach in https://github.com/hathach/tinyusb/pull/2221
Fix documentation symlinks by @sjanc in https://github.com/hathach/tinyusb/pull/2142
Add cmake support for samd21 and samd51 by @hathach in https://github.com/hathach/tinyusb/pull/2246
Add max3421e host driver by @hathach in https://github.com/hathach/tinyusb/pull/2251
Fix msd extraneus bytes on reading by @maidnl in https://github.com/hathach/tinyusb/pull/2245
fix:Resource leak: fp by @slark-yuxj in https://github.com/hathach/tinyusb/pull/2235
Cmake u5 by @hathach in https://github.com/hathach/tinyusb/pull/2258
Add in isr to hcd int hanlder by @hathach in https://github.com/hathach/tinyusb/pull/2269
Update IAR template. by @HiFiPhile in https://github.com/hathach/tinyusb/pull/2268
Add max3421 support for esp32 by @hathach in https://github.com/hathach/tinyusb/pull/2270
More max3421 by @hathach in https://github.com/hathach/tinyusb/pull/2276
Fix UAC encoding, update example. by @HiFiPhile in https://github.com/hathach/tinyusb/pull/2259
Add stm32u575-nucleo support by @gabChouin in https://github.com/hathach/tinyusb/pull/2244
STM32U5 HS Support by @bencowperthwaite in https://github.com/hathach/tinyusb/pull/2265
UAC IN transfer improvements by @HiFiPhile in https://github.com/hathach/tinyusb/pull/2282
Update audio_4_channel_mic example for HS device. by @HiFiPhile in https://github.com/hathach/tinyusb/pull/2289
minor update for max3421 by @hathach in https://github.com/hathach/tinyusb/pull/2291
Add support for stm32u5a5 (highspeed with built-in femtoPHY) by @hathach in https://github.com/hathach/tinyusb/pull/2300
Update doc & add Adafruit as sponsor in readme by @hathach in https://github.com/hathach/tinyusb/pull/2304
remove legacy driver st/synopsys by @hathach in https://github.com/hathach/tinyusb/pull/2305
Add STM32F4 OTG_HS support to BSP by @HiFiPhile in https://github.com/hathach/tinyusb/pull/2302
skip tuh_max3421_spi_cs_api() in hcd_init() by @hathach in https://github.com/hathach/tinyusb/pull/2307
add unique id for u5, also allow to build with OPT_OS_CUSTOM by @hathach in https://github.com/hathach/tinyusb/pull/2308
Add PlatformIO manifest by @Yveaux in https://github.com/hathach/tinyusb/pull/2293
Fix usbh enumeration removal race by @hathach in https://github.com/hathach/tinyusb/pull/2310
Adding extern C to definitions to allow link on C++ project by @jfm92 in https://github.com/hathach/tinyusb/pull/2314
Add BSP for nucleo-g491re by @kasjer in https://github.com/hathach/tinyusb/pull/2315
Typo fix. by @HiFiPhile in https://github.com/hathach/tinyusb/pull/2316
add ra2a1 ek by @hathach in https://github.com/hathach/tinyusb/pull/2317
Update imxrt family by @hathach in https://github.com/hathach/tinyusb/pull/2320
Add dwc2 info of F429. by @HiFiPhile in https://github.com/hathach/tinyusb/pull/2326
Add featherwing max3421e support by @hathach in https://github.com/hathach/tinyusb/pull/2331
fix typo in cdc line coding enum by @hathach in https://github.com/hathach/tinyusb/pull/2334
Update imxrt usbphy by @hathach in https://github.com/hathach/tinyusb/pull/2335
Fix h7 running on fullspeed phy has issue with WFI by @hathach in https://github.com/hathach/tinyusb/pull/2336
Move build file from tools/ to examples/build_system by @hathach in https://github.com/hathach/tinyusb/pull/2339
Add CH32F20x support by @Krasutski in https://github.com/hathach/tinyusb/pull/2278
Add historical EP compatibility to bth class by @antoniovazquezblanco in https://github.com/hathach/tinyusb/pull/2279
Add optional hooks for DCD and HCD events by @projectgus in https://github.com/hathach/tinyusb/pull/2303
add tuh_hid_set_default_protocol() to set default USB host HID protocol (part 2) by @hathach in https://github.com/hathach/tinyusb/pull/2340
Release 0.16.0 by @hathach in https://github.com/hathach/tinyusb/pull/2343
New Contributors
@jefftrull made their first contribution in https://github.com/hathach/tinyusb/pull/1893
@NullMember made their first contribution in https://github.com/hathach/tinyusb/pull/1853
@sinitax made their first contribution in https://github.com/hathach/tinyusb/pull/1796
@branalba made their first contribution in https://github.com/hathach/tinyusb/pull/1931
@dhalbert made their first contribution in https://github.com/hathach/tinyusb/pull/1948
@Tails86 made their first contribution in https://github.com/hathach/tinyusb/pull/1889
@howard0su made their first contribution in https://github.com/hathach/tinyusb/pull/1860
@koendv made their first contribution in https://github.com/hathach/tinyusb/pull/1882
@bavison made their first contribution in https://github.com/hathach/tinyusb/pull/1639
@bpaddock made their first contribution in https://github.com/hathach/tinyusb/pull/1858
@MattMills made their first contribution in https://github.com/hathach/tinyusb/pull/1971
@raiden00pl made their first contribution in https://github.com/hathach/tinyusb/pull/1999
@epatstarkey made their first contribution in https://github.com/hathach/tinyusb/pull/1989
@jncronin made their first contribution in https://github.com/hathach/tinyusb/pull/2000
@dauc made their first contribution in https://github.com/hathach/tinyusb/pull/2025
@mikee47 made their first contribution in https://github.com/hathach/tinyusb/pull/1920
@jfedor2 made their first contribution in https://github.com/hathach/tinyusb/pull/2024
@jbtheou made their first contribution in https://github.com/hathach/tinyusb/pull/2047
@slc-tl made their first contribution in https://github.com/hathach/tinyusb/pull/2030
@abakosh made their first contribution in https://github.com/hathach/tinyusb/pull/2057
@HubertD made their first contribution in https://github.com/hathach/tinyusb/pull/1942
@eustas made their first contribution in https://github.com/hathach/tinyusb/pull/2101
@georgeboc made their first contribution in https://github.com/hathach/tinyusb/pull/2085
@jferreir made their first contribution in https://github.com/hathach/tinyusb/pull/2155
@0xCCF4 made their first contribution in https://github.com/hathach/tinyusb/pull/2187
@kholia made their first contribution in https://github.com/hathach/tinyusb/pull/2105
@facchinm made their first contribution in https://github.com/hathach/tinyusb/pull/2052
@dsugisawa-mixi made their first contribution in https://github.com/hathach/tinyusb/pull/2116
@mndza made their first contribution in https://github.com/hathach/tinyusb/pull/2133
@JustAnother1 made their first contribution in https://github.com/hathach/tinyusb/pull/2135
@ahooper made their first contribution in https://github.com/hathach/tinyusb/pull/2121
@Rocky04 made their first contribution in https://github.com/hathach/tinyusb/pull/2202
@maidnl made their first contribution in https://github.com/hathach/tinyusb/pull/2245
@slark-yuxj made their first contribution in https://github.com/hathach/tinyusb/pull/2235
@gabChouin made their first contribution in https://github.com/hathach/tinyusb/pull/2244
@bencowperthwaite made their first contribution in https://github.com/hathach/tinyusb/pull/2265
@Yveaux made their first contribution in https://github.com/hathach/tinyusb/pull/2293
@jfm92 made their first contribution in https://github.com/hathach/tinyusb/pull/2314
@Krasutski made their first contribution in https://github.com/hathach/tinyusb/pull/2278
@antoniovazquezblanco made their first contribution in https://github.com/hathach/tinyusb/pull/2279
@projectgus made their first contribution in https://github.com/hathach/tinyusb/pull/2303
Full Changelog: https://github.com/hathach/tinyusb/compare/0.15.0...0.16.0