Skip to content

Commit 1eb6ce7

Browse files
authored
Merge pull request hathach#2343 from hathach/release-0.16.0
Release 0.16.0
2 parents 2fc9fbe + e558869 commit 1eb6ce7

File tree

12 files changed

+291
-124
lines changed

12 files changed

+291
-124
lines changed

README.rst

Lines changed: 33 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,16 @@
11
|Build Status| |Documentation Status| |Fuzzing Status| |License|
22

3-
TinyUSB
4-
=======
3+
Sponsors
4+
========
5+
6+
TinyUSB is funded by: Adafruit. Purchasing products from them helps to support this project.
7+
8+
.. figure:: docs/assets/adafruit_logo.svg
9+
:alt: Adafruit Logo
10+
:target: https://www.adafruit.com
11+
12+
TinyUSB Project
13+
===============
514

615
.. figure:: docs/assets/logo.svg
716
:alt: TinyUSB
@@ -19,23 +28,28 @@ the non-ISR task function. Check out the online `documentation <https://docs.tin
1928

2029
.
2130
├── docs # Documentation
22-
├── examples # Sample with Makefile build support
31+
├── examples # Examples with make and cmake build system
2332
├── hw
2433
│ ├── bsp # Supported boards source files
2534
│ └── mcu # Low level mcu core & peripheral drivers
2635
├── lib # Sources from 3rd party such as freeRTOS, fatfs ...
2736
├── src # All sources files for TinyUSB stack itself.
28-
├── test # Unit tests for the stack
37+
├── test # Tests: unit test, fuzzing, hardware test
2938
└── tools # Files used internally
3039

31-
Sponsors
32-
========
3340

34-
TinyUSB is funded by
41+
Getting started
42+
===============
3543

36-
.. figure:: docs/assets/adafruit_logo.svg
37-
:alt: Adafruit
38-
:target: https://www.adafruit.com
44+
See the `online documentation <https://docs.tinyusb.org>`_ for information about using TinyUSB and how it is implemented.
45+
46+
We use `GitHub Discussions <https://github.com/hathach/tinyusb/discussions>`_ as our forum. It is a great place to ask questions and advice from the community or to discuss your TinyUSB-based projects.
47+
48+
For bugs and feature requests, please `raise an issue <https://github.com/hathach/tinyusb/issues>`_ and follow the templates there.
49+
50+
Check out `Getting Started`_ guide for adding TinyUSB to your project or building the examples. If you are new to TinyUSB, we recommend starting with the `cdc_msc` example.
51+
52+
See `Porting`_ guide for adding support for new MCUs and boards.
3953

4054
Device Stack
4155
============
@@ -146,6 +160,15 @@ Following CPUs are supported, check out `Supported Devices`_ for comprehensive l
146160
| WCH | CH32F20x, CH32V307, |
147161
+--------------+------------------------------------------------------------+
148162

163+
License
164+
=======
165+
166+
All TinyUSB sources in the ``src`` folder are licensed under MIT
167+
license, the `Full license is here <LICENSE>`__. However, each file can be
168+
individually licensed especially those in ``lib`` and ``hw/mcu`` folder.
169+
Please make sure you understand all the license term for files you use
170+
in your project.
171+
149172
Docs
150173
====
151174

@@ -168,16 +191,6 @@ Docs
168191
- `Structure`_
169192
- `Porting`_
170193

171-
License
172-
=======
173-
174-
All TinyUSB sources in the ``src`` folder are licensed under MIT
175-
license, the `Full license is here <LICENSE>`__. However, each file can be
176-
individually licensed especially those in ``lib`` and ``hw/mcu`` folder.
177-
Please make sure you understand all the license term for files you use
178-
in your project.
179-
180-
181194
.. |Build Status| image:: https://github.com/hathach/tinyusb/actions/workflows/cmake_arm.yml/badge.svg
182195
:target: https://github.com/hathach/tinyusb/actions
183196
.. |Documentation Status| image:: https://readthedocs.org/projects/tinyusb/badge/?version=latest

docs/info/changelog.rst

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

5+
0.16.0
6+
======
7+
8+
- New controller driver: MAX3421e (usb host shield), rusb2 (Renesas USB2.0), ChipIdea fullspeed
9+
- New MCUs: MCXn9, nRF5340, STM32: G0, G4, L5, U575, U5A5, RA6m5, CH32F20x
10+
- Add initial TypeC PowerDelivery support with STM32G4
11+
- Remove submodules and use python script to manage repo dependencies #1947
12+
- Add CMake support for most families and boards, move build file from tools/ to examples/build_system
13+
- Add ETM trace support with JTrace for nrf52840, nrf5340, mcb1857, stm32h743eval, ra6m5
14+
- [osal] Make it possible to override the osal_task_delay() in osal_none
15+
- Add CDC+UAC2 composite device example
16+
- Enhance Hardware-in-the-loop (HIL) testing with more boards: rp2040, stm32l412nucleo, stm32f746disco, lpcxpresso43s67
17+
18+
Controller Driver (DCD & HCD)
19+
-----------------------------
20+
21+
- Add new ISO endpoint API: dcd_edpt_iso_alloc() and dcd_edpt_iso_activate()
22+
- Remove legacy driver st/synopsys
23+
24+
- EHCI
25+
26+
- [iMXRT] Add dache clean/invalidate when memory is in cacheable memory
27+
- Fix portsc write issue which cause problem with enumeration
28+
- Fix an issue when doing port reset write to portsc
29+
- Fix port change detect is not recognized when power on with attached device
30+
- Fix xfer failed with disconnected device as stalled
31+
- Fix error on EHCI causes xfer error in non-queued qhd which cause memory fault
32+
- Un-roll recursive hub removal with usbh queue
33+
- Fix issue when removing queue head
34+
- Implement hcd_edpt_abort_xfer()
35+
- use standard USB complete interrupt instead of custom chipidea async/period interrupt to be more compatible with other ehci implementation
36+
- refactor usb complete & error isr processing, merge, update. Fix EHCI QHD reuses QTD on wrong endpoint
37+
- Improve bus reset, fix send_setup() not carried out if halted previously
38+
- Fix clear qhd halted bit if not caused by STALL protocol to allow for next transfer
39+
40+
- ChipIdea Highspeed
41+
42+
- Fix control transfer issue when previous status and new setup complete in the same isr frame
43+
- [imxrt] Add dcache support for cache region
44+
45+
- ChipIdea Fullspeed
46+
47+
- Generalize ChipIdea Fullspeed driver for mcxn9 (port 0), kinetis
48+
49+
- nrf
50+
51+
- Fix DMA race condition with ISO OUT transfer #1946
52+
- Add support for nRF5340 with pca10095 board
53+
54+
- Renesas rusb2
55+
56+
- Generalize rusb2 driver for ra, rx mcus
57+
- rework both dcd and hcd for better multiple ports support
58+
- Add support for board with HS USB port: ra6m5 port1
59+
60+
- rp2040
61+
62+
- [dcd] Make writes to SIE_CTRL aware of concurrent access
63+
- [hcd] add hcd_frame_number(), hcd_edpt_abort_xfer() for pio-usb host
64+
65+
- stm32 fsdev:
66+
67+
- Add STM32L5 support
68+
- Implement dcd_edpt_iso_alloc() and dcd_edpt_iso_activate()
69+
70+
- OHCI
71+
72+
- Allows configurable root hub ports, handles SMM mode (Ref OHCI spec 5.1.1.3.3) and Bios mode (Ref OHCI spec 5.1.1.3.4)
73+
- Fix FrameIntervalToggle must be toggled after we write the FrameInterval (Ref OHCI Spec 7.3.1)
74+
- Wait PowerOnToPowerGoodTime after we enable power of the RH ports (Ref OHCI Spec 7.4.1)
75+
- Generate port interrupts for devices already connected during init.
76+
- Fix issue when removing queue head
77+
- Disable MIE during IRQ processing and clear HccaDoneHead on completion as per OCHI Spec Page 80
78+
79+
Device Stack
80+
------------
81+
82+
- Add optional hooks tud_event_hook_cb()
83+
- Audio (UAC2)
84+
85+
- Fix feedback EP buffer alignment.
86+
- Fix encoding, update example
87+
- Improve IN transfer
88+
89+
- Bluetooth
90+
91+
- Add historical EP compatibility for Bluetooth HCI
92+
93+
- CDC
94+
95+
- Fix line_coding alignment
96+
- Fix typo in cdc line coding enum
97+
98+
- MIDI
99+
100+
- Fix stream_write() always writes system messages to cable 0
101+
- Fix incorrect NOTE_ON, NOTE_OFF definitions
102+
103+
- USBTMC: Fix tmc488 bit order
104+
105+
- Vendor: fix read()/write() race condition
106+
107+
- Video (UVC)
108+
109+
- Add the capability for video class to handle a bulk endpoint in the streaming interface.
110+
111+
Host Stack
112+
----------
113+
114+
- USBH
115+
116+
- Add new APIs: tuh_interface_set(), tuh_task_event_ready(), tuh_edpt_abort_xfer(), tuh_rhport_reset_bus(), tuh_rhport_is_active()
117+
- Fix issue when device generate multiple attach/detach/attach when plugging in
118+
- Prefer application callback over built-in driver on transfer complete event
119+
- Correct hcd_edpt_clear_stall() API signature
120+
- Separate bus reset delay and contact debouncing delay in enumeration
121+
- Support usbh_app_driver_get_cb() for application drivers
122+
- Fix usbh enumeration removal race condition
123+
- Add optional hooks tuh_event_hook_cb()
124+
125+
- CDC
126+
127+
- Breaking: change tuh_cdc_itf_get_info() to use tuh_itf_info_t instead of tuh_cdc_info_t
128+
- Fix cdc host enumeration issue when device does not support line request
129+
- Add support for vendor usb2uart serial: ftdi, cp210x, ch9102f
130+
- Improve sync control API e.g tuh_cdc_set_control_line_state(), tuh_cdc_set_line_coding()
131+
132+
- HID
133+
134+
- Add new APIs tuh_hid_send_report(), tuh_hid_itf_get_info(), tuh_hid_receive_ready(), tuh_hid_send_ready(), tuh_hid_set_default_protocol()
135+
- Change meaning of CFG_TUH_HID to total number of HID interfaces supported. Previously CFG_TUH_HID is max number of interfaces per device which is rather limited and consume more resources than needed.
136+
137+
- HUB
138+
139+
- Fix handling of empty "status change" interrupt
140+
- Fix issue with hub status_change is not aligned
141+
142+
- MSC
143+
144+
- Fix bug in tuh_msc_ready()
145+
- Fix host msc get maxlun not using aligned section memory
146+
5147
0.15.0
6148
======
7149

0 commit comments

Comments
 (0)