<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tinyusb.git/src/class/audio, 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/audio?h=worktree-ch569-hydrausb3</id>
<link rel='self' href='http://cgit.235523.xyz/tinyusb.git/atom/src/class/audio?h=worktree-ch569-hydrausb3'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/'/>
<updated>2026-07-06T09:17:17Z</updated>
<entry>
<title>Merge remote-tracking branch 'origin/master' into usbtest</title>
<updated>2026-07-06T09:17:17Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-07-06T09:17:17Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=2d73cf58de9a41278a9c6e1e3c9e5c6626bf95b7'/>
<id>urn:sha1:2d73cf58de9a41278a9c6e1e3c9e5c6626bf95b7</id>
<content type='text'>
# Conflicts:
#	lib/rt-thread/port/msc_device_port.c
#	src/device/usbd.c
</content>
</entry>
<entry>
<title>class/audio: drop redundant clear_stall busy-clear workaround in set_interface</title>
<updated>2026-07-03T03:06:48Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-07-03T03:06:48Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=b5d966be557b1ac131443ece0dd5cedc8f7d1b98'/>
<id>urn:sha1:b5d966be557b1ac131443ece0dd5cedc8f7d1b98</id>
<content type='text'>
audiod_set_interface used usbd_edpt_clear_stall() on a non-stalled endpoint
purely to drop a leftover BUSY bit ('THIS IS A WORKAROUND!'), from when
ep_close() did not clear endpoint state. That premise no longer holds: by the
time the workaround ran, the endpoint's ep_status (incl. BUSY) had already
been zeroed - by usbd_edpt_close() on close-API ports (ip3511, rusb2) or by
usbd_edpt_iso_activate() on iso-alloc ports - so the call was dead code.

Verified: full audio_test capture works across stop/start streaming (arecord
start -&gt; stop -&gt; restart, each delivering a complete buffer) on stm32f407disco
(dwc2, working iso); 25 raw SET_INTERFACE alt1&lt;-&gt;alt0 cycles leave the device
responsive; behaviour is byte-identical with and without the workaround on
metro_m4 (samd51, whose iso-IN stalls for a separate pre-existing reason);
builds clean on iso-alloc (samd, dwc2) and close-API (lpc55, ra) ports.

Co-Authored-By: Claude Fable 5 &lt;noreply@anthropic.com&gt;
Claude-Session: https://claude.ai/code/session_01HeF2gZ1M7GWkz6Av4BpKPg
</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>class/audio: remove unused audio20_control_request_t</title>
<updated>2026-06-18T09:36:05Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-06-18T09:36:05Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=edf675f468a9ff7ac8c5e14d41d1060f3296fb2b'/>
<id>urn:sha1:edf675f468a9ff7ac8c5e14d41d1060f3296fb2b</id>
<content type='text'>
After the UAC2 examples switched to tusb_control_request_t with
TU_U16_HIGH/LOW() extraction, audio20_control_request_t is no longer
referenced anywhere in the tree. It is a byte-overlay of the setup
packet whose bChannelNumber/bControlSelector/bInterface/bEntityID
sub-byte fields silently misread on big-endian once wValue/wIndex are
converted to host order (tu_le16toh in dcd.h), so leaving it in the
public header is a latent BE trap; the BE bitfield guard previously
added to its bmRequestType_bit only masked that by guarding byte 0.

Drop the struct entirely. Callers should use tusb_control_request_t and
TU_U16_LOW/HIGH(wValue|wIndex), matching audio_device.c and the examples.

Co-Authored-By: Claude Opus 4.8 (1M context) &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>fix: add BE bitfield guards for audio and fix UAC2 example endian-safe field extraction</title>
<updated>2026-04-25T18:09:55Z</updated>
<author>
<name>copilot-swe-agent[bot]</name>
<email>198982749+Copilot@users.noreply.github.com</email>
</author>
<published>2026-04-25T18:09:55Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=4c5c346582e17c61986c6ee61e962d9738cd33fd'/>
<id>urn:sha1:4c5c346582e17c61986c6ee61e962d9738cd33fd</id>
<content type='text'>
- Add TU_BITFIELD_ORDER guards for audio10_desc_as_iso_data_ep_t.bmAttributes in audio.h
- Add TU_BITFIELD_ORDER guards for audio20_control_request_t.bmRequestType_bit in audio.h
- Fix cdc_uac2/src/uac2_app.c: replace alias cast with TU_U16_LOW/HIGH field extraction
- Fix uac2_headset/src/main.c: replace alias cast with TU_U16_LOW/HIGH field extraction
- Fix uac2_speaker_fb/src/main.c: replace alias cast with TU_U16_LOW/HIGH field extraction

Addresses review comment: https://github.com/hathach/tinyusb/pull/3597#issuecomment-4320042007

Agent-Logs-Url: https://github.com/hathach/tinyusb/sessions/8b695271-74b3-4a26-b3d8-c48ecdf2e481

Co-authored-by: HiFiPhile &lt;4375114+HiFiPhile@users.noreply.github.com&gt;
</content>
</entry>
<entry>
<title>refactor(usbd): replace `_usbd_ctrl_epbuf` with `usbd_get_ctrl_buf()` for cleaner abstraction and consistency across modules</title>
<updated>2026-03-11T08:14:09Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-03-11T08:14:09Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=2e29388051b2d92d2d254e3ce5967bfec2b9720f'/>
<id>urn:sha1:2e29388051b2d92d2d254e3ce5967bfec2b9720f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge remote-tracking branch 'tinyusb/master' into ep0_direct</title>
<updated>2026-01-06T17:42:58Z</updated>
<author>
<name>HiFiPhile</name>
<email>admin@hifiphile.com</email>
</author>
<published>2026-01-06T17:42:58Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=60154a128795bcd6ca36042cac1b8bebf1a2764e'/>
<id>urn:sha1:60154a128795bcd6ca36042cac1b8bebf1a2764e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tusb_fifo remove item_size make it fifo of bytes</title>
<updated>2025-12-30T11:12:32Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2025-12-30T11:09:54Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=4e4398898040118969421dc236ec8f453f9b503d'/>
<id>urn:sha1:4e4398898040118969421dc236ec8f453f9b503d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>reduce code size</title>
<updated>2025-12-14T20:33:55Z</updated>
<author>
<name>HiFiPhile</name>
<email>admin@hifiphile.com</email>
</author>
<published>2025-12-14T20:33:55Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=c5f91ec6f54509d03529e276ffd42b0d9abab695'/>
<id>urn:sha1:c5f91ec6f54509d03529e276ffd42b0d9abab695</id>
<content type='text'>
Signed-off-by: HiFiPhile &lt;admin@hifiphile.com&gt;
</content>
</entry>
<entry>
<title>audio: use ep0 buffer if it is large enough</title>
<updated>2025-12-14T17:55:34Z</updated>
<author>
<name>HiFiPhile</name>
<email>admin@hifiphile.com</email>
</author>
<published>2025-11-20T23:29:02Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=3d809988b2fc7ff567c3bc98f8bd2a154095837a'/>
<id>urn:sha1:3d809988b2fc7ff567c3bc98f8bd2a154095837a</id>
<content type='text'>
Signed-off-by: HiFiPhile &lt;admin@hifiphile.com&gt;
</content>
</entry>
</feed>
