<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tinyusb.git/src/device/usbd.c, branch dcd_ch32hs_spd</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/tinyusb.git/atom/src/device/usbd.c?h=dcd_ch32hs_spd</id>
<link rel='self' href='http://cgit.235523.xyz/tinyusb.git/atom/src/device/usbd.c?h=dcd_ch32hs_spd'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/'/>
<updated>2026-06-16T10:36:17Z</updated>
<entry>
<title>device: clamp EP0 OUT data copy to the control transfer buffer (#3705)</title>
<updated>2026-06-16T10:36:17Z</updated>
<author>
<name>Ha Thach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-06-16T10:36:17Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=7b791916a702c28f8f39e9bfc5eb8455d0942865'/>
<id>urn:sha1:7b791916a702c28f8f39e9bfc5eb8455d0942865</id>
<content type='text'>
* device: clamp EP0 OUT data copy to the control transfer buffer

usbd_control_xfer_cb() copied xferred_bytes from the EP0 bounce buffer
into the requester's buffer with no bound. A non-compliant host that
sends an OUT data packet larger than the control transfer's data_len
(= min(len, wLength), the buffer capacity) would overflow that buffer
and over-count total_xferred. Clamp xferred_bytes to the remaining
buffer space before the memcpy and accounting.</content>
</entry>
<entry>
<title>feat: add MIDI 2.0 Device class driver (USB-MIDI 2.0)</title>
<updated>2026-05-12T14:07:44Z</updated>
<author>
<name>Saulo Veríssimo</name>
<email>sauloverissimo@gmail.com</email>
</author>
<published>2026-03-25T02:37:48Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=bc8ce76ae800b312b4d3ef591cc42e8726e68d7f'/>
<id>urn:sha1:bc8ce76ae800b312b4d3ef591cc42e8726e68d7f</id>
<content type='text'>
Add native USB-MIDI 2.0 Device class driver to TinyUSB. Implements the
USB-MIDI 2.0 specification with both Alt Setting 0 (MIDI 1.0 fallback)
and Alt Setting 1 (UMP native) descriptor support.

Driver features:
- UMP (Universal MIDI Packet) read/write with atomic message framing
- Protocol negotiation: Endpoint Discovery, Config Request/Notify,
  Function Block Discovery (embedded in driver)
- Group Terminal Block descriptor via GET_DESCRIPTOR
- Alt Setting switch handler with endpoint re-arm
- Static allocation, no dynamic memory, ISR-safe

Build system:
- Register midi2d_* in usbd.c driver table
- Add TUD_MIDI2_DESCRIPTOR macros to usbd.h
- Add config defaults (CFG_TUD_MIDI2_*) to tusb_option.h
- Add midi2_ump_word_count() to midi.h (shared by Device and Host)
- Add midi2_device.c/h to family.cmake and CMakeLists.txt
- Add midi2_device.h include to tusb.h

All changes guarded by #if CFG_TUD_MIDI2 (default 0). Zero impact on
existing drivers and examples.

Tested: Raspberry Pi Pico (RP2040), Linux ALSA, Windows MIDI Services
</content>
</entry>
<entry>
<title>fix usbd control to support wLength hack</title>
<updated>2026-05-04T06:39:39Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-05-04T06:39:39Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=e954302c103b4fc6870c6914945e6da1f62f6423'/>
<id>urn:sha1:e954302c103b4fc6870c6914945e6da1f62f6423</id>
<content type='text'>
</content>
</entry>
<entry>
<title>refactor: replace `tu_edpt_state_t` struct with `uint8_t` and update all endpoint state handling methods and accesses</title>
<updated>2026-05-04T05:11:03Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-05-04T04:19:26Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=9d68ed65f7200f155f01416b332c5e9f2340a8b2'/>
<id>urn:sha1:9d68ed65f7200f155f01416b332c5e9f2340a8b2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>refactor `usbd.c`: extract `process_std_device_request` for clarity</title>
<updated>2026-05-04T03:29:29Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-05-04T03:29:29Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=a5e9ce5fbb300702d04c47c7c06436396912d3d6'/>
<id>urn:sha1:a5e9ce5fbb300702d04c47c7c06436396912d3d6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>refactor `usbd.c`: centralize control transfer state management into `_usbd_dev` structure and remove `usbd_control_reset`</title>
<updated>2026-05-04T01:55:08Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-04-29T15:23:32Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=eb66712196b54ff5dcf39df020fb0cad72e853d0'/>
<id>urn:sha1:eb66712196b54ff5dcf39df020fb0cad72e853d0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>deprecated `usbd_control.c` and merge its functionality into `usbd.c`</title>
<updated>2026-04-29T10:27:59Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-04-29T10:27:59Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=9d3ad336bfad062fa1e6f6d63feb97a9851cc9e1'/>
<id>urn:sha1:9d3ad336bfad062fa1e6f6d63feb97a9851cc9e1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>remove duplicated tu_le16toh since we have converted the endian when setup.</title>
<updated>2026-04-17T10:39:56Z</updated>
<author>
<name>Fan DANG</name>
<email>i@dang.fan</email>
</author>
<published>2026-04-17T10:39:56Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=5939831f17272571911d089508b458f496a4cc62'/>
<id>urn:sha1:5939831f17272571911d089508b458f496a4cc62</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Simplify tud_task() like in tuh_task()</title>
<updated>2026-03-22T13:12:50Z</updated>
<author>
<name>Cédric Berger</name>
<email>cedric@precidata.com</email>
</author>
<published>2026-03-22T13:12:50Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=db7722dee8410f27f6ea7dfcbfaf44e2f88cccf3'/>
<id>urn:sha1:db7722dee8410f27f6ea7dfcbfaf44e2f88cccf3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>replace printer_to_hid example with printer_to_cdc example</title>
<updated>2026-03-06T10:22:38Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-03-06T10:22:38Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=73cd53129529f2dce70072953bfd50ec9dc6b8ea'/>
<id>urn:sha1:73cd53129529f2dce70072953bfd50ec9dc6b8ea</id>
<content type='text'>
fix printer GET_DEVICE_ID request weird wIndex (interface high, alt low)
</content>
</entry>
</feed>
