summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHa Thach <[email protected]>2022-08-19 21:13:09 +0700
committerGitHub <[email protected]>2022-08-19 21:13:09 +0700
commitf6c1ce5b1cdc4d71a90efbdaff9d785dc0985d69 (patch)
treeed7ddb9d87892e3bbd9bfc190ad35c0a0f722adb
parent792b2fb9564d0baf9d7eff3e723f189df21d9053 (diff)
parent961e83e0836879ef9010184404c0f61c933035bf (diff)
Merge pull request #1569 from hathach/release-0.14.0
increase version to 0.14.0 for release
-rw-r--r--.github/ISSUE_TEMPLATE/bug_report.yml8
-rw-r--r--.github/ISSUE_TEMPLATE/feature_request.md14
-rw-r--r--.github/ISSUE_TEMPLATE/feature_request.yml49
-rw-r--r--README.rst8
-rw-r--r--docs/info/changelog.rst58
-rw-r--r--docs/reference/getting_started.rst19
-rw-r--r--docs/reference/supported.rst11
-rw-r--r--src/tusb_option.h2
8 files changed, 139 insertions, 30 deletions
diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml
index c0b520e35..2958d3b12 100644
--- a/.github/ISSUE_TEMPLATE/bug_report.yml
+++ b/.github/ISSUE_TEMPLATE/bug_report.yml
@@ -76,3 +76,11 @@ body:
description: If applicable, add screenshots to help explain your problem.
validations:
required: false
+
+ - type: checkboxes
+ attributes:
+ label: I have checked existing issues, dicussion and documentation
+ description: You agree to check all the resources above before opening a new issue.
+ options:
+ - label: I confirm I have checked existing issues, dicussion and documentation.
+ required: true
diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md
deleted file mode 100644
index 562d3113b..000000000
--- a/.github/ISSUE_TEMPLATE/feature_request.md
+++ /dev/null
@@ -1,14 +0,0 @@
----
-name: Feature Request
-about: Suggest an idea for this project
-title: ''
-labels: Feature 💡
-assignees: ''
-
----
-
-**Is your feature request related to a problem? Please describe.**
-A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
-
-**Describe the solution you'd like**
-A clear and concise description of what you want to happen.
diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml
new file mode 100644
index 000000000..e168b73a6
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/feature_request.yml
@@ -0,0 +1,49 @@
+name: Feature Request
+description: Suggest an idea for this project
+labels: 'Feature 💡'
+body:
+ - type: markdown
+ attributes:
+ value: |
+ Thanks for taking the time to fill out this request!
+ It's okay to leave some blank if it doesn't apply to your request.
+
+ - type: input
+ attributes:
+ label: Related area
+ description: Please briefly explain the area of your Feature Request.
+ placeholder: eg. new port support, device stack, class driver ...
+ validations:
+ required: true
+
+ - type: input
+ attributes:
+ label: Hardware specification
+ description: Please provide if your proposal depends on specific Hardware.
+ placeholder: eg. rp2040, samd51 ...
+ validations:
+ required: true
+
+ - type: textarea
+ attributes:
+ label: Is your feature request related to a problem?
+ description: Please provide a clear and concise description of what the problem is. Add relevant issue link.
+ placeholder: ex. I'm facing the issue/missing function...
+ validations:
+ required: true
+
+ - type: textarea
+ attributes:
+ label: Describe the solution you'd like
+ description: Please provide a clear and concise description of what you want to happen.
+ placeholder: ex. When using this function...
+ validations:
+ required: true
+
+ - type: checkboxes
+ attributes:
+ label: I have checked existing issues, dicussion and documentation
+ description: You agree to check all the resources above before opening a new issue.
+ options:
+ - label: I confirm I have checked existing issues, dicussion and documentation.
+ required: true
diff --git a/README.rst b/README.rst
index 1a96f6e16..05963a655 100644
--- a/README.rst
+++ b/README.rst
@@ -43,7 +43,7 @@ The stack supports the following MCUs:
- **Nuvoton:** NUC120, NUC121/NUC125, NUC126, NUC505
- **NXP:**
- - iMX RT Series: RT1011, RT1015, RT1021, RT1052, RT1062, RT1064
+ - iMX RT Series: RT10xx, RT11xx
- Kinetis: KL25, K32L2
- LPC Series: 11u, 13, 15, 17, 18, 40, 43, 51u, 54, 55
@@ -51,7 +51,7 @@ The stack supports the following MCUs:
- **Renesas:** RX63N, RX65N, RX72N
- **Silabs:** EFM32GG
- **Sony:** CXD56
-- **ST:** STM32 series: F0, F1, F2, F3, F4, F7, H7, G4, L0, L1, L4, L4+
+- **ST:** STM32 series: F0, F1, F2, F3, F4, F7, H7, G4, L0, L1, L4, L4+, WB
- **TI:** MSP430, MSP432E4, TM4C123
- **ValentyUSB:** eptri
@@ -94,8 +94,8 @@ TinyUSB is completely thread-safe by pushing all Interrupt Service Request (ISR)
- `RT-Thread <https://github.com/RT-Thread/rt-thread>`_: `repo <https://github.com/RT-Thread-packages/tinyusb>`_
- **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>`_
-Local Docs
-==========
+Docs
+====
- Info
diff --git a/docs/info/changelog.rst b/docs/info/changelog.rst
index bd6712b93..67bb6af65 100644
--- a/docs/info/changelog.rst
+++ b/docs/info/changelog.rst
@@ -2,6 +2,64 @@
Changelog
*********
+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
+
+
0.13.0
======
diff --git a/docs/reference/getting_started.rst b/docs/reference/getting_started.rst
index 1088d4700..3cdb46849 100644
--- a/docs/reference/getting_started.rst
+++ b/docs/reference/getting_started.rst
@@ -50,16 +50,7 @@ Some TinyUSB examples also requires external submodule libraries in ``/lib`` suc
$ git submodule update --init lib
-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.
-
-.. code-block::
-
- $ make BOARD=feather_nrf52840_express get-deps
-
-
-Some modules will also require a module-specific SDK (e.g. RP2040) or binary (e.g. Sony Spresense) to build examples.
-
-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.
+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.
Build
^^^^^
@@ -70,6 +61,13 @@ To build example, first change directory to an example folder.
$ cd examples/device/cdc_msc
+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
+
+.. code-block::
+
+ $ make BOARD=feather_nrf52840_express get-deps
+
+
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.
Then compile with ``make BOARD=[board_name] all``\ , for example
@@ -79,6 +77,7 @@ Then compile with ``make BOARD=[board_name] all``\ , for example
$ make BOARD=feather_nrf52840_express all
Note: ``BOARD`` can be found as directory name in ``hw/bsp``\ , either in its family/boards or directly under bsp (no family).
+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.
Port Selection
~~~~~~~~~~~~~~
diff --git a/docs/reference/supported.rst b/docs/reference/supported.rst
index 7ce982713..1fb858a45 100644
--- a/docs/reference/supported.rst
+++ b/docs/reference/supported.rst
@@ -41,6 +41,8 @@ Supported MCUs
| | NUC505 | ✔ | | ✔ | | |
+--------------+---------+-------------+--------+------+-----------+-------------------+--------------+
| NXP | iMXRT | RT10xx | ✔ | ✔ | ✔ | ci_hs | |
+| | +-------------+--------+------+-----------+-------------------+--------------+
+| | | RT11xx | ✔ | ✔ | ✔ | ci_hs | |
| +---------+-------------+--------+------+-----------+-------------------+--------------+
| | Kinetis | KL25 | ✔ | ⚠ | ✖ | | |
| | +-------------+--------+------+-----------+-------------------+--------------+
@@ -58,7 +60,7 @@ Supported MCUs
| | +-------------+--------+------+-----------+-------------------+--------------+
| | | 55 | ✔ | | ✔ | lpc_ip3511 | |
+--------------+---------+-------------+--------+------+-----------+-------------------+--------------+
-| Raspberry Pi | RP2040 | ✔ | ✔ | ✖ | rp2040 | |
+| Raspberry Pi | RP2040 | ✔ | ✔ | ✖ | rp2040, pio_usb | |
+--------------+-----------------------+--------+------+-----------+-------------------+--------------+
| Renesas | RX 63N, 65N, 72N | ✔ | ✔ | ✖ | usba | |
+--------------+-----------------------+--------+------+-----------+-------------------+--------------+
@@ -93,6 +95,8 @@ Supported MCUs
| | L4+ | ✔ | | | dwc2 | |
| +-----------------------+--------+------+-----------+-------------------+--------------+
| | U5 | âš  | | | dwc2 | |
+| +-----------------------+--------+------+-----------+-------------------+--------------+
+| | WBx5 | ✔ | | | stm32_fsdev | |
+--------------+-----------------------+--------+------+-----------+-------------------+--------------+
| TI | MSP430 | ✔ | ✖ | ✖ | msp430x5xx | |
| +-----------------------+--------+------+-----------+-------------------+--------------+
@@ -239,6 +243,7 @@ iMX RT
- `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>`__
- `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>`__
- `Teensy 4.0 Development Board <https://www.pjrc.com/store/teensy40.html>`__
+- `Teensy 4.1 Development Board <https://www.pjrc.com/store/teensy41.html>`__
Kinetis
^^^^^^^
@@ -377,6 +382,10 @@ L4
- `STM32 L4P5zg Nucleo <https://www.st.com/en/evaluation-tools/nucleo-l4p5zg.html>`__
- `STM32 L4R5zi Nucleo <https://www.st.com/en/evaluation-tools/nucleo-l4r5zi.html>`__
+WB
+^^
+- `STM32 WB55 Nucleo <https://www.st.com/en/evaluation-tools/p-nucleo-wb55.html>`__
+
TI
--
diff --git a/src/tusb_option.h b/src/tusb_option.h
index e0447b10c..e7fc68858 100644
--- a/src/tusb_option.h
+++ b/src/tusb_option.h
@@ -33,7 +33,7 @@ typedef int make_iso_compilers_happy;
#include "common/tusb_compiler.h"
#define TUSB_VERSION_MAJOR 0
-#define TUSB_VERSION_MINOR 13
+#define TUSB_VERSION_MINOR 14
#define TUSB_VERSION_REVISION 0
#define TUSB_VERSION_STRING TU_STRING(TUSB_VERSION_MAJOR) "." TU_STRING(TUSB_VERSION_MINOR) "." TU_STRING(TUSB_VERSION_REVISION)