<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tinyusb.git/examples/device/midi2_device/CMakeLists.txt, branch master</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/CMakeLists.txt?h=master</id>
<link rel='self' href='http://cgit.235523.xyz/tinyusb.git/atom/examples/device/midi2_device/CMakeLists.txt?h=master'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/'/>
<updated>2026-05-29T16:59:15Z</updated>
<entry>
<title>midi2_device: gate -Wno-type-limits to GCC/Clang for IAR build</title>
<updated>2026-05-29T16:59:15Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-05-29T16:59:15Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=24700ea8ef09d1a990fd3aff3345064c2a54088b'/>
<id>urn:sha1:24700ea8ef09d1a990fd3aff3345064c2a54088b</id>
<content type='text'>
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 &lt;noreply@anthropic.com&gt;
</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>fix: CI build failures on non-RP2040 platforms</title>
<updated>2026-05-12T14:07:44Z</updated>
<author>
<name>Saulo Veríssimo</name>
<email>sauloverissimo@gmail.com</email>
</author>
<published>2026-03-25T10:29:10Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=f8a5fc37f3472cb2e3eb584d58e9cf4588dc4329'/>
<id>urn:sha1:f8a5fc37f3472cb2e3eb584d58e9cf4588dc4329</id>
<content type='text'>
- Use UINT32_C(1) instead of 1u for bit shifts &gt;= 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)
</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>
