General
- New MCUs:
- Add esp32p4 OTG highspeed support
- Add stm32 u0, c0, h7rs
- Better support dcache, make sure all usb-transferred buffer are cache line aligned and occupy full cache line
- Build ARM IAR with CircleCI
- Improve HIL with dual/host_info_to_device_cdc optional for pico/pico2, enable dwc2 dma test
API Changes
- Change signature of
tusb_init(rhport, tusb_rhport_init_t*)
, tusb_init(void) is now deprecated but still available for backward compatibility - Add new
tusb_int_handler(rhport, in_isr)
- Add time-related APIs:
tusb_time_millis_api()
andtusb_time_delay_ms_api()
for non-RTOS, required for some ports/configuration - New configuration macros:
CFG_TUD/TUH_MEM_DCACHE_ENABLE
enable data cache sync for endpoint bufferCFG_TUD/TUH_MEM_DCACHE_LINE_SIZE
set cache line sizeCFG_TUD/TUH_DWC2_SLAVE_ENABLE
enable dwc2 slave modeCFG_TUD/TUH_DWC2_DMA_ENABLE
enable dwc2 dma mode
Controller Driver (DCD & HCD)
- DWC2
- Add DMA support for both device and host controller
- Add host driver support including: full/high speed, control/bulk/interrupt (CBI) transfer, split CBI i.e FS/LS attached via highspeed hub, hub support
- RP2: implement dcd_edpt_iso_alloc() and dcd_edpt_iso_activate() for isochronous endpoint
- iMXRT1170 support M4 core
Device Stack
- Vendor Fix class reset
- NCM fix recursions in tud_network_recv_renew()
- Audio fix align issue of _audiod_fct.alt_setting
- UVC support format frame based
- Change dcd_dcache_() return type from void to bool
- HID add Usage Table for Physical Input Device Page (0x0F)
Host Stack
- Fix an duplicated attach issue which cause USBH Defer Attach until current enumeration complete message
What's Changed
- Add STM32 B_5585I-IOT2A board by @UweBonnes in #2803
- DWC2 DMA support by @HiFiPhile in #2576
- Migrate hil vm by @hathach in #2822
- HIL have dual/host_info_to_device_cdc optional for pico/pico2 by @hathach in #2823
- Fix vendor class reset. by @HiFiPhile in #2820
- Add esp32p4 OTG HS support by @hathach in #2818
- Ci dwc2 dma by @hathach in #2827
- support stm32U0 device by @Maerdl in #2824
- make all python files executable and standardize interpreter by @shuffle2 in #2809
- fixed video_device.c _find_desc_format by @YixingShen in #2720
- more dwc2 enhance by @hathach in #2833
- add new tusb_int_handler(rhport, in_isr) and update tusb_init(rhport, role) by @hathach in #2834
- change tusb_init() to use init struct by @hathach in #2836
- Rp2040 audio corrections / Merge to master by @pschatzmann in #2846
- Extend callback information by @bollenn in #2861
- NCM: avoid recursions in tud_network_recv_renew() by @rgrr in #2713
- Implement Host Driver support for synopsys dwc2 by @hathach in #2870
- [ESP32P4][HS] Solved rhport selection for tusb_rhport_init() in Device mode by @roma-jam in #2854
- Update Hil for dwc2 by @hathach in #2875
- Fix _rhport_role warning by @HiFiPhile in #2863
- Fix Usage of Bootsel Button for Pico 2 by @subsonicpulse in #2869
- Fix 2 UAC issue by @HiFiPhile in #2866
- Add support for STM32H7RSxx by @chintal in #2871
- Enhance dwc2 dcd by @hathach in #2881
- [DCD_DWC2][ESP32P4][HS] Added cache synchronization (cont) by @hathach in #2883
- [DCD_DWC2][ESP32P4][HS] Added cache synchronization by @roma-jam in #2877
- More Esp32p4 dma with cache sync by @hathach in #2884
- change dcd_dcache_*() API return type from void to bool by @hathach in #2887
- Esp32p4 host dma by @hathach in #2888
- Fix missing protoype warning, change TUD_EPBUF_TYPE_DEF order by @hathach in #2889
- Add support for the STM32C0 and the NUCLEO-C071RB by @DavidEGrayson in #2848
- USBH: Recover from unexpected descriptor size by @GuavTek in #2852
- Rp2040 - ISO API to make Audio work / Merge to master by @pschatzmann in #2847
- net_lwip_webserver example fix and improvement by @HiFiPhile in #2829
- refactor(usbd_control): Updated the buffer name for deeper debug by @roma-jam in #2892
- fix(dcd_dwc2): Fix EP IN counters assignment and usage by @roma-jam in #2891
- Disable DWC HCD interrupt with MAX3421 by @tannewt in #2895
- try to run arm-iar with circleci with new token by @hathach in #2890
- feat(uvc): support format frame based by @lijunru-hub in #2656
- correct clock setting for h563 nucleo by @hathach in #2898
- fix correct DWC2_EP_COUNT by @hathach in #2901
- skip iar build with forked pr by @hathach in #2902
- Adding HID Usage Table Physical Input Device Page (0x0F) by @shdeb in #2897
- Add ra8m1_ek by @hathach in #2906
- RT1170 enhancements by @HiFiPhile in #2865
- update doc, bump up release 0.18.0 by @hathach in #2913
New Contributors
- @Maerdl made their first contribution in #2824
- @pschatzmann made their first contribution in #2846
- @bollenn made their first contribution in #2861
- @roma-jam made their first contribution in #2854
- @subsonicpulse made their first contribution in #2869
- @chintal made their first contribution in #2871
- @DavidEGrayson made their first contribution in #2848
- @GuavTek made their first contribution in #2852
- @shdeb made their first contribution in #2897
Full Changelog: 0.17.0...0.18.0