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()APISupport 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_SAMD11Add 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 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()andosal_queue_empty(). This API is needed to check before enter low power mode with WFI/WFERename USB IRQ Handler to
dcd_int_handler(). Application must define IRQ handler in which it calls this API.Add
dcd_connect()anddcd_disconnect()to enable/disable internal pullup on D+/D- on supported MCUs.Add
usbd_edpt_open()Remove
dcd_set_config()Add
OPT_OS_CUMSTOMas hook for application to overwrite and/or add their own OS implementationSupport SET_INTERFACE, GET_INTERFACE request
Add Logging for debug with optional uart/rtt/swo printf retarget or
CFG_TUSB_DEBUG_PRINTFhookAdd IAR compiler support
Support multiple configuration descriptors.
TUD_CONFIG_DESCRIPTOR()template has extra config_num as 1st argumentImprove 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 driverAdd application implemented class driver via
usbd_app_driver_get_cb()IAD is handled to assign driver id
Added
tud_descriptor_device_qualifier_cb()callbackOptimize
tu_fifobulk write/read transferForward 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_BUFSIZEtoCFG_TUD_HID_EP_BUFSIZECFG_TUD_CDC_EPSIZEtoCFG_TUD_CDC_EP_BUFSIZECFG_TUD_MSC_BUFSIZEtoCFG_TUD_MSC_EP_BUFSIZECFG_TUD_MIDI_EPSIZEtoCFG_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()callbackChange
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_freertosAdd new
dynamic_configurationto demonstrate how to switch configuration descriptorsAdd new
hid_multiple_interfaceEnhance
net_lwip_webserverexampleAdd 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_testuac2_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.