| # 0.14.0 |
| |
| *August 23, 2022* |
| |
| - Improve compiler support for CCRX and IAR |
| - Add timeout to `osal_queue_receive()` |
| - Add `tud_task_ext(timeout, in_isr)` as generic version of `tud_task()`. Same as `tuh_task_ext()`, `tuh_task()` |
| - Enable more warnings `-Wnull-dereference -Wuninitialized -Wunused -Wredundant-decls -Wconversion` |
| |
| ## Add new examples |
| |
| - `host/bare_api` to demonstrate generic (app-level) enumeration and endpoint transfer |
| - `dual/host_hid_to_device_cdc` to run both device and host stack concurrently, get HID report from host and print out to device CDC. This example only work with multiple-controller MCUs and rp2040 with the help of pio-usb as added controller. |
| |
| ## Controller Driver (DCD & HCD) |
| |
| - Enhance rhports management to better support dual roles |
| |
| - `CFG_TUD_ENABLED`/`CFG_TUH_ENABLED`, `CFG_TUD_MAX_SPEED`/`CFG_TUH_MAX_SPEED` can be used to replace `CFG_TUSB_RHPORT0_MODE`/`CFG_TUSB_RHPORT1_MODE` |
| - `tud_init(rhport)`, `tuh_init(rhport)` can be used to init stack on specified roothub port (controller) instead of `tusb_init(void)` |
| - Add dcd/hcd port specific defines `TUP_` (stand for tinyusb port-specific) |
| |
| ### dwc2 |
| |
| - Update to support stm32 h72x, h73x with only 1 otg controller |
| - Fix overwrite with grstctl when disable endpoint |
| |
| ### EHCI |
| |
| - Fix an issue with EHCI driver |
| |
| ### msp430 |
| |
| - Fix for possible bug in msp430-elf-gcc 9.3.0 |
| |
| ### nrf5x |
| |
| - Fix DMA access race condition using atomic function |
| |
| ### pic32 |
| |
| - Fix PIC32 sanity |
| |
| ### rp2040 |
| |
| - Add PICO-PIO-USB as controller (device/host) support for rp2040 |
| - Use shared IRQ handlers, so user can also hook the USB IRQ |
| - Fix resumed signal not reported to device stack |
| |
| ### stm32fsdev |
| |
| - Add support for stm32wb55 |
| |
| ## Device Stack |
| |
| - [Audio] Add support for feedback endpoint computation |
| |
| - New API `tud_audio_feedback_params_cb()`, `tud_audio_feedback_interval_isr()`. |
| - Supported computation method are: frequency with fixed/float or power of 2. Feedback with fifo count is not yet supported. |
| - Fix nitfs (should be 3) in `TUD_AUDIO_HEADSET_STEREO_DESCRIPTOR` |
| - Fix typo in `audiod_rx_done_cb()` |
| |
| - [DFU] Fix coexistence with other interfaces BTH, RNDIS |
| - [MSC] Fix inquiry response additional length field |
| - [Vendor] Improve write performance |
| |
| ## Host Stack |
| |
| - Add new API `tuh_configure(rhport, cfg_id, cfg_param)` for dynamic port specific behavior configuration |
| - [HID] Open OUT endpoint if available |
| - [Hub] hub clear port and device interrupts |
| |
| ### [USBH] Major improvement |
| |
| - Rework usbh control transfer with complete callback. New API `tuh_control_xfer()` though still only carry 1 usbh (no queueing) at a time. |
| - Add generic endpoint transfer with `tuh_edpt_open()`, `tuh_edpt_xfer()`. Require `CFG_TUH_API_EDPT_XFER=1` |
| - Support app-level enumeration with new APIs |
| |
| - `tuh_descriptor_get()`, `tuh_descriptor_get_device()`, `tuh_descriptor_get_configuration()`, `tuh_descriptor_get_hid_report()` |
| - `tuh_descriptor_get_string()`, `tuh_descriptor_get_manufacturer_string()`, `tuh_descriptor_get_product_string()`, `tuh_descriptor_get_serial_string()` |
| - Also add `_sync()` as sync/blocking version for above APIs |
| |
| ## Contributors |
| |
| Thanks to everyone who contributed to this release: @alexandre-perrin, @ccrome, @cr1901, @Daft-Freak, @Firefishy, @hathach, @iabdalkader, @Iktek, @kasjer, @kilograham, @liamfraser, @M3gaFr3ak, @maddyaby, @majbthrd, @mingpepe, @Nikitarc, @perigoso, @phryniszak, @pigrew, @Qianhao2579, @robert-hh, @Ryzee119, @sjanc, @sknebel, @tannewt, @tfx2001, @Wini-Buh, @yoyopod. |