| # 0.7.0 |
| |
| *November 7, 2020* |
| |
| ## Device Controller Driver |
| |
| - Added new support for Espressif ESP32-S2 |
| - Added new support for Dialog DA1469x |
| - Enhance STM32 Synopsys |
| - Support bus events disconnection/suspend/resume/wakeup |
| - Improve transfer performance with optimizing xfer and fifo size |
| - Support Highspeed port (OTG_HS) with both internal and external PHY |
| - Support multiple usb ports with rhport=1 is highspeed on selected MCUs e.g H743, F23. It is possible to have OTG_HS to run on Fullspeed PHY (e.g lacking external PHY) |
| - Add ISO transfer, fix odd/even frame |
| - Fix FIFO flush during stall |
| - Implement `dcd_edpt_close()` API |
| - Support F105, F107 |
| |
| ### Enhance STM32 fsdev |
| |
| - Improve dcd fifo allocation |
| - Fix ISTR race condition |
| - Support remap USB IRQ on supported MCUs |
| - Implement `dcd_edpt_close()` API |
| |
| ### Enhance NUC 505 |
| |
| - enhance set configure behavior |
| |
| ### Enhance SAMD |
| |
| - Fix race condition with setup packet |
| - Add SAMD11 option `OPT_MCU_SAMD11` |
| - Add SAME5x option `OPT_MCU_SAME5X` |
| |
| ### SAMG |
| |
| - Fix SAMG control data toggle and stall race condition |
| |
| ### Enhance nRF |
| |
| - Fix hanged when `tud_task()` is called within critical section (disabled interrupt) |
| - Fix disconnect bus event not submitted |
| - Implement ISO transfer and `dcd_edpt_close()` |
| |
| ## USB Device |
| |
| ### USBD |
| |
| - Add new class driver for **Bluetooth HCI** class driver with example can be found in [mynewt-tinyusb-example](https://github.com/hathach/mynewt-tinyusb-example) since it needs mynewt OS to run with. |
| - Fix USBD endpoint usage racing condition with `usbd_edpt_claim()`/`usbd_edpt_release()` |
| - Added `tud_task_event_ready()` and `osal_queue_empty()`. This API is needed to check before enter low power mode with WFI/WFE |
| - Rename USB IRQ Handler to `dcd_int_handler()`. Application must define IRQ handler in which it calls this API. |
| - Add `dcd_connect()` and `dcd_disconnect()` to enable/disable internal pullup on D+/D- on supported MCUs. |
| - Add `usbd_edpt_open()` |
| - Remove `dcd_set_config()` |
| - Add `OPT_OS_CUMSTOM` as hook for application to overwrite and/or add their own OS implementation |
| - Support SET_INTERFACE, GET_INTERFACE request |
| - Add Logging for debug with optional uart/rtt/swo printf retarget or `CFG_TUSB_DEBUG_PRINTF` hook |
| - Add IAR compiler support |
| - Support multiple configuration descriptors. `TUD_CONFIG_DESCRIPTOR()` template has extra config_num as 1st argument |
| - Improve USB Highspeed support with actual link speed detection with `dcd_event_bus_reset()` |
| - Enhance class driver management |
| - `usbd_driver_open()` add max length argument, and return length of interface (0 for not supported). Return value is used for finding appropriate driver |
| - Add application implemented class driver via `usbd_app_driver_get_cb()` |
| - IAD is handled to assign driver id |
| - Added `tud_descriptor_device_qualifier_cb()` callback |
| - Optimize `tu_fifo` bulk write/read transfer |
| - Forward non-std control request to class driver |
| - Let application handle Microsoft OS 1.0 Descriptors (the 0xEE index string) |
| - Fix OSAL FreeRTOS yield from ISR |
| - Rename some configure macro to make it clear that those are used directly for endpoint transfer |
| - `CFG_TUD_HID_BUFSIZE` to `CFG_TUD_HID_EP_BUFSIZE` |
| - `CFG_TUD_CDC_EPSIZE` to `CFG_TUD_CDC_EP_BUFSIZE` |
| - `CFG_TUD_MSC_BUFSIZE` to `CFG_TUD_MSC_EP_BUFSIZE` |
| - `CFG_TUD_MIDI_EPSIZE` to `CFG_TUD_MIDI_EP_BUFSIZE` |
| |
| ### USBNET |
| |
| - Remove ACM-EEM due to lack of support from host |
| |
| ### USBTMC |
| |
| - Fix descriptors when INT EP is disabled |
| |
| ### CDC |
| |
| - Send zero length packet for end of data when needed |
| - Add `tud_cdc_tx_complete_cb()` callback |
| - Change `tud_cdc_n_write_flush()` return number of bytes forced to transfer, and flush when writing enough data to fifo |
| |
| ### MIDI |
| |
| - Add packet interface |
| - Add multiple jack descriptors |
| - Fix MIDI driver for sysex |
| |
| ### DFU Runtime |
| |
| - fix response to SET_INTERFACE and DFU_GETSTATUS request |
| |
| ### HID |
| |
| - Fix gamepad template descriptor |
| - Add multiple HID interface API |
| - Add extra comma to HID_REPORT_ID |
| |
| ## USB Host |
| |
| - Rework USB host stack (still work in progress) |
| - Fix compile error with pipehandle |
| - Rework usbh control and enumeration as non-blocking |
| |
| - Improve Hub, MSC, HID host driver |
| |
| ## Examples |
| |
| - Add new `hid_composite_freertos` |
| - Add new `dynamic_configuration` to demonstrate how to switch configuration descriptors |
| - Add new `hid_multiple_interface` |
| - Enhance `net_lwip_webserver` example |
| - Add multiple configuration: RNDIS for Windows, CDC-ECM for macOS (Linux will work with both) |
| - Update lwip to STABLE-2_1_2_RELEASE for `net_lwip_webserver` |
| - Added new Audio example: `audio_test` `uac2_headsest` |
| |
| ## New Boards |
| |
| - Espressif ESP32-S2: saola_1, kaluga_1 |
| - STM32: F746 Nucleo, H743 Eval, H743 Nucleo, F723 discovery, stlink v3 mini, STM32L4r5 Nucleo |
| - Dialog DA1469x dk pro and dk usb |
| - Microchip: Great Scoot Gadgets' LUNA, samd11_xplained, D5035-01, atsamd21 xplained pro |
| - nRF: ItsyBitsy nRF52840 |
| |
| ## Contributors |
| |
| Thanks to everyone who contributed to this release: @chang196700, @CraigHutchinson, @czeslawmakarski, @duempel, @gh2o, @hathach, @HiFiPhile, @j4cbo, @jepler, @jgressmann, @k0d, @kasjer, @kaysievers, @ktemkin, @majbthrd, @me-no-dev, @mzero, @PanRe, @pigrew, @salkinium, @UweBonnes, @xobs, @zlittell. |