<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tinyusb.git/src/class/midi/midi2_device.c, 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/src/class/midi/midi2_device.c?h=worktree-ch569-hydrausb3</id>
<link rel='self' href='http://cgit.235523.xyz/tinyusb.git/atom/src/class/midi/midi2_device.c?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>Merge pull request #3738 from sauloverissimo/fix/midi2-fb-direction</title>
<updated>2026-07-05T15:46:14Z</updated>
<author>
<name>Zixun LI</name>
<email>admin@hifiphile.com</email>
</author>
<published>2026-07-05T15:46:14Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=536157cb98fbc40329c9695281506fe7f04e526f'/>
<id>urn:sha1:536157cb98fbc40329c9695281506fe7f04e526f</id>
<content type='text'>
feat(midi2): derive function blocks from the GTB descriptor</content>
</entry>
<entry>
<title>ensure gtb is valid</title>
<updated>2026-07-05T14:48:41Z</updated>
<author>
<name>HiFiPhile</name>
<email>admin@hifiphile.com</email>
</author>
<published>2026-07-05T14:48:41Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=0309e7c016b5217734791ba5ad8f3fd8c82ac2e1'/>
<id>urn:sha1:0309e7c016b5217734791ba5ad8f3fd8c82ac2e1</id>
<content type='text'>
Signed-off-by: HiFiPhile &lt;admin@hifiphile.com&gt;
</content>
</entry>
<entry>
<title>license: use SPDX identifiers for src/ headers (#3749)</title>
<updated>2026-07-02T14:55:45Z</updated>
<author>
<name>Ha Thach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-07-02T14:55:45Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=7a4111b96ef6279e75579f9a18443834f6a0871d'/>
<id>urn:sha1:7a4111b96ef6279e75579f9a18443834f6a0871d</id>
<content type='text'>
* license: use SPDX identifiers for src/ headers

Replace the full ~20-line MIT license boilerplate on every src/ file with a
two-line SPDX tag (SPDX-FileCopyrightText + SPDX-License-Identifier), following
the REUSE convention used by CircuitPython and the Linux kernel. Removes ~3500
lines of duplicated boilerplate.</content>
</entry>
<entry>
<title>feat(midi2): derive function blocks from the GTB descriptor</title>
<updated>2026-06-28T19:28:29Z</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=9e7dc67b62ab097b5ed66c74302206b20b5b2e65'/>
<id>urn:sha1:9e7dc67b62ab097b5ed66c74302206b20b5b2e65</id>
<content type='text'>
Function Block Info (direction, group span, name) is derived from the GTB
descriptor as the single source of truth, so a device can expose multiple
Group Terminal Blocks with independent directions. Adds Function Block Name
notifications (tud_midi2_fb_name_cb) and an opt-in callback to answer UMP
Stream messages from the application (tud_midi2_stream_msg_cb). Ref #3571
</content>
</entry>
<entry>
<title>midi2: convert to raw Tx FIFO for better segmentation handling, add count to packet api</title>
<updated>2026-05-18T21:07:49Z</updated>
<author>
<name>HiFiPhile</name>
<email>admin@hifiphile.com</email>
</author>
<published>2026-05-18T21:07:49Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=4baf1883c194c2c4b6fa30cc0c443ad6c83e0b19'/>
<id>urn:sha1:4baf1883c194c2c4b6fa30cc0c443ad6c83e0b19</id>
<content type='text'>
Signed-off-by: HiFiPhile &lt;admin@hifiphile.com&gt;
</content>
</entry>
<entry>
<title>midi2: boundary-aware drain in xfer_cb to keep UMP packets intact</title>
<updated>2026-05-18T14:42:34Z</updated>
<author>
<name>Saulo Veríssimo</name>
<email>sauloverissimo@gmail.com</email>
</author>
<published>2026-05-18T14:42:34Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=aaca323bd34945178e88de51acf67c4d0443a726'/>
<id>urn:sha1:aaca323bd34945178e88de51acf67c4d0443a726</id>
<content type='text'>
</content>
</entry>
<entry>
<title>midi2: per-interface weak callbacks for UMP Stream config</title>
<updated>2026-05-17T15:19:45Z</updated>
<author>
<name>Saulo Veríssimo</name>
<email>sauloverissimo@gmail.com</email>
</author>
<published>2026-05-17T15:19:45Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=4b729bfb9274af44f8edfba2134893a6889cfd03'/>
<id>urn:sha1:4b729bfb9274af44f8edfba2134893a6889cfd03</id>
<content type='text'>
Lets each instance return different NUM_GROUPS, NUM_FUNCTION_BLOCKS,
EP_NAME and PRODUCT_ID. Defaults fall back to the macros.
</content>
</entry>
<entry>
<title>midi2: peek 4 bytes for MT, restore 256 buffers</title>
<updated>2026-05-17T14:31:12Z</updated>
<author>
<name>Saulo Veríssimo</name>
<email>sauloverissimo@gmail.com</email>
</author>
<published>2026-05-17T14:31:12Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=5ac6346dd4980af75973e53dd130e7ee2a9af32d'/>
<id>urn:sha1:5ac6346dd4980af75973e53dd130e7ee2a9af32d</id>
<content type='text'>
MT is in byte 3 of the UMP word in LE memory, not byte 0. Buffers
at mps blocked RX xfer re-arm on partial packets.
</content>
</entry>
<entry>
<title>midi2: use hwfifo if supported</title>
<updated>2026-05-17T12:35:34Z</updated>
<author>
<name>HiFiPhile</name>
<email>admin@hifiphile.com</email>
</author>
<published>2026-05-17T12:35:34Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=e00ac15b7f31be28ff888a5220cbde93a61c17f4'/>
<id>urn:sha1:e00ac15b7f31be28ff888a5220cbde93a61c17f4</id>
<content type='text'>
Signed-off-by: HiFiPhile &lt;admin@hifiphile.com&gt;
</content>
</entry>
</feed>
