<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tinyusb.git/examples/device/midi2_device/src, branch worktree-ch569-hydrausb3</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/tinyusb.git/atom/examples/device/midi2_device/src?h=worktree-ch569-hydrausb3</id>
<link rel='self' href='http://cgit.235523.xyz/tinyusb.git/atom/examples/device/midi2_device/src?h=worktree-ch569-hydrausb3'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/'/>
<updated>2026-07-07T11:12:02Z</updated>
<entry>
<title>Add SuperSpeed descriptors to all bulk/interrupt class drivers and examples</title>
<updated>2026-07-07T11:12:02Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-07-07T11:12:02Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=5418b836d5bd48eb9a7a6418393e6c87d0112f11'/>
<id>urn:sha1:5418b836d5bd48eb9a7a6418393e6c87d0112f11</id>
<content type='text'>
Class drivers: skip and account the SS endpoint companion descriptor in
every descriptor walk (hid, midi, midi2, ecm_rndis, printer, mtp, usbtmc),
via a shared usbd_skip_ss_ep_companion() helper in usbd_pvt.h (cdc/ncm
already handled; vendor/dfu naturally tolerant). usbtmc buffer grows to
1024 at SS to satisfy its packet-multiple assert. bth/audio/video are left
FS/HS-only (ISO-centric; ISO is unsupported on the CH569 dcd).

usbd.h: new SS template macros TUD_HID_SS_DESCRIPTOR(+INOUT),
TUD_MIDI_SS_DESCRIPTOR (+ DESC_EP_SS part), TUD_MIDI2_DESC_ALT1_EP_SS,
TUD_PRINTER_SS_DESCRIPTOR, TUD_MTP_SS_DESCRIPTOR,
TUD_USBTMC_BULK_SS_DESCRIPTORS/INT_SS_DESCRIPTOR, with _SS_DESC_LEN
counterparts (bulk endpoints hardcode 1024, companion after every EP).

Examples: 17 bulk/interrupt examples gain the full SS descriptor set
(EP0 512/64 clamp, SS device descriptor bcdUSB 3.20 mps0=2^9, SS config
with companions, BOS caps, speed-switched callbacks): cdc_dual_ports,
cdc_msc_freertos, dfu, dfu_runtime, dynamic_configuration,
hid_boot_interface, hid_composite(+freertos), hid_generic_inout,
hid_multiple_interface, midi_test(+freertos), midi2_device, msc_dual_lun,
mtp, printer_to_cdc, usbtmc, webusb_serial. msc_dual_lun is un-skipped for
CH569 using read-only flash disks (16KB RAM can't hold two 8KB RAM disks,
same as ch32v10x/v20x boards).

Validation: full example sweep green for hydrausb3_v1 (SPEED=super, 19
device ELFs) and raspberry_pi_pico; wTotalLength == sizeof() verified for
every SS configuration array in the built ELFs; ceedling 65/65;
pre-commit clean; code-size delta +0.0% on rp2040 (SS code folds out on
non-SS builds).

Co-Authored-By: Claude Fable 5 &lt;noreply@anthropic.com&gt;
Claude-Session: https://claude.ai/code/session_019MRGjBT2NBkCoWwyDT4LaE
</content>
</entry>
<entry>
<title>example(midi2): update example to demonstrate multiple fb</title>
<updated>2026-06-28T19:34:35Z</updated>
<author>
<name>Saulo Veríssimo</name>
<email>sauloverissimo@gmail.com</email>
</author>
<published>2026-06-28T19:28:29Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=516fb063d88ca02c3d4e6ff7523407f774bfde67'/>
<id>urn:sha1:516fb063d88ca02c3d4e6ff7523407f774bfde67</id>
<content type='text'>
Adds two Group Terminal Blocks (output and input) with names and
per-direction endpoint association, plus an explicit endpoint name.
</content>
</entry>
<entry>
<title>Fix one direction endpoint examples</title>
<updated>2026-06-14T12:25:02Z</updated>
<author>
<name>Jie Feng</name>
<email>hjf3108@gmail.com</email>
</author>
<published>2026-06-14T12:25:02Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=8c990885e304079e9e381f3899a53105c824624b'/>
<id>urn:sha1:8c990885e304079e9e381f3899a53105c824624b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>ci: fix IAR Pe111 and stm32h7s3 flash overflow</title>
<updated>2026-05-29T17:11:19Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-05-29T17:11:19Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=28beb0fe4db608c1a9001452d099cb5ea095377e'/>
<id>urn:sha1:28beb0fe4db608c1a9001452d099cb5ea095377e</id>
<content type='text'>
- 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 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>update example</title>
<updated>2026-05-18T21:08:03Z</updated>
<author>
<name>HiFiPhile</name>
<email>admin@hifiphile.com</email>
</author>
<published>2026-05-18T21:08:03Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=b54c8666ec35efb48305d943c87bc48800dd7d15'/>
<id>urn:sha1:b54c8666ec35efb48305d943c87bc48800dd7d15</id>
<content type='text'>
Signed-off-by: HiFiPhile &lt;admin@hifiphile.com&gt;
</content>
</entry>
<entry>
<title>midi2: drain pattern for RX FIFO</title>
<updated>2026-05-17T22:56:04Z</updated>
<author>
<name>Saulo Veríssimo</name>
<email>sauloverissimo@gmail.com</email>
</author>
<published>2026-05-17T22:56:04Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=b31e7cdbbedec4a3286700f3ec24bb63fd7c224f'/>
<id>urn:sha1:b31e7cdbbedec4a3286700f3ec24bb63fd7c224f</id>
<content type='text'>
Default RX/TX buffers to EPSIZE for both device and host. Document
drain-in-loop on ump_read; example device callback drains until
empty.
</content>
</entry>
<entry>
<title>midi2: remove unused ump_noop helper</title>
<updated>2026-05-17T00:44:22Z</updated>
<author>
<name>Saulo Veríssimo</name>
<email>sauloverissimo@gmail.com</email>
</author>
<published>2026-05-17T00:44:22Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=478e04778b8674b5ef4bf2557d305a06871ac473'/>
<id>urn:sha1:478e04778b8674b5ef4bf2557d305a06871ac473</id>
<content type='text'>
arm-clang fails with -Werror=unused-function; arm-gcc was silently
omitting it via LTO. The helper was never called.
</content>
</entry>
<entry>
<title>midi2: device example - portable, add protocol fallback</title>
<updated>2026-05-16T16:00:05Z</updated>
<author>
<name>Saulo Veríssimo</name>
<email>sauloverissimo@gmail.com</email>
</author>
<published>2026-05-16T16:00:05Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=43a72cb614e2fdd27788057a6f9e843d458f1ca5'/>
<id>urn:sha1:43a72cb614e2fdd27788057a6f9e843d458f1ca5</id>
<content type='text'>
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
</content>
</entry>
<entry>
<title>example: add MIDI 2.0 Device example (midi2_device)</title>
<updated>2026-05-12T14:07:44Z</updated>
<author>
<name>Saulo Veríssimo</name>
<email>sauloverissimo@gmail.com</email>
</author>
<published>2026-03-25T02:38:24Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=290470bda38ce75bbadcce8939435953ca483269'/>
<id>urn:sha1:290470bda38ce75bbadcce8939435953ca483269</id>
<content type='text'>
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)
</content>
</entry>
</feed>
