Skip to content

Commit f6c1ce5

Browse files
authored
Merge pull request hathach#1569 from hathach/release-0.14.0
increase version to 0.14.0 for release
2 parents 792b2fb + 961e83e commit f6c1ce5

File tree

8 files changed

+139
-30
lines changed

8 files changed

+139
-30
lines changed

.github/ISSUE_TEMPLATE/bug_report.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,3 +76,11 @@ body:
7676
description: If applicable, add screenshots to help explain your problem.
7777
validations:
7878
required: false
79+
80+
- type: checkboxes
81+
attributes:
82+
label: I have checked existing issues, dicussion and documentation
83+
description: You agree to check all the resources above before opening a new issue.
84+
options:
85+
- label: I confirm I have checked existing issues, dicussion and documentation.
86+
required: true

.github/ISSUE_TEMPLATE/feature_request.md

Lines changed: 0 additions & 14 deletions
This file was deleted.
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
name: Feature Request
2+
description: Suggest an idea for this project
3+
labels: 'Feature 💡'
4+
body:
5+
- type: markdown
6+
attributes:
7+
value: |
8+
Thanks for taking the time to fill out this request!
9+
It's okay to leave some blank if it doesn't apply to your request.
10+
11+
- type: input
12+
attributes:
13+
label: Related area
14+
description: Please briefly explain the area of your Feature Request.
15+
placeholder: eg. new port support, device stack, class driver ...
16+
validations:
17+
required: true
18+
19+
- type: input
20+
attributes:
21+
label: Hardware specification
22+
description: Please provide if your proposal depends on specific Hardware.
23+
placeholder: eg. rp2040, samd51 ...
24+
validations:
25+
required: true
26+
27+
- type: textarea
28+
attributes:
29+
label: Is your feature request related to a problem?
30+
description: Please provide a clear and concise description of what the problem is. Add relevant issue link.
31+
placeholder: ex. I'm facing the issue/missing function...
32+
validations:
33+
required: true
34+
35+
- type: textarea
36+
attributes:
37+
label: Describe the solution you'd like
38+
description: Please provide a clear and concise description of what you want to happen.
39+
placeholder: ex. When using this function...
40+
validations:
41+
required: true
42+
43+
- type: checkboxes
44+
attributes:
45+
label: I have checked existing issues, dicussion and documentation
46+
description: You agree to check all the resources above before opening a new issue.
47+
options:
48+
- label: I confirm I have checked existing issues, dicussion and documentation.
49+
required: true

README.rst

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,15 +43,15 @@ The stack supports the following MCUs:
4343
- **Nuvoton:** NUC120, NUC121/NUC125, NUC126, NUC505
4444
- **NXP:**
4545

46-
- iMX RT Series: RT1011, RT1015, RT1021, RT1052, RT1062, RT1064
46+
- iMX RT Series: RT10xx, RT11xx
4747
- Kinetis: KL25, K32L2
4848
- LPC Series: 11u, 13, 15, 17, 18, 40, 43, 51u, 54, 55
4949

5050
- **Raspberry Pi:** RP2040
5151
- **Renesas:** RX63N, RX65N, RX72N
5252
- **Silabs:** EFM32GG
5353
- **Sony:** CXD56
54-
- **ST:** STM32 series: F0, F1, F2, F3, F4, F7, H7, G4, L0, L1, L4, L4+
54+
- **ST:** STM32 series: F0, F1, F2, F3, F4, F7, H7, G4, L0, L1, L4, L4+, WB
5555
- **TI:** MSP430, MSP432E4, TM4C123
5656
- **ValentyUSB:** eptri
5757

@@ -94,8 +94,8 @@ TinyUSB is completely thread-safe by pushing all Interrupt Service Request (ISR)
9494
- `RT-Thread <https://github.com/RT-Thread/rt-thread>`_: `repo <https://github.com/RT-Thread-packages/tinyusb>`_
9595
- **Mynewt** Due to the newt package build system, Mynewt examples are better to be on its `own repo <https://github.com/hathach/mynewt-tinyusb-example>`_
9696

97-
Local Docs
98-
==========
97+
Docs
98+
====
9999

100100
- Info
101101

docs/info/changelog.rst

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,64 @@
22
Changelog
33
*********
44

5+
0.14.0
6+
======
7+
8+
- Improve compiler support for CCRX and IAR
9+
- Add timeout to osal_queue_receive()
10+
- Add tud_task_ext(timeout, in_isr) as generic version of tud_task(). Same as tuh_task_ext(), tuh_task()
11+
- Enable more warnings -Wnull-dereference -Wuninitialized -Wunused -Wredundant-decls -Wconversion
12+
- Add new examples
13+
- host/bare_api to demonstrate generic (app-level) enumeration and endpoint transfer
14+
- 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.
15+
16+
Controller Driver (DCD & HCD)
17+
-----------------------------
18+
19+
- Enhance rhports management to better support dual roles
20+
- 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
21+
- tud_init(rphort), tuh_init(rhport) can be used to init stack on specified roothub port (controller) instead of tusb_init(void)
22+
- Add dcd/hcd port specific defines TUP_ (stand for tinyusb port-specific)
23+
- [dwc2]
24+
- Update to support stm32 h72x, h73x with only 1 otg controller
25+
- Fix overwrite with grstctl when disable endpoint
26+
- [EHCI] Fix an issue with EHCI driver
27+
- [msp430] Fix for possible bug in msp430-elf-gcc 9.3.0
28+
- [nrf5x] Fix DMA access race condition using atomic function
29+
- [pic32] Fix PIC32 santiy
30+
- [rp2040]
31+
- Add PICO-PIO-USB as controller (device/host) support for rp2040
32+
- Use shared IRQ handlers, so user can also hook the USB IRQ
33+
- Fix resumed signal not reported to device stack
34+
- [stm32fsdev] Add support for stm32wb55
35+
36+
Device Stack
37+
------------
38+
39+
- [Audio] Add support for feedback endpoint computation
40+
- New API tud_audio_feedback_params_cb(), tud_audio_feedback_interval_isr().
41+
- Supported computation method are: frequency with fixed/float or power of 2. Feedback with fifo count is not yet supported.
42+
- Fix nitfs (should be 3) in TUD_AUDIO_HEADSET_STEREO_DESCRIPTOR
43+
- Fix typo in audiod_rx_done_cb()
44+
- [DFU] Fix coexistence with other interfaces BTH, RNDIS
45+
- [MSC] Fix inquiry response additional length field
46+
- [Venndor] Improve write performance
47+
48+
Host Stack
49+
----------
50+
51+
- Add new API tuh_configure(rhport, cfg_id, cfg_param) for dynamnic port specific behavior configuration
52+
- [HID] Open OUT endpoint if available
53+
- [Hub] hub clear port and device interrupts
54+
- [USBH] Major improvement
55+
- Rework usbh control transfer with complete callback. New API tuh_control_xfer() though still only carry 1 usbh (no queueing) at a time.
56+
- Add generic endpoint transfer with tuh_edpt_open(), tuh_edpt_xfer(). Require `CFG_TUH_API_EDPT_XFER=1`
57+
- Support app-level enumeration with new APIs
58+
- tuh_descriptor_get(), tuh_descriptor_get_device(), tuh_descriptor_get_configuration(), tuh_descriptor_get_hid_report()
59+
- tuh_descriptor_get_string(), tuh_descriptor_get_manufacturer_string(), tuh_descriptor_get_product_string(), tuh_descriptor_get_serial_string()
60+
- Also add _sync() as sync/blocking version for above APIs
61+
62+
563
0.13.0
664
======
765

docs/reference/getting_started.rst

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -50,16 +50,7 @@ Some TinyUSB examples also requires external submodule libraries in ``/lib`` suc
5050
5151
$ git submodule update --init lib
5252
53-
In addition, MCU driver submodule is also needed to provide low-level MCU peripheral's driver. To download these depencies for your board, run the ``get-dpes`` as follow.
54-
55-
.. code-block::
56-
57-
$ make BOARD=feather_nrf52840_express get-deps
58-
59-
60-
Some modules will also require a module-specific SDK (e.g. RP2040) or binary (e.g. Sony Spresense) to build examples.
61-
62-
Note: some examples especially those that uses Vendor class (e.g webUSB) may requires udev permission on Linux (and/or macOS) to access usb device. It depends on your OS distro, typically copy ``/examples/device/99-tinyusb.rules`` file to /etc/udev/rules.d/ then run ``sudo udevadm control --reload-rules && sudo udevadm trigger`` is good enough.
53+
Some ports will also require a port-specific SDK (e.g. RP2040) or binary (e.g. Sony Spresense) to build examples. They are out of scope for tinyusb, you should download/install it first according to its manufacturer guide.
6354

6455
Build
6556
^^^^^
@@ -70,6 +61,13 @@ To build example, first change directory to an example folder.
7061
7162
$ cd examples/device/cdc_msc
7263
64+
Before building, we need to download MCU driver submodule to provide low-level MCU peripheral's driver first. Run the ``get-dpes`` target in one of the example folder as follow. You only need to do this once per mcu
65+
66+
.. code-block::
67+
68+
$ make BOARD=feather_nrf52840_express get-deps
69+
70+
7371
Some modules (e.g. RP2040 and ESP32s2) require the project makefiles to be customized using CMake. If necessary apply any setup steps for the platform's SDK.
7472

7573
Then compile with ``make BOARD=[board_name] all``\ , for example
@@ -79,6 +77,7 @@ Then compile with ``make BOARD=[board_name] all``\ , for example
7977
$ make BOARD=feather_nrf52840_express all
8078
8179
Note: ``BOARD`` can be found as directory name in ``hw/bsp``\ , either in its family/boards or directly under bsp (no family).
80+
Note: some examples especially those that uses Vendor class (e.g webUSB) may requires udev permission on Linux (and/or macOS) to access usb device. It depends on your OS distro, typically copy ``/examples/device/99-tinyusb.rules`` file to /etc/udev/rules.d/ then run ``sudo udevadm control --reload-rules && sudo udevadm trigger`` is good enough.
8281

8382
Port Selection
8483
~~~~~~~~~~~~~~

docs/reference/supported.rst

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,8 @@ Supported MCUs
4141
| | NUC505 || || | |
4242
+--------------+---------+-------------+--------+------+-----------+-------------------+--------------+
4343
| NXP | iMXRT | RT10xx |||| ci_hs | |
44+
| | +-------------+--------+------+-----------+-------------------+--------------+
45+
| | | RT11xx |||| ci_hs | |
4446
| +---------+-------------+--------+------+-----------+-------------------+--------------+
4547
| | Kinetis | KL25 |||| | |
4648
| | +-------------+--------+------+-----------+-------------------+--------------+
@@ -58,7 +60,7 @@ Supported MCUs
5860
| | +-------------+--------+------+-----------+-------------------+--------------+
5961
| | | 55 || || lpc_ip3511 | |
6062
+--------------+---------+-------------+--------+------+-----------+-------------------+--------------+
61-
| Raspberry Pi | RP2040 |||| rp2040 | |
63+
| Raspberry Pi | RP2040 |||| rp2040, pio_usb | |
6264
+--------------+-----------------------+--------+------+-----------+-------------------+--------------+
6365
| Renesas | RX 63N, 65N, 72N |||| usba | |
6466
+--------------+-----------------------+--------+------+-----------+-------------------+--------------+
@@ -93,6 +95,8 @@ Supported MCUs
9395
| | L4+ || | | dwc2 | |
9496
| +-----------------------+--------+------+-----------+-------------------+--------------+
9597
| | U5 || | | dwc2 | |
98+
| +-----------------------+--------+------+-----------+-------------------+--------------+
99+
| | WBx5 || | | stm32_fsdev | |
96100
+--------------+-----------------------+--------+------+-----------+-------------------+--------------+
97101
| TI | MSP430 |||| msp430x5xx | |
98102
| +-----------------------+--------+------+-----------+-------------------+--------------+
@@ -239,6 +243,7 @@ iMX RT
239243
- `MIMX RT1060 Evaluation Kit <https://www.nxp.com/design/development-boards/i.mx-evaluation-and-development-boards/mimxrt1060-evk-i.mx-rt1060-evaluation-kit:MIMXRT1060-EVK>`__
240244
- `MIMX RT1064 Evaluation Kit <https://www.nxp.com/design/development-boards/i.mx-evaluation-and-development-boards/mimxrt1064-evk-i.mx-rt1064-evaluation-kit:MIMXRT1064-EVK>`__
241245
- `Teensy 4.0 Development Board <https://www.pjrc.com/store/teensy40.html>`__
246+
- `Teensy 4.1 Development Board <https://www.pjrc.com/store/teensy41.html>`__
242247

243248
Kinetis
244249
^^^^^^^
@@ -377,6 +382,10 @@ L4
377382
- `STM32 L4P5zg Nucleo <https://www.st.com/en/evaluation-tools/nucleo-l4p5zg.html>`__
378383
- `STM32 L4R5zi Nucleo <https://www.st.com/en/evaluation-tools/nucleo-l4r5zi.html>`__
379384

385+
WB
386+
^^
387+
- `STM32 WB55 Nucleo <https://www.st.com/en/evaluation-tools/p-nucleo-wb55.html>`__
388+
380389
TI
381390
--
382391

src/tusb_option.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ typedef int make_iso_compilers_happy;
3333
#include "common/tusb_compiler.h"
3434

3535
#define TUSB_VERSION_MAJOR 0
36-
#define TUSB_VERSION_MINOR 13
36+
#define TUSB_VERSION_MINOR 14
3737
#define TUSB_VERSION_REVISION 0
3838
#define TUSB_VERSION_STRING TU_STRING(TUSB_VERSION_MAJOR) "." TU_STRING(TUSB_VERSION_MINOR) "." TU_STRING(TUSB_VERSION_REVISION)
3939

0 commit comments

Comments
 (0)