| # 0.9.0 |
| |
| *March 12, 2021* |
| |
| ## Device Controller Driver (DCD) |
| |
| ### RP2040 |
| |
| - Fix endpoint buffer reallocation overrun problem |
| - Fix osal_pico queue overflow in initialization |
| - Fix Isochronous endpoint buffer size in transfer |
| - Optimize hardware endpoint struct to reduce RAM usage |
| - Fix enum workaround forever check for SE0 when pull up is disabled |
| |
| ### Sony CXD56 |
| |
| - Pass the correct speed on Spresense |
| - Fix setup processed flag |
| |
| ### NXP Transdimention |
| |
| - Update dcd_init() to reset controller to device mode |
| |
| ## USB Device Driver (USBD) |
| |
| - Fix issue with status zlp (`tud_control_status()`) is returned by class driver with SET/CLEAR_FEATURE for endpoint. |
| - Correct endpoint size check for fullspeed bulk, can be 8, 16, 32, 64 |
| - Ack SET_INTERFACE even if it is not implemented by class driver. |
| |
| ## Device Class Driver |
| |
| ### DFU Runtime |
| |
| - rename `dfu_rt()` to `dfu_runtime()` for easy reading |
| |
| ### CDC |
| |
| - Add `tud_cdc_send_break_cb()` to support break request |
| - Improve CDC receive, minor behavior changes: when `tud_cdc_rx_wanted_cb()` is invoked wanted_char may not be the last byte in the fifo |
| |
| ### HID |
| |
| - [Breaking] Add itf argument to hid API to support multiple instances, follow API has signature changes |
| |
| - `tud_hid_descriptor_report_cb()` |
| - `tud_hid_get_report_cb()` |
| - `tud_hid_set_report_cb()` |
| - `tud_hid_boot_mode_cb()` |
| - `tud_hid_set_idle_cb()` |
| |
| - Add report complete callback `tud_hid_report_complete_cb()` API |
| - Add DPad/Hat support for HID Gamepad |
| |
| - `TUD_HID_REPORT_DESC_GAMEPAD()` now support 16 buttons, 2 joysticks, 1 hat/dpad |
| - Add `hid_gamepad_report_t` along with `GAMEPAD_BUTTON_` and `GAMEPAD_HAT_` enum |
| - Add Gamepad to `hid_composite` / `hid_composite_freertos` example |
| |
| ### MIDI |
| |
| - Fix dropping MIDI sysex message when fifo is full |
| - Fix typo in `tud_midi_write24()`, make example less ambiguous for cable and channel |
| - Fix incorrect endpoint descriptor length, MIDI v1 use Audio v1 which has 9-byte endpoint descriptor (instead of 7) |
| |
| ## Host Controller Driver (HCD) |
| |
| - Add rhport to `hcd_init()` |
| - Improve EHCI/OHCI driver abstraction |
| |
| - Move echi/ohci files to portable/ |
| - Rename `hcd_lpc18_43` to `hcd_transdimension` |
| - Sub hcd API with `hcd_ehci_init()`, `hcd_ehci_register_addr()` |
| |
| - Update NXP transdimension `hcd_init()` to reset controller to host mode |
| |
| - Ported hcd to rt10xx |
| |
| ## USB Host Driver (USBH) |
| |
| - No noticeable changes to usbh |
| |
| ## Host Class Driver |
| |
| ### MSC |
| |
| - Rename `tuh_msc_scsi_inquiry()` to `tuh_msc_inquiry()` |
| - Rename `tuh_msc_mounted_cb()`/`tuh_msc_unmounted_cb()` to `tuh_msc_mount_cb()`/`tuh_msc_unmount_cb()` to match device stack naming |
| - Change `tuh_msc_is_busy()` to `tuh_msc_ready()` |
| - Add read10 and write10 function: `tuh_msc_read10()`, `tuh_msc_write10()` |
| - Read_Capacity is invoked as part of enumeration process |
| - Add `tuh_msc_get_block_count()`, `tuh_msc_get_block_size()` |
| - Add `CFG_TUH_MSC_MAXLUN` (default to 4) to hold lun capacities |
| |
| ## Others |
| |
| - Add basic support for rt-thread OS |
| - Change zero bitfield length to more explicit padding |
| - Build example now fetch required submodules on the fly while running `make` without prior submodule init for mcu drivers |
| - Update pico-sdk to v1.1.0 |
| |
| ### New Boards |
| |
| - Microchip SAM E54 Xplained Pro |
| - LPCXpresso 55s28 |
| - LPCXpresso 18s37 |
| |
| ## Contributors |
| |
| Thanks to everyone who contributed to this release: @amitv87, @duddie, @hathach, @HiFiPhile, @homeodor, @ipopov, @jgressmann, @kamtom480, @liamfraser, @lurch, @majbthrd, @ndinsmore, @tfx2001, @xmos-jmccarthy. |