0.14.0
- 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(rphort), 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 santiy
- [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
- [Venndor] Improve write performance
Host Stack
- Add new API tuh_configure(rhport, cfg_id, cfg_param) for dynamnic 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
What's Changed
- Add concurrent host and device example by @tannewt in #1340
- Set the standard inquiry response additional length field. by @iabdalkader in #1349
- Enhance rhports management by @hathach in #1350
- Solve problems with CCRX toolchain by @Wini-Buh in #1311
- The IAR compilier does not resolve references to fields in the anonym… by @yoyopod in #1353
- Updated the clearing of the status register bits to use a straight '=… by @yoyopod in #1352
- Mcu specific by @hathach in #1354
- Fix CPP compilation with IAR by @alexandre-perrin in #1345
- Open OUT endpoint for HID host by @Daft-Freak in #1343
- fix build with esp32s2, also use dwc2 for esp example by @hathach in #1370
- Add host string descriptor functions by @tannewt in #1369
- documentatio: fix bad supported dev table format by @perigoso in #1371
- Fix string descriptor fetch by @tannewt in #1372
- vendor: Write improvements by @kasjer in #1289
- stm32wb55 support by @kasjer in #1374
- Modify the wrong macro definition code by @Qianhao2579 in #1379
- Add missing releases to Mynewt repository.yml by @sjanc in #1380
- fix issue 1359 by @hathach in #1389
- in TUD_AUDIO_HEADSET_STEREO_DESCRIPTOR, _nitfs should be 3. by @ccrome in #1360
- Add host example that prints out info of connected devices by @tannewt in #1392
- More host enhancement by @hathach in #1393
- merge device_info into bare_api example by @hathach in #1394
- Rework host control xfer by @hathach in #1397
- Add sof isr by @PanRe in #1402
- Host edpt xfer by @hathach in #1403
- remove cxd56 pycache folder by @hathach in #1409
- Fix docs by @perigoso in #1413
- Osal queue timeout by @hathach in #1440
- Gh action use replacement ruby by @Firefishy in #1444
- set irq priority for freertos by @ccrome in #1460
- PIO USB support by @hathach in #1412
- pic32 sanity fixes by @kasjer in #1451
- fix links in docs by @sknebel in #1473
- Minor cleanup of RP2040 code post addition of Pico-PIO-USB by @kilograham in #1467
- Remove lib/Pico-PIO-USB, which has moved to hw/mcu/raspberry_pi/Pico-PIO-USB. Fixes #1475. by @cr1901 in #1477
- changes proposal to audio feedback computation by @hathach in #1463
- Fix printf long int compiler error by @M3gaFr3ak in #1479
- Add SOF IRQ Handler by @hathach in #1381
- Update dwc2_stm32.h by @Nikitarc in #1438
- overwrite grstctl on edpt_disable by @Iktek in #1454
- remove cmake compile macro for net example (use lwipopts.h instead) by @hathach in #1483
- Fix compile error by @tfx2001 in #1485
- msp430x5xx: Add fix for possible bug in msp430-elf-gcc 9.3.0. by @cr1901 in #1481
- Better support multiple controllers configuration by @hathach in #1495
- add TU_ATTR_FAST_FUNC for audio sof isr call chain by @hathach in #1496
- add tuh_configure() for port/dynamic host behavior config by @hathach in #1498
- make all hcd/dcd function used in isr into ram by @hathach in #1501
- revert sof_isr driver rename since it cause issue with existing code by @hathach in #1505
- more dynamic controller for host by @hathach in #1506
- Host: Add support for multi-level usb hubs by @Ryzee119 in #1480
- rp2040: make moving 1K of code into RAM optional - and off by default by @kilograham in #1512
- correct bulk size for highspeed endpoint in dynamic_configuration and usbtmc exmaples by @hathach in #1516
- rp2040: use shared IRQ handlers, so user can also hook the USB IRQ by @kilograham in #1519
- Fix typo for log format by @mingpepe in #1518
- Stub out dcd_edpt_close for samd by @maddyaby in #1515
- RP2040 HCD Improvements (Hub + Keyboard + Mouse working) by @liamfraser in #1509
- Added The Teensy 4.1 board by @ccrome in #1526
- Hid report len uint16 by @hathach in #1533
- Add more warnings by @hathach in #1534
- samd: Fix a lock-up situation at high traffic. by @robert-hh in #1535
- Re-add some warning suppression for rp2040 by @kilograham in #1521
- Fix actual compiler warning on gcc 10.3.1 by @kilograham in #1538
- Improve ci by @hathach in #1539
- rp2040 enable SOF as resumed signal when remote wakeup by @hathach in #1542
- Define CFG_BOARD_UART_BAUDRATE in CMake by @phryniszak in #1540
- Ci parallel build by @hathach in #1544
- mimxrt: Change the definitions for MIMXRT boards. by @robert-hh in #1543
- Fix warnings when compiling rp2040 with older version of gcc by @hathach in #1552
- Rework CMake example warnings some more by @kilograham in #1554
- USBTMC: Fixes and support for high-speed USB by @pigrew in #1531
- temporarily revert len back to uint8_t in tud_hid_report_complete_cb() 0.14.0 release by @hathach in #1568
- Fix typo in audiod_rx_done_cb in audio_device.c by @maddyaby in #1514
- fix issue with TUD_OPT_HIGH_SPEED by @hathach in #1586
- add 'stm32l052dap52' (STM32L052K8 MCU) board target by @majbthrd in #1588
- dfu: Allow DFU coexistence with other interfaces (BTH, RNDIS, future one) by @kasjer in #1597
- nrf5x: Fix DMA access by @kasjer in #1489
- Host hub clear port and device interrupts by @Ryzee119 in #1603
- increase version to 0.14.0 for release by @hathach in #1569
- update repository.yml by @hathach in #1609
New Contributors
- @iabdalkader made their first contribution in #1349
- @yoyopod made their first contribution in #1353
- @alexandre-perrin made their first contribution in #1345
- @Qianhao2579 made their first contribution in #1379
- @ccrome made their first contribution in #1360
- @Firefishy made their first contribution in #1444
- @sknebel made their first contribution in #1473
- @M3gaFr3ak made their first contribution in #1479
- @Nikitarc made their first contribution in #1438
- @Iktek made their first contribution in #1454
- @mingpepe made their first contribution in #1518
- @maddyaby made their first contribution in #1515
- @robert-hh made their first contribution in #1535
- @phryniszak made their first contribution in #1540
Full Changelog: 0.13.0...0.14.0