<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tinyusb.git/src/device/usbd.c, branch claude/adoring-pasteur-kbaFa</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=claude%2Fadoring-pasteur-kbaFa</id>
<link rel='self' href='http://cgit.235523.xyz/tinyusb.git/atom/src/device/usbd.c?h=claude%2Fadoring-pasteur-kbaFa'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/'/>
<updated>2026-06-12T02:46:03Z</updated>
<entry>
<title>usbd: use _usbd_rhport directly instead of rewriting the rhport parameter</title>
<updated>2026-06-12T02:46:03Z</updated>
<author>
<name>Claude</name>
<email>noreply@anthropic.com</email>
</author>
<published>2026-06-12T02:46:03Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=cf2f60526c2d38078e0e638f513fad85a801d379'/>
<id>urn:sha1:cf2f60526c2d38078e0e638f513fad85a801d379</id>
<content type='text'>
Replace the `rhport = _usbd_rhport;` parameter-rewrite pattern in the
9 usbd_edpt_*/usbd_sof_enable functions with `(void) rhport;` and pass
_usbd_rhport directly to the dcd_* calls, matching the existing style of
usbd_edpt_claim/release/busy/stalled. This resolves PVS-Studio V763
(parameter always rewritten before use) properly, so drop the global
//-V::763 suppression from .pvsconfig.

Verified: pico examples rebuild, ceedling test:all 60/60, CI-exact PVS
re-run reports zero TinyUSB-owned findings with the suppression removed.
</content>
</entry>
<entry>
<title>clean up PVS-Studio static-analysis findings for raspberry_pi_pico</title>
<updated>2026-06-11T23:34:30Z</updated>
<author>
<name>Claude</name>
<email>noreply@anthropic.com</email>
</author>
<published>2026-06-11T23:34:30Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=72f4d52aafaf582a29428863a72c454a9ae5e916'/>
<id>urn:sha1:72f4d52aafaf582a29428863a72c454a9ae5e916</id>
<content type='text'>
Resolves all TinyUSB-owned alerts reported by the CI PVS-Studio job
(static_analysis.yml, run with --security-related-issues) on the
raspberry_pi_pico board: 0 remaining in src/ and examples/.

Genuine fixes:
- ncm_device: validate wNdpIndex against sizeof(nth16_t), not the pointer
  size sizeof(nth16) (4 bytes) — the latter under-checks the NTB header
  (V568).
- tusb: drop the redundant `ff_buf != NULL &amp;&amp; ff_bufsize &gt; 0` guard in
  tu_edpt_stream_init(); the early return already guarantees it (V560).
- midi_host: bounds-check idx in tuh_midi_itf_get_info() instead of the
  always-true `&amp;_midi_host[idx]` pointer (V560).
- examples: fully initialize resolutions_per_format / frame_num /
  interval_ms arrays instead of leaving trailing elements implicitly zero
  (V1009).

False positives suppressed at the cause:
- usbd/usbh: hide the weak dcd_deinit()/hcd_deinit() stubs from the
  analyzer with #ifndef PVS_STUDIO. PVS analyzes one TU at a time and
  binds the call to the always-false weak stub (it cannot model the
  linker selecting the port's strong definition), then reports the
  cleanup loop after TU_ASSERT(...deinit()) as unreachable (V779).

False positives suppressed locally (inline //-V or .pvsconfig):
- .pvsconfig: V501 (HID descriptor macros), V763 (rhport override),
  V785 (audio function-index switch), V1044 (hardware poll loops).
- inline //-V for config-dependent or intentional constructs: V512,
  V514-style contiguous clears, V547, V557, V560, V614, V619, V641,
  V1008, V1037, V1048, V1086.

Verified: all examples build for raspberry_pi_pico; ceedling test:all
passes (60/60); re-run of the CI-exact PVS invocation reports zero
TinyUSB-owned findings.
</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>
</feed>
