Austin Schuh | 41baf20 | 2022-01-01 14:33:40 -0800 | [diff] [blame^] | 1 | ********* |
| 2 | Changelog |
| 3 | ********* |
| 4 | |
| 5 | 0.12.0 |
| 6 | ====== |
| 7 | |
| 8 | - add CFG_TUSB_OS_INC_PATH for os include path |
| 9 | |
| 10 | Device Controller Driver (DCD) |
| 11 | ------------------------------ |
| 12 | |
| 13 | - Getting device stack to pass USB Compliance Verification test (chapter9, HID, MSC). Ports are tested: |
| 14 | nRF, SAMD 21/51, rp2040, stm32f4, Renesas RX, iMXRT, ESP32-S2/3, Kinetic KL25/32, DA146xx |
| 15 | - Added dcd_edpt_close_all() for switching configuration |
| 16 | - [Transdimension] Support dcd_edpt_xfer_fifo() with auto wrap over if fifo buffer is 4K aligned and size is multiple of 4K. |
| 17 | - [DA146xx] Improve vbus, reset, suspend, resume detection, and remote wakeup. |
| 18 | |
| 19 | Device Stack |
| 20 | ------------ |
| 21 | |
| 22 | - Add new network driver Network Control Model (CDC-NCM), update net_lwip_webserver to work with NCM (need re-configure example) |
| 23 | - Add new USB Video Class UVC 1.5 driver and video_capture example ((work in progress) |
| 24 | - Fix potential buffer overflow for HID, bluetooth drivers |
| 25 | |
| 26 | Host Controller Driver (HCD) |
| 27 | ---------------------------- |
| 28 | |
| 29 | No notable changes |
| 30 | |
| 31 | Host Stack |
| 32 | ---------- |
| 33 | |
| 34 | No notable changes |
| 35 | |
| 36 | 0.11.0 (2021-08-29) |
| 37 | =================== |
| 38 | |
| 39 | - Add host/hid_controller example: only worked/tested with Sony PS4 DualShock controller |
| 40 | - Add device/hid_boot_interface example |
| 41 | - Add support for Renesas CCRX toolchain for RX mcu |
| 42 | |
| 43 | Device Controller Driver (DCD) |
| 44 | ------------------------------ |
| 45 | |
| 46 | - Add new DCD port for SAMx7x (E70, S70, V70, V71) |
| 47 | - Add new mcu K32L2Bxx |
| 48 | - Add new mcu GD32VF103 |
| 49 | - Add new mcu STM32l151 |
| 50 | - Add new mcu SAML21 |
| 51 | - Add new mcu RX65n RX72n |
| 52 | - Fix NUC120/121/126 USBRAM can only be accessed in byte manner. Also improve set_address & disable sof |
| 53 | - Add Suspend/Resume handling for Renesas RX family. |
| 54 | - Fix DA1469x no VBUS startup |
| 55 | |
| 56 | Synopsys |
| 57 | ^^^^^^^^ |
| 58 | |
| 59 | - Fix Synopsys set address bug which could cause re-enumeration failed |
| 60 | - Fix dcd_synopsys driver integer overflow in HS mode (issue #968) |
| 61 | |
| 62 | nRF5x |
| 63 | ^^^^^ |
| 64 | |
| 65 | - Add nRF5x suspend, resume and remote wakeup |
| 66 | - Fix nRF5x race condition with TASKS_EP0RCVOUT |
| 67 | |
| 68 | RP2040 |
| 69 | ^^^^^^ |
| 70 | |
| 71 | - Add RP2040 suspend & resume support |
| 72 | - Implement double buffer for both host and device (#891). Howver device EPOUT is still single bufferred due to techinical issue with short packet |
| 73 | |
| 74 | Device Stack |
| 75 | ------------ |
| 76 | |
| 77 | USBD |
| 78 | ^^^^ |
| 79 | |
| 80 | - Better support big endian mcu |
| 81 | - Add tuh_inited() and tud_inited(), will separte tusb_init/inited() to tud/tuh init/inited |
| 82 | - Add dcd_attr.h for defining common controller attribute such as max endpoints |
| 83 | |
| 84 | Bluetooth |
| 85 | ^^^^^^^^^ |
| 86 | |
| 87 | - Fix stridx error in descriptor template |
| 88 | |
| 89 | DFU |
| 90 | ^^^ |
| 91 | |
| 92 | - Enhance DFU implementation to support multiple alternate interface and better support bwPollTimeout |
| 93 | - Rename CFG_TUD_DFU_MODE to simply CFG_TUD_DFU |
| 94 | |
| 95 | HID |
| 96 | ^^^ |
| 97 | |
| 98 | - Fix newline usage keyboard (ENTER 0x28) |
| 99 | - Better support Hid Get/Set report |
| 100 | - Change max gamepad support from 16 to 32 buttons |
| 101 | |
| 102 | MIDI |
| 103 | ^^^^ |
| 104 | |
| 105 | - Fix midi available |
| 106 | - Fix midi data |
| 107 | - Fix an issue when calling midi API when not enumerated yet |
| 108 | |
| 109 | UAC2 |
| 110 | ^^^^ |
| 111 | |
| 112 | - Fix bug and enhance of UAC2 |
| 113 | |
| 114 | Vendor |
| 115 | ^^^^^^ |
| 116 | |
| 117 | - Fix vendor fifo deadlock in certain case |
| 118 | - Add tud_vendor_n_read_flush |
| 119 | |
| 120 | Host Controller Driver (HCD) |
| 121 | ---------------------------- |
| 122 | |
| 123 | RP2040 |
| 124 | ^^^^^^ |
| 125 | |
| 126 | - Implement double bufferred to fix E4 errata and boost performance |
| 127 | - Lots of rp2040 update and enhancment |
| 128 | |
| 129 | Host Stack |
| 130 | ---------- |
| 131 | |
| 132 | - Major update and rework most of host stack, still needs more improvement |
| 133 | - Lots of improvement and update in parsing configuration and control |
| 134 | - Rework and major update to HID driver. Will default to enable boot interface if available |
| 135 | - Sepearate CFG_TUH_DEVICE_MAX and CFG_TUH_HUB for better management and reduce SRAM usage |
| 136 | |
| 137 | 0.10.1 (2021-06-03) |
| 138 | =================== |
| 139 | |
| 140 | - rework rp2040 examples and CMake build, allow better integration with pico-sdk |
| 141 | |
| 142 | Host Controller Driver (HCD) |
| 143 | ---------------------------- |
| 144 | |
| 145 | - Fix rp2040 host driver: incorrect PID with low speed device with max packet size of 8 bytes |
| 146 | - Improve hub driver |
| 147 | - Remove obsolete hcd_pipe_queue_xfer()/hcd_pipe_xfer() |
| 148 | - Use hcd_frame_number() instead of micro frame |
| 149 | - Fix OHCI endpoint address and xferred_bytes in xfer complete event |
| 150 | |
| 151 | 0.10.0 (2021-05-28) |
| 152 | =================== |
| 153 | |
| 154 | - Rework tu_fifo_t with separated mutex for read and write, better support DMA with read/write buffer info. And constant address mode |
| 155 | - Improve audio_test example and add audio_4_channel_mic example |
| 156 | - Add new dfu example |
| 157 | - Remove pico-sdk from submodule |
| 158 | |
| 159 | Device Controller Driver (DCD) |
| 160 | ------------------------------ |
| 161 | |
| 162 | - Add new DCD port for Silabs EFM32GG12 with board Thunderboard Kit (SLTB009A) |
| 163 | - Add new DCD port Renesas RX63N, board GR-CITRUS |
| 164 | - Add new (optional) endpoint API dcd_edpt_xfer_fifo |
| 165 | - Fix build with nRF5340 |
| 166 | - Fix build with lpc15 and lpc54 |
| 167 | - Fix build with lpc177x_8x |
| 168 | - STM32 Synopsys: greatly improve Isochronous transfer with edpt_xfer_fifo API |
| 169 | - Support LPC55 port1 highspeed |
| 170 | - Add support for Espressif esp32s3 |
| 171 | - nRF: fix race condition that could cause drop packet of Bulk OUT transfer |
| 172 | |
| 173 | USB Device Driver (USBD) |
| 174 | ------------------------ |
| 175 | |
| 176 | - Add new (optional) endpoint ADPI usbd_edpt_xfer_fifo |
| 177 | |
| 178 | Device Class Driver |
| 179 | ------------------- |
| 180 | |
| 181 | CDC |
| 182 | |
| 183 | - [Breaking] tud_cdc_peek(), tud_vendor_peek() no longer support random offset and dropped position parameter. |
| 184 | |
| 185 | DFU |
| 186 | |
| 187 | - Add new DFU 1.1 class driver (WIP) |
| 188 | |
| 189 | HID |
| 190 | |
| 191 | - Fix keyboard report descriptor template |
| 192 | - Add more hid keys constant from 0x6B to 0xA4 |
| 193 | |
| 194 | - [Breaking] rename API |
| 195 | - HID_PROTOCOL_NONE/KEYBOARD/MOUST to HID_ITF_PROTOCOL_NONE/KEYBOARD/MOUSE |
| 196 | - tud_hid_boot_mode() to tud_hid_get_protocol() |
| 197 | - tud_hid_boot_mode_cb() to tud_hid_set_protocol_cb() |
| 198 | |
| 199 | MIDI |
| 200 | |
| 201 | - Fix MIDI buffer overflow issue |
| 202 | |
| 203 | - [Breaking] rename API |
| 204 | - Rename tud_midi_read() to tud_midi_stream_read() |
| 205 | - Rename tud_midi_write() to tud_midi_stream_write() |
| 206 | - Rename tud_midi_receive() to tud_midi_packet_read() |
| 207 | - Rename tud_midi_send() to tud_midi_packet_write() |
| 208 | |
| 209 | Host Controller Driver (HCD) |
| 210 | ---------------------------- |
| 211 | |
| 212 | - No noticable changes |
| 213 | |
| 214 | USB Host Driver (USBH) |
| 215 | ---------------------- |
| 216 | |
| 217 | - No noticable changes |
| 218 | |
| 219 | Host Class Driver |
| 220 | ----------------- |
| 221 | |
| 222 | - HID: Rework host hid driver, basically everything changes |
| 223 | |
| 224 | |
| 225 | 0.9.0 (2021-03-12) |
| 226 | ================== |
| 227 | |
| 228 | Device Stack |
| 229 | ------------ |
| 230 | |
| 231 | Device Controller Driver (DCD) |
| 232 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| 233 | |
| 234 | RP2040 |
| 235 | |
| 236 | - Fix endpoint buffer reallocation overrun problem |
| 237 | - Fix osal_pico queue overflow in initialization |
| 238 | - Fix Isochronous endpoint buffer size in transfer |
| 239 | - Optimize hardware endpoint struct to reduce RAM usage |
| 240 | - Fix enum walkaround forever check for SE0 when pull up is disabled |
| 241 | |
| 242 | Sony CXD56 |
| 243 | |
| 244 | - Pass the correct speed on Spresense |
| 245 | - Fix setup processed flag |
| 246 | |
| 247 | NXP Transdimention |
| 248 | |
| 249 | - Update dcd_init() to reset controller to device mode |
| 250 | |
| 251 | USB Device Driver (USBD) |
| 252 | ^^^^^^^^^^^^^^^^^^^^^^^^ |
| 253 | |
| 254 | - Fix issue with status zlp (tud_control_status) is returned by class driver with SET/CLEAR_FEATURE for endpoint. |
| 255 | - Correct endpoint size check for fullspeed bulk, can be 8, 16, 32, 64 |
| 256 | - Ack SET_INTERFACE even if it is not implemented by class driver. |
| 257 | |
| 258 | Device Class Driver |
| 259 | ^^^^^^^^^^^^^^^^^^^ |
| 260 | |
| 261 | DFU Runtime |
| 262 | |
| 263 | - rename dfu_rt to dfu_runtime for easy reading |
| 264 | |
| 265 | CDC |
| 266 | |
| 267 | - Add tud_cdc_send_break_cb() to support break request |
| 268 | - 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 |
| 269 | |
| 270 | HID |
| 271 | |
| 272 | - [Breaking] Add itf argument to hid API to support multiple instances, follow API has signature changes |
| 273 | |
| 274 | - tud_hid_descriptor_report_cb() |
| 275 | - tud_hid_get_report_cb() |
| 276 | - tud_hid_set_report_cb() |
| 277 | - tud_hid_boot_mode_cb() |
| 278 | - tud_hid_set_idle_cb() |
| 279 | |
| 280 | - Add report complete callback tud_hid_report_complete_cb() API |
| 281 | - Add DPad/Hat support for HID Gamepad |
| 282 | |
| 283 | - `TUD_HID_REPORT_DESC_GAMEPAD()` now support 16 buttons, 2 joysticks, 1 hat/dpad |
| 284 | - Add hid_gamepad_report_t along with `GAMEPAD_BUTTON_` and `GAMEPAD_HAT_` enum |
| 285 | - Add Gamepad to hid_composite / hid_composite_freertos example |
| 286 | |
| 287 | MIDI |
| 288 | |
| 289 | - Fix dropping MIDI sysex message when fifo is full |
| 290 | - Fix typo in tud_midi_write24(), make example less ambigous for cable and channel |
| 291 | - Fix incorrect endpoint descriptor length, MIDI v1 use Audio v1 which has 9-byte endpoint descriptor (instead of 7) |
| 292 | |
| 293 | Host Stack |
| 294 | ---------- |
| 295 | |
| 296 | Host Controller Driver (HCD) |
| 297 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| 298 | |
| 299 | - Add rhport to hcd_init() |
| 300 | - Improve EHCI/OHCI driver abstraction |
| 301 | |
| 302 | - Move echi/ohci files to portable/ |
| 303 | - Rename hcd_lpc18_43 to hcd_transdimension |
| 304 | - Sub hcd API with hcd_ehci_init(), hcd_ehci_register_addr() |
| 305 | |
| 306 | - Update NXP transdimention hcd_init() to reset controller to host mode |
| 307 | |
| 308 | - Ported hcd to rt10xx |
| 309 | |
| 310 | USB Host Driver (USBH) |
| 311 | ^^^^^^^^^^^^^^^^^^^^^^ |
| 312 | |
| 313 | - No noticeable changes to usbh |
| 314 | |
| 315 | Host Class Driver |
| 316 | ^^^^^^^^^^^^^^^^^ |
| 317 | |
| 318 | MSC |
| 319 | |
| 320 | - Rename tuh_msc_scsi_inquiry() to tuh_msc_inquiry() |
| 321 | - Rename tuh_msc_mounted_cb/tuh_msc_unmounted_cb to tuh_msc_mount_cb/tuh_msc_unmount_cb to match device stack naming |
| 322 | - Change tuh_msc_is_busy() to tuh_msc_ready() |
| 323 | - Add read10 and write10 function: tuh_msc_read10(), tuh_msc_write10() |
| 324 | - Read_Capacity is invoked as part of enumeration process |
| 325 | - Add tuh_msc_get_block_count(), tuh_msc_get_block_size() |
| 326 | - Add CFG_TUH_MSC_MAXLUN (default to 4) to hold lun capacities |
| 327 | |
| 328 | Others |
| 329 | ------ |
| 330 | |
| 331 | - Add basic support for rt-thread OS |
| 332 | - Change zero bitfield length to more explicit padding |
| 333 | - Build example now fetch required submodules on the fly while running `make` without prio submodule init for mcu drivers |
| 334 | - Update pico-sdk to v1.1.0 |
| 335 | |
| 336 | **New Boards** |
| 337 | |
| 338 | - Microchip SAM E54 Xplained Pro |
| 339 | - LPCXpresso 55s28 |
| 340 | - LPCXpresso 18s37 |
| 341 | |
| 342 | |
| 343 | 0.8.0 (2021-02-05) |
| 344 | ================== |
| 345 | |
| 346 | Device Controller Driver |
| 347 | ------------------------ |
| 348 | |
| 349 | - Added new device support for Raspberry Pi RP2040 |
| 350 | - Added new device support for NXP Kinetis KL25ZXX |
| 351 | - Use dcd_event_bus_reset() with link speed to replace bus_signal |
| 352 | |
| 353 | - ESP32-S2: |
| 354 | - Add bus suspend and wakeup support |
| 355 | |
| 356 | - SAMD21: |
| 357 | - Fix (walkaround) samd21 setup_packet overflow by USB DMA |
| 358 | |
| 359 | - STM32 Synopsys: |
| 360 | - Rework USB FIFO allocation scheme and allow RX FIFO size reduction |
| 361 | |
| 362 | - Sony CXD56 |
| 363 | - Update Update Spresense SDK to 2.0.2 |
| 364 | - Fix dcd issues with setup packets |
| 365 | - Correct EP number for cdc_msc example |
| 366 | |
| 367 | USB Device |
| 368 | ---------- |
| 369 | |
| 370 | **USBD** |
| 371 | |
| 372 | - Rework usbd control transfer to have additional stage parameter for setup, data, status |
| 373 | - Fix tusb_init() return true instead of TUSB_ERROR_NONE |
| 374 | - Added new API tud_connected() that return true after device got out of bus reset and received the very first setup packet |
| 375 | |
| 376 | **Class Driver** |
| 377 | |
| 378 | - CDC |
| 379 | - Allow to transmit data, even if the host does not support control line states i.e set DTR |
| 380 | |
| 381 | - HID |
| 382 | - change default CFG_TUD_HID_EP_BUFSIZE from 16 to 64 |
| 383 | |
| 384 | - MIDI |
| 385 | - Fix midi sysex sending bug |
| 386 | |
| 387 | - MSC |
| 388 | - Invoke only scsi complete callback after status transaction is complete. |
| 389 | - Fix scsi_mode_sense6_t padding, which cause IAR compiler internal error. |
| 390 | |
| 391 | - USBTMC |
| 392 | - Change interrupt endpoint example size to 8 instead of 2 for better compatibility with mcu |
| 393 | |
| 394 | **Example** |
| 395 | |
| 396 | - Support make from windows cmd.exe |
| 397 | - Add HID Consumer Control (media keys) to hid_composite & hid_composite_freertos examples |
| 398 | |
| 399 | |
| 400 | USB Host |
| 401 | -------- |
| 402 | |
| 403 | No noticeable changes to host stack |
| 404 | |
| 405 | New Boards |
| 406 | ---------- |
| 407 | |
| 408 | - NXP/Freescale Freedom FRDM-KL25Z |
| 409 | - Feather Double M33 express |
| 410 | - Raspberry Pi Pico |
| 411 | - Adafruit Feather RP2040 |
| 412 | - Adafruit Itsy Bitsy RP2040 |
| 413 | - Adafruit QT RP2040 |
| 414 | - Adfruit Feather ESP32-S2 |
| 415 | - Adafruit Magtag 29" Eink |
| 416 | - Adafruit Metro ESP32-S2 |
| 417 | - Adafruit PyBadge |
| 418 | - Adafruit PyPortal |
| 419 | - Great Scott Gadgets' LUNA D11 & D21 |
| 420 | |
| 421 | |
| 422 | 0.7.0 (2020-11-08) |
| 423 | ================== |
| 424 | |
| 425 | Device Controller Driver |
| 426 | ------------------------ |
| 427 | |
| 428 | - Added new support for Espressif ESP32-S2 |
| 429 | - Added new support for Dialog DA1469x |
| 430 | - Enhance STM32 Synopsys |
| 431 | |
| 432 | - Support bus events disconnection/suspend/resume/wakeup |
| 433 | - Improve transfer performance with optimizing xfer and fifo size |
| 434 | - Support Highspeed port (OTG_HS) with both internal and external PHY |
| 435 | - 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) |
| 436 | - Add ISO transfer, fix odd/even frame |
| 437 | - Fix FIFO flush during stall |
| 438 | - Implement dcd_edpt_close() API |
| 439 | - Support F105, F107 |
| 440 | |
| 441 | - Enhance STM32 fsdev |
| 442 | - Improve dcd fifo allocation |
| 443 | - Fix ISTR race condition |
| 444 | - Support remap USB IRQ on supported MCUs |
| 445 | - Implement dcd_edpt_close() API |
| 446 | |
| 447 | - Enhance NUC 505: enhance set configure behavior |
| 448 | |
| 449 | - Enhance SAMD |
| 450 | - Fix race condition with setup packet |
| 451 | - Add SAMD11 option `OPT_MCU_SAMD11` |
| 452 | - Add SAME5x option `OPT_MCU_SAME5X` |
| 453 | |
| 454 | - Fix SAMG control data toggle and stall race condition |
| 455 | |
| 456 | - Enhance nRF |
| 457 | - Fix hanged when tud_task() is called within critical section (disabled interrupt) |
| 458 | - Fix disconnect bus event not submitted |
| 459 | - Implement ISO transfer and dcd_edpt_close() |
| 460 | |
| 461 | |
| 462 | USB Device |
| 463 | ---------- |
| 464 | |
| 465 | **USBD** |
| 466 | |
| 467 | - 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. |
| 468 | - Fix USBD endpoint usage racing condition with `usbd_edpt_claim()/usbd_edpt_release()` |
| 469 | - Added `tud_task_event_ready()` and `osal_queue_empty()`. This API is needed to check before enter low power mode with WFI/WFE |
| 470 | - Rename USB IRQ Handler to `dcd_int_handler()`. Application must define IRQ handler in which it calls this API. |
| 471 | - Add `dcd_connect()` and `dcd_disconnect()` to enable/disable internal pullup on D+/D- on supported MCUs. |
| 472 | - Add `usbd_edpt_open()` |
| 473 | - Remove `dcd_set_config()` |
| 474 | - Add *OPT_OS_CUMSTOM* as hook for application to overwrite and/or add their own OS implementation |
| 475 | - Support SET_INTERFACE, GET_INTERFACE request |
| 476 | - Add Logging for debug with optional uart/rtt/swo printf retarget or `CFG_TUSB_DEBUG_PRINTF` hook |
| 477 | - Add IAR compiler support |
| 478 | - Support multiple configuration descriptors. `TUD_CONFIG_DESCRIPTOR()` template has extra config_num as 1st argument |
| 479 | - Improve USB Highspeed support with actual link speed detection with `dcd_event_bus_reset()` |
| 480 | |
| 481 | - Enhance class driver management |
| 482 | - `usbd_driver_open()` add max length argument, and return length of interface (0 for not supported). Return value is used for finding appropriate driver |
| 483 | - Add application implemented class driver via `usbd_app_driver_get_cb()` |
| 484 | - IAD is handled to assign driver id |
| 485 | |
| 486 | - Added `tud_descriptor_device_qualifier_cb()` callback |
| 487 | - Optimize `tu_fifo` bulk write/read transfer |
| 488 | - Forward non-std control request to class driver |
| 489 | - Let application handle Microsoft OS 1.0 Descriptors (the 0xEE index string) |
| 490 | - Fix OSAL FreeRTOS yield from ISR |
| 491 | |
| 492 | **Class Drivers** |
| 493 | |
| 494 | - USBNET: remove ACM-EEM due to lack of support from host |
| 495 | - USBTMC: fix descriptors when INT EP is disabled |
| 496 | |
| 497 | - CDC: |
| 498 | - Send zero length packet for end of data when needed |
| 499 | - Add `tud_cdc_tx_complete_cb()` callback |
| 500 | - Change tud_cdc_n_write_flush() return number of bytes forced to transfer, and flush when writing enough data to fifo |
| 501 | |
| 502 | - MIDI: |
| 503 | - Add packet interface |
| 504 | - Add multiple jack descriptors |
| 505 | - Fix MIDI driver for sysex |
| 506 | |
| 507 | - DFU Runtime: fix response to SET_INTERFACE and DFU_GETSTATUS request |
| 508 | |
| 509 | - Rename some configure macro to make it clear that those are used directly for endpoint transfer |
| 510 | - CFG_TUD_HID_BUFSIZE to CFG_TUD_HID_EP_BUFSIZE |
| 511 | - CFG_TUD_CDC_EPSIZE to CFG_TUD_CDC_EP_BUFSIZE |
| 512 | - CFG_TUD_MSC_BUFSIZE to CFG_TUD_MSC_EP_BUFSIZE |
| 513 | - CFG_TUD_MIDI_EPSIZE to CFG_TUD_MIDI_EP_BUFSIZE |
| 514 | |
| 515 | - HID: |
| 516 | - Fix gamepad template descriptor |
| 517 | - Add multiple HID interface API |
| 518 | - Add extra comma to HID_REPORT_ID |
| 519 | |
| 520 | USB Host |
| 521 | -------- |
| 522 | |
| 523 | - Rework USB host stack (still work in progress) |
| 524 | - Fix compile error with pipehandle |
| 525 | - Rework usbh control and enumeration as non-blocking |
| 526 | |
| 527 | - Improve Hub, MSC, HID host driver |
| 528 | |
| 529 | Examples |
| 530 | -------- |
| 531 | |
| 532 | - Add new hid_composite_freertos |
| 533 | - Add new dynamic_configuration to demonstrate how to switch configuration descriptors |
| 534 | - Add new hid_multiple_interface |
| 535 | |
| 536 | - Enhance `net_lwip_webserver` example |
| 537 | - Add multiple configuration: RNDIS for Windows, CDC-ECM for macOS (Linux will work with both) |
| 538 | - Update lwip to STABLE-2_1_2_RELEASE for net_lwip_webserver |
| 539 | |
| 540 | - Added new Audio example: audio_test uac2_headsest |
| 541 | |
| 542 | New Boards |
| 543 | ---------- |
| 544 | |
| 545 | - Espressif ESP32-S2: saola_1, kaluga_1 |
| 546 | - STM32: F746 Nucleo, H743 Eval, H743 Nucleo, F723 discovery, stlink v3 mini, STM32L4r5 Nucleo |
| 547 | - Dialog DA1469x dk pro and dk usb |
| 548 | - Microchip: Great Scoot Gadgets' LUNA, samd11_xplained, D5035-01, atsamd21 xplained pro |
| 549 | - nRF: ItsyBitsy nRF52840 |
| 550 | |
| 551 | |
| 552 | 0.6.0 (2020-03-30) |
| 553 | ================== |
| 554 | |
| 555 | Added **CONTRIBUTORS.md** to give proper credit for contributors to the stack. Special thanks to `Nathan Conrad <https://github.com/pigrew>`__ , `Peter Lawrence <https://github.com/majbthrd>`__ , `William D. Jones <https://github.com/cr1901>`__ and `Sean Cross <https://github.com/xobs>`__ and others for spending their precious time to add lots of features and ports for this release. |
| 556 | |
| 557 | Added |
| 558 | ----- |
| 559 | |
| 560 | **MCU** |
| 561 | |
| 562 | - Added support for Microchip SAMG55 |
| 563 | - Added support for Nordic nRF52833 |
| 564 | - Added support for Nuvoton: NUC120, NUC121/NUC125, NUC126, NUC505 |
| 565 | - Added support for NXP LPC: 51Uxx, 54xxx, 55xx |
| 566 | - Added support for NXP iMXRT: RT1011, RT1015, RT1021, RT1052, RT1062, RT1064 |
| 567 | - Added support for Sony CXD56 (Spresense) |
| 568 | - Added support for STM32: L0, F0, F1, F2, F3, F4, F7, H7 |
| 569 | - Added support for TI MSP430 |
| 570 | - Added support for ValentyUSB's eptri |
| 571 | |
| 572 | **Class Driver** |
| 573 | |
| 574 | - Added DFU Runtime class driver |
| 575 | - Added Network class driver with RNDIS, CDC-ECM, CDC-EEM (work in progress) |
| 576 | - Added USBTMC class driver |
| 577 | - Added WebUSB class driver using vendor-specific class |
| 578 | - Added multiple instances support for CDC and MIDI |
| 579 | - Added a handful of unit test with Ceedling. |
| 580 | - Added LOG support for debugging with CFG_TUSB_DEBUG |
| 581 | - Added `tud_descriptor_bos_cb()` for BOS descriptor (required for USB 2.1) |
| 582 | - Added `dcd_edpt0_status_complete()` as optional API for DCD |
| 583 | |
| 584 | **Examples** |
| 585 | |
| 586 | Following examples are added: |
| 587 | |
| 588 | - board_test |
| 589 | - cdc_dual_ports |
| 590 | - dfu_rt |
| 591 | - hid_composite |
| 592 | - net_lwip_webserver |
| 593 | - usbtmc |
| 594 | - webusb_serial |
| 595 | |
| 596 | Changed |
| 597 | ------- |
| 598 | |
| 599 | - Changed `tud_descriptor_string_cb()` to have additional Language ID argument |
| 600 | - Merged hal_nrf5x.c into dcd_nrf5x.c |
| 601 | - Merged dcd_samd21.c and dcd_samd51.c into dcd_samd.c |
| 602 | - Generalized dcd_stm32f4.c to dcd_synopsys.c |
| 603 | - Changed cdc_msc_hid to cdc_msc (drop hid) due to limited endpoints number of some MCUs |
| 604 | - Improved DCD SAMD stability, fix missing setup packet occasionally |
| 605 | - Improved usbd/usbd_control with proper hanlding of zero-length packet (ZLP) |
| 606 | - Improved STM32 DCD FSDev |
| 607 | - Improved STM32 DCD Synopsys |
| 608 | - Migrated CI from Travis to Github Action |
| 609 | - Updated nrfx submodule to 2.1.0 |
| 610 | - Fixed mynewt osal queue definition |
| 611 | - Fixed cdc_msc_freertos example build for all MCUs |
| 612 | |
| 613 | |
| 614 | 0.5.0 (2019-06) |
| 615 | =============== |
| 616 | |
| 617 | First release, device stack works great, host stack works but still need improvement. |
| 618 | |
| 619 | - Special thanks to @adafruit team, especially @tannewt to help out immensely to rework device stack: simplify osal & control transfer, adding SAMD21/SAMD51 ports, writing porting docs, adding MIDI class support etc... |
| 620 | - Thanks to @cr1901 for adding STM32F4 port. |
| 621 | - Thanks to @PTS93 and @todbot for HID raw API |