Skip to content

Commit 86c416d

Browse files
authored
Merge pull request hathach#1890 from hathach/release-0.15.0
update version to 0.15.0
2 parents c0d7945 + f0ab6d8 commit 86c416d

File tree

5 files changed

+136
-16
lines changed

5 files changed

+136
-16
lines changed

.github/workflows/build_arm.yml

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@ jobs:
171171
# - pico-probe is /dev/ttyACM0
172172
# ---------------------------------------
173173
hw-rp2040-test:
174-
# Limit the run to only hathach due to limited resource on RPI4
174+
# run only with hathach's commit due to limited resource on RPI4
175175
if: github.repository_owner == 'hathach'
176176
needs: build-arm
177177
runs-on: [self-hosted, Linux, ARM64, rp2040]
@@ -190,30 +190,31 @@ jobs:
190190

191191
- name: Create flash.sh
192192
run: |
193-
echo > flash.sh 'cmdout=$(openocd -f "interface/picoprobe.cfg" -f "target/rp2040.cfg" -c "program $1 reset exit")'
193+
#echo > flash.sh 'cmdout=$(openocd -f "interface/picoprobe.cfg" -f "target/rp2040.cfg" -c "program $1 reset exit")'
194+
echo > flash.sh 'pyocd flash -t rp2040 $1'
194195
echo >> flash.sh 'if (( $? )) ; then echo $cmdout ; fi'
195196
chmod +x flash.sh
196197
197198
- name: Test cdc_dual_ports
198199
run: |
199200
./flash.sh cdc_dual_ports.elf
200-
while (! ([ -e /dev/ttyACM1 ] && [ -e /dev/ttyACM2 ])) && [ $SECONDS -le 5 ]; do :; done
201+
while (! ([ -e /dev/ttyACM1 ] && [ -e /dev/ttyACM2 ])) && [ $SECONDS -le 10 ]; do :; done
201202
test -e /dev/ttyACM1 && echo "ttyACM1 exists"
202203
test -e /dev/ttyACM2 && echo "ttyACM2 exists"
203204
204205
- name: Test cdc_msc
205206
run: |
206207
./flash.sh cdc_msc.elf
207208
readme='/media/pi/TinyUSB MSC/README.TXT'
208-
while (! ([ -e /dev/ttyACM1 ] && [ -f "$readme" ])) && [ $SECONDS -le 5 ]; do :; done
209+
while (! ([ -e /dev/ttyACM1 ] && [ -f "$readme" ])) && [ $SECONDS -le 10 ]; do :; done
209210
test -e /dev/ttyACM1 && echo "ttyACM1 exists"
210211
test -f "$readme" && echo "$readme exists"
211212
cat "$readme"
212213
213214
- name: Test dfu
214215
run: |
215216
./flash.sh dfu.elf
216-
while (! (dfu-util -l | grep "Found DFU")) && [ $SECONDS -le 5 ]; do :; done
217+
while (! (dfu-util -l | grep "Found DFU")) && [ $SECONDS -le 10 ]; do :; done
217218
dfu-util -d cafe -a 0 -U dfu0
218219
dfu-util -d cafe -a 1 -U dfu1
219220
grep "TinyUSB DFU! - Partition 0" dfu0
@@ -222,7 +223,7 @@ jobs:
222223
- name: Test dfu_runtime
223224
run: |
224225
./flash.sh dfu_runtime.elf
225-
while (! (dfu-util -l | grep "Found Runtime")) && [ $SECONDS -le 5 ]; do :; done
226+
while (! (dfu-util -l | grep "Found Runtime")) && [ $SECONDS -le 10 ]; do :; done
226227
227228
# ---------------------------------------
228229
# Hardware in the loop (HIL)
@@ -260,7 +261,7 @@ jobs:
260261
- name: Test cdc_dual_ports
261262
run: |
262263
./flash.sh cdc_dual_ports.elf
263-
while (! ([ -e /dev/ttyACM1 ] && [ -e /dev/ttyACM2 ])) && [ $SECONDS -le 5 ]; do :; done
264+
while (! ([ -e /dev/ttyACM1 ] && [ -e /dev/ttyACM2 ])) && [ $SECONDS -le 10 ]; do :; done
264265
test -e /dev/ttyACM1 && echo "ttyACM1 exists"
265266
test -e /dev/ttyACM2 && echo "ttyACM2 exists"
266267
@@ -270,15 +271,15 @@ jobs:
270271
run: |
271272
./flash.sh cdc_msc.elf
272273
readme='/media/pi/TinyUSB MSC/README.TXT'
273-
while (! ([ -e /dev/ttyACM1 ] && [ -f "$readme" ])) && [ $SECONDS -le 5 ]; do :; done
274+
while (! ([ -e /dev/ttyACM1 ] && [ -f "$readme" ])) && [ $SECONDS -le 10 ]; do :; done
274275
test -e /dev/ttyACM1 && echo "ttyACM1 exists"
275276
test -f "$readme" && echo "$readme exists"
276277
cat "$readme"
277278
278279
- name: Test dfu
279280
run: |
280281
./flash.sh dfu.elf
281-
while (! (dfu-util -l | grep "Found DFU")) && [ $SECONDS -le 5 ]; do :; done
282+
while (! (dfu-util -l | grep "Found DFU")) && [ $SECONDS -le 10 ]; do :; done
282283
dfu-util -d cafe -a 0 -U dfu0
283284
dfu-util -d cafe -a 1 -U dfu1
284285
grep "TinyUSB DFU! - Partition 0" dfu0
@@ -287,4 +288,4 @@ jobs:
287288
- name: Test dfu_runtime
288289
run: |
289290
./flash.sh dfu_runtime.elf
290-
while (! (dfu-util -l | grep "Found Runtime")) && [ $SECONDS -le 5 ]; do :; done
291+
while (! (dfu-util -l | grep "Found Runtime")) && [ $SECONDS -le 10 ]; do :; done

docs/info/changelog.rst

Lines changed: 81 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,32 +2,108 @@
22
Changelog
33
*********
44

5+
0.15.0
6+
======
7+
8+
- Add codespell to detect typo
9+
- Add support for fuzzing and bagde for oss-fuzz
10+
- [osal]
11+
12+
- Allow the use of non-static allocation for FreeRTOS
13+
- Fix FreeRTOS wrong task switch in some cases
14+
15+
- Fix tu_fifo memory overflown when repeatedly write to overwritable fifo (accumulated more than 2 depths)
16+
- Better support for IAR (ARM) with ci build check for stm32 mcus.
17+
- Fix Windows build for some mingw gnu make situations
18+
19+
Controller Driver (DCD & HCD)
20+
-----------------------------
21+
22+
- Add new port support (WIP) for WCH CH32V307 USB Highspeed
23+
- Add new port support (WIP) for PIC32MM/MX & PIC24
24+
25+
- [nRF]
26+
27+
- Fix endpoint internal state when closed
28+
- Fix reception of large ISO packets
29+
30+
- [rp2040]
31+
32+
- [dcd] Implement workaround for Errata 15. This enable SOF when bulk-in endpoint is in use and reduce its bandwidth to only 80%
33+
- [hcd] Fix shared irq slots filling up when hcd_init() is called multiple times
34+
- [hcd] Support host bulk endpoint using hw "interrupt" endpoint. Note speed limit is 64KB/s
35+
36+
- [samd][dcd] Add support for ISO endpoint
37+
- [dwc2][dcd] Add support for stm32u5xx
38+
- [esp32sx] Fix Isochronous transfers only transmitted on even frame
39+
- [lpc_ip3511][dcd] Add isochronous support and fix endpoint accidental write
40+
- [ft90x] Improve and enhance support for FT9xx MCU, tested with more examples
41+
42+
Device Stack
43+
------------
44+
45+
- [Video]
46+
47+
- Add support for MJPEG
48+
- Fix probe on macOS
49+
50+
- [MIDI]
51+
52+
- Support port name strings
53+
- fix MS Header wTotalLength computation
54+
55+
- [HID]
56+
57+
- Add FIDO descriptor template
58+
- change length in tud_hid_report_complete_cb() from uint8 to uint16
59+
60+
- [CDC]
61+
62+
- Fix autoflush for FIFO < MPS
63+
- Fix tx fifo memory overflown when DTR is not set and tud_cdc_write() is called repeatedly with large enough data
64+
65+
- [USBTMC] Fix packet size with highspeed
66+
67+
Host Stack
68+
----------
69+
70+
- Retry a few times with transfers in enumeration since device can be unstable when starting up
71+
- [MSC] Rework host masstorage API. Add new **host/msc_file_explorer** example
72+
- [CDC]
73+
74+
- Add support for host cdc
75+
- Fix host cdc with device without IAD e.g Arduino Due
76+
577
0.14.0
678
======
779

880
- Improve compiler support for CCRX and IAR
981
- Add timeout to osal_queue_receive()
1082
- Add tud_task_ext(timeout, in_isr) as generic version of tud_task(). Same as tuh_task_ext(), tuh_task()
1183
- Enable more warnings -Wnull-dereference -Wuninitialized -Wunused -Wredundant-decls -Wconversion
12-
- Add new examples
84+
- Add new examples
85+
1386
- host/bare_api to demonstrate generic (app-level) enumeration and endpoint transfer
1487
- 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.
1588

1689
Controller Driver (DCD & HCD)
1790
-----------------------------
1891

1992
- Enhance rhports management to better support dual roles
93+
2094
- 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
2195
- tud_init(rphort), tuh_init(rhport) can be used to init stack on specified roothub port (controller) instead of tusb_init(void)
2296
- Add dcd/hcd port specific defines TUP_ (stand for tinyusb port-specific)
2397
- [dwc2]
98+
2499
- Update to support stm32 h72x, h73x with only 1 otg controller
25100
- Fix overwrite with grstctl when disable endpoint
26101
- [EHCI] Fix an issue with EHCI driver
27102
- [msp430] Fix for possible bug in msp430-elf-gcc 9.3.0
28103
- [nrf5x] Fix DMA access race condition using atomic function
29104
- [pic32] Fix PIC32 santiy
30105
- [rp2040]
106+
31107
- Add PICO-PIO-USB as controller (device/host) support for rp2040
32108
- Use shared IRQ handlers, so user can also hook the USB IRQ
33109
- Fix resumed signal not reported to device stack
@@ -37,10 +113,12 @@ Device Stack
37113
------------
38114

39115
- [Audio] Add support for feedback endpoint computation
116+
40117
- New API tud_audio_feedback_params_cb(), tud_audio_feedback_interval_isr().
41118
- Supported computation method are: frequency with fixed/float or power of 2. Feedback with fifo count is not yet supported.
42119
- Fix nitfs (should be 3) in TUD_AUDIO_HEADSET_STEREO_DESCRIPTOR
43120
- Fix typo in audiod_rx_done_cb()
121+
44122
- [DFU] Fix coexistence with other interfaces BTH, RNDIS
45123
- [MSC] Fix inquiry response additional length field
46124
- [Venndor] Improve write performance
@@ -52,9 +130,11 @@ Host Stack
52130
- [HID] Open OUT endpoint if available
53131
- [Hub] hub clear port and device interrupts
54132
- [USBH] Major improvement
133+
55134
- Rework usbh control transfer with complete callback. New API tuh_control_xfer() though still only carry 1 usbh (no queueing) at a time.
56135
- Add generic endpoint transfer with tuh_edpt_open(), tuh_edpt_xfer(). Require `CFG_TUH_API_EDPT_XFER=1`
57136
- Support app-level enumeration with new APIs
137+
58138
- tuh_descriptor_get(), tuh_descriptor_get_device(), tuh_descriptor_get_configuration(), tuh_descriptor_get_hid_report()
59139
- tuh_descriptor_get_string(), tuh_descriptor_get_manufacturer_string(), tuh_descriptor_get_product_string(), tuh_descriptor_get_serial_string()
60140
- Also add _sync() as sync/blocking version for above APIs

repository.yml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ repo.versions:
1212
"0.12.0": "0.12.0"
1313
"0.13.0": "0.13.0"
1414
"0.14.0": "0.14.0"
15-
16-
"0-dev": "0.0.0" # master
17-
"0-latest": "0.14.0" # latest stable release
18-
15+
"0.15.0": "0.15.0"
16+
"0-latest": "0.15.0"
17+
"0-dev": "0.0.0"

src/tusb_option.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
#include "common/tusb_compiler.h"
3131

3232
#define TUSB_VERSION_MAJOR 0
33-
#define TUSB_VERSION_MINOR 14
33+
#define TUSB_VERSION_MINOR 15
3434
#define TUSB_VERSION_REVISION 0
3535
#define TUSB_VERSION_STRING TU_STRING(TUSB_VERSION_MAJOR) "." TU_STRING(TUSB_VERSION_MINOR) "." TU_STRING(TUSB_VERSION_REVISION)
3636

tools/make_release.py

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
import re
2+
3+
version = '0.15.0'
4+
5+
print('version {}'.format(version))
6+
ver_id = version.split('.')
7+
8+
###################
9+
# src/tusb_option.h
10+
###################
11+
f_option_h = 'src/tusb_option.h'
12+
13+
with open(f_option_h) as f:
14+
fdata = f.read()
15+
16+
fdata = re.sub(r'(#define TUSB_VERSION_MAJOR *) \d+', r"\1 {}".format(ver_id[0]), fdata)
17+
fdata = re.sub(r'(#define TUSB_VERSION_MINOR *) \d+', r"\1 {}".format(ver_id[1]), fdata)
18+
fdata = re.sub(r'(#define TUSB_VERSION_REVISION *) \d+', r"\1 {}".format(ver_id[2]), fdata)
19+
20+
# Write the file out again
21+
with open(f_option_h, 'w') as f:
22+
f.write(fdata)
23+
24+
###################
25+
# repository.yml
26+
###################
27+
f_repository_yml = 'repository.yml'
28+
with open(f_repository_yml) as f:
29+
fdata = f.read()
30+
31+
if fdata.find(version) < 0:
32+
fdata = re.sub(r'("0-latest"): "\d+\.\d+\.\d+"', r'"{}": "{}"\r\n \1: "{}"'.format(version, version, version), fdata)
33+
with open(f_repository_yml, 'w') as f:
34+
f.write(fdata)
35+
36+
###################
37+
# docs/info/changelog.rst
38+
###################
39+
40+
print("Update docs/info/changelog.rst")

0 commit comments

Comments
 (0)