| Age | Commit message (Collapse) | Author |
|
# Conflicts:
# README.rst
|
|
* test/hil: replace build.flags_on with named variant schema
Boards declare build variants as `variant: [{name, flags}]` instead of
`build.flags_on`. The variant `name` is the build dir (cmake-build-<name>) and
the HIL report row; `flags` is the raw CFLAGS string (-D...=1) injected via
CFLAGS_CLI. No `variant` => a single build named after the board.
- build.py: --build-name <name> (dir) + --cflag=<token> (raw CFLAGS, repeatable,
=form survives the matrix's shell word-splitting); drop -f1/CFLAGS wrapping.
- hil_ci_set_matrix.py: emit one build arg per variant.
- hil_test.py: iterate variants; report row + build dir = variant name.
- hil_ci.sh: copy all cmake-build-<board>* dirs for -b runs.
- get_deps.py: accept (ignore) --build-name/--cflag from matrix args.
- tinyusb.json: migrate all 6 flags_on boards to variant.
* board_test: park CI build with busy spin instead of wfe
|
|
hil: park boards with idle board_test instead of erasing flash
|
|
Add control transfer fifo for host stack
|
|
Signed-off-by: HiFiPhile <[email protected]>
|
|
- examples/device/midi2_device/src/main.c: drop the unreachable
`return 0;` after the `while(1)` superloop. IAR with
--warnings_are_errors rejects Pe111 (statement is unreachable);
C99 lets `int main` fall off the end, matching midi_test.
- examples/host/msc_file_explorer_freertos/skip.txt: skip
stm32h7s3nucleo. The board has only 64 KB on-chip FLASH and the
FreeRTOS + FatFS host MSC explorer now overflows by ~248 bytes
after the async control queue refactor.
Co-Authored-By: Claude Opus 4.7 <[email protected]>
|
|
iccarm rejects -Wno-type-limits, breaking the hil-hfp-iar CI matrix
(stm32l412nucleo, stm32f746disco, lpcxpresso43s67). Apply the same
CMAKE_C_COMPILER_ID guard used in hw/bsp/family_support.cmake so IAR
builds skip the flag without losing the GCC warning suppression.
Co-Authored-By: Claude Opus 4.7 <[email protected]>
|
|
|
|
checks
|
|
|
|
Signed-off-by: HiFiPhile <[email protected]>
|
|
Signed-off-by: HiFiPhile <[email protected]>
|
|
Signed-off-by: HiFiPhile <[email protected]>
|
|
feat: Add USB-MIDI 2.0 Device and Host class drivers
|
|
Signed-off-by: HiFiPhile <[email protected]>
|
|
Default RX/TX buffers to EPSIZE for both device and host. Document
drain-in-loop on ump_read; example device callback drains until
empty.
|
|
Signed-off-by: HiFiPhile <[email protected]>
|
|
|
|
stm32h573i_dk, stm32n657nucleo and stm32n6570dk have the same
pre-existing uninitialized io_ctx.GetTick in their board.h that we
already skip on stm32h7s3nucleo. Trips with Make+LTO; CMake passes.
|
|
arm-clang fails with -Werror=unused-function; arm-gcc was silently
omitting it via LTO. The helper was never called.
|
|
Make build was missing midi2_device.c/midi2_host.c from
src/tinyusb.mk. Skip stm32h7s3nucleo board which exposes a
pre-existing uninitialized warning in its board.h (board_init2)
under Make+LTO.
|
|
Restrict midi2_host build to MCUs with USB host support (cloned from
midi_rx) and skip SAMD11 from midi2_device (ROM overflow on link).
|
|
Remove the rp2040-only guard; the example now follows the audio_test
pattern (only Espressif uses its own build system). Add CMakePresets.json
and generic product strings.
The runtime fallback picks the path that matches the host state, per
message, mirroring the idea behind the UAC examples:
Alt 0 USB-MIDI 1.0 32-bit Event Packets (packet_write)
Alt 1 + MIDI 1.0 negotiated UMP MT 0x2 (ump_write)
Alt 1 + MIDI 2.0 negotiated UMP MT 0x4 (ump_write)
Build-tested on rp2040, rp2350, stm32f0/f1/f2/f3/f4/f7/g0/g4/h5/h7/l0/l4/u0/u5/wb/c0,
samd2x_l2x, samd5x_e5x, same7x, nrf, imxrt, lpc17, lpc55, mcx, ra,
da1469x, efm32.
Ref #3571
|
|
Signed-off-by: HiFiPhile <[email protected]>
|
|
Added support for GetPartialObject for better compatibility with Linux file explorers.
|
|
- Use UINT32_C(1) instead of 1u for bit shifts >= 16 in
midi2_device.c to avoid shift-count-overflow on 16-bit
platforms (MSP430)
- Add Makefiles for midi2_device and midi2_host examples with
family guard (skip if FAMILY != rp2040). These examples
require Pico SDK and board-specific hardware
- Restrict midi2_device CMakeLists.txt to rp2040 family
(matching midi2_host)
|
|
Add Device example that plays Twinkle Twinkle Little Star using native
UMP format. Demonstrates all MIDI 2.0 Channel Voice message types:
16-bit velocity, 32-bit CC, 32-bit pitch bend, 32-bit channel/poly
pressure, per-note management, program change with bank select, and
JR timestamps.
USB descriptor exposes both Alt Setting 0 (MIDI 1.0) and Alt Setting 1
(UMP) per USB-MIDI 2.0 specification.
Tested on: Raspberry Pi Pico (RP2040), Linux (ALSA), Windows (MIDI
Services)
|
|
Signed-off-by: HiFiPHile <[email protected]>
|
|
Signed-off-by: HiFiPhile <[email protected]>
|
|
Signed-off-by: HiFiPhile <[email protected]>
|
|
Signed-off-by: HiFiPhile <[email protected]>
|
|
Signed-off-by: HiFiPhile <[email protected]>
|
|
|
|
|
|
|
|
Signed-off-by: HiFiPHile <[email protected]>
|
|
Signed-off-by: Zixun LI <[email protected]>
|
|
|
|
(4KB FIFO)
|
|
CFG_TUD_MSC_EP_BUFSIZE: 4096 → (HS ? 4096 : 1024). Keep the big buffer for
HS where it actually amortises CBW overhead at iperf-class throughput; FS
peaks around ~830 kBps so 1 KB is plenty and the example now fits on
small-RAM MCUs (lpc11/13, samd11, kinetis_kl, stm32f0/l0, stm32f1, etc.).
Also dedupe CDC_TX_BUFSIZE = CDC_RX_BUFSIZE.
Drops the previously-needed skip.txt — verified builds locally on
lpcxpresso1347, cynthion_d11, lpcxpresso11u37/u68, stm32f072disco/eval,
frdm_kl25z, stm32l052dap52.
Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
|
|
The example uses 4 KB MSC bulk buffer + 2-4 KB CDC buffers to push USB
throughput, which overflows on lpcxpresso1347 (RamUsb2) and cynthion_d11.
Skip the same MCU set as net_lwip_webserver — these targets don't have
the RAM headroom to benefit from throughput tuning anyway.
Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
|
|
The bigger TCP_WND/PBUF_POOL/MEMP_NUM_TCP_SEG and the always-on iperf
overflowed SRAM on stm32c0/f1/wb, lpc11/13, samd11. Add LWIP_HIGH_THROUGHPUT
gate (defined in tusb_config.h, consumed by lwipopts.h) so RAM-tight MCUs
keep the original modest buffers and skip iperf, while RAM-rich targets
(max32*/stm32f2/f4/f7/h5/h7/h7rs/u5/n6, rp2040, mimxrt1xxx, nrf5x) keep
the throughput tuning needed for the iperf HIL test.
Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
|
|
# Conflicts:
# src/common/tusb_types.h
# src/portable/mentor/musb/dcd_musb.c
|
|
fix #3596: big-endian host support for SETUP packet handling
|
|
|
|
- Resolve .gitignore conflict: incorporate upstream's .worktrees entry and
expand dependency path patterns to cover all tools/get_deps.py fetched dirs
(lib/, tools/linkermap, tools/uf2, hw/mcu/*) instead of listing only a few
- Auto-merged upstream changes: build system cleanups, BSP updates,
portability fixes, new boards (nrf54lm20dk, stm32h743_weact),
fatfs relocation, and many other upstream improvements
- Net driver changes (ecm_rndis_device.c, ncm_device.c, net_device.h,
usbd.h, usb_descriptors.c) retain our PR's descriptor-based ep_size
approach as our branch takes precedence
Co-authored-by: HiFiPhile <[email protected]>
|
|
|
|
|
|
|
|
`CFG_TUD_ENDPOINT_ONE_DIRECTION_ONLY` for improved configuration consistency across examples and core sources
|