<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tinyusb.git/examples/host, branch rework-metrics</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/tinyusb.git/atom/examples/host?h=rework-metrics</id>
<link rel='self' href='http://cgit.235523.xyz/tinyusb.git/atom/examples/host?h=rework-metrics'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/'/>
<updated>2026-09-05T15:32:47Z</updated>
<entry>
<title>examples: align device-info descriptor handling</title>
<updated>2026-09-05T15:32:47Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-09-05T08:38:25Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=ca48abc2eacdaa7f1e272ca85978d08ac97b598d'/>
<id>urn:sha1:ca48abc2eacdaa7f1e272ca85978d08ac97b598d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>examples: write the host cdc console over RTT when that is the console</title>
<updated>2026-09-05T08:25:15Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-09-03T11:19:17Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=c60c7bac231cee58db0fa8bdd3c3fd251dad2ee8'/>
<id>urn:sha1:c60c7bac231cee58db0fa8bdd3c3fd251dad2ee8</id>
<content type='text'>
console_write() forwards what the attached CDC device sent back to the
board's console, and reached for board_uart_write() directly to stay
non-blocking. On a board whose console is the debug probe there is no UART:
board_uart_write() is a stub returning -1, so everything the device echoed was
dropped, and the do/while loop retried a write that could never make progress
and spun until more data arrived.

Send it through SEGGER_RTT_Write() on LOGGER_RTT builds -- already
non-blocking in the default NO_BLOCK_SKIP mode, which is what the UART path
wanted board_uart_write() for.

The retry is also bounded now. board_uart_write() is only documented to
return the number of bytes sent, and the stubs disagree on how they say "no
console here" -- lpc40 returns -1, apm32f0xx returns 0 -- so the loop cannot
decide from the return value alone when to stop. It gives up after 10 ms
without progress instead, which no draining console ever hits, and keeps the
negative return as a fast path so a stub UART does not cost that wait on
every read.

The RTT header include lives in board_api.h so any example can reach it; the
include path only exists when LOGGER=rtt defines LOGGER_RTT.

host/cdc_msc_hid now passes on ea4088_quickstart, whose probe (LPC-Link2) has
no VCOM: the CDC echo round-trips through a CH340 with TX-RX shorted.
</content>
</entry>
<entry>
<title>improve example details</title>
<updated>2026-09-03T02:46:14Z</updated>
<author>
<name>HiFiPHile</name>
<email>admin@hifiphile.com</email>
</author>
<published>2026-09-03T02:45:48Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=ef404be0337b1486b0a45acd248639ac8dea6c15'/>
<id>urn:sha1:ef404be0337b1486b0a45acd248639ac8dea6c15</id>
<content type='text'>
Signed-off-by: HiFiPHile &lt;admin@hifiphile.com&gt;
</content>
</entry>
<entry>
<title>implement per channel volume control</title>
<updated>2026-09-02T13:24:36Z</updated>
<author>
<name>HiFiPHile</name>
<email>admin@hifiphile.com</email>
</author>
<published>2026-09-02T13:22:07Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=1ff684a07ec5d80a89ba82276139a202288b7716'/>
<id>urn:sha1:1ff684a07ec5d80a89ba82276139a202288b7716</id>
<content type='text'>
Signed-off-by: HiFiPHile &lt;admin@hifiphile.com&gt;
</content>
</entry>
<entry>
<title>Improve audio host stream event reporting</title>
<updated>2026-08-27T13:28:07Z</updated>
<author>
<name>HiFiPHile</name>
<email>admin@hifiphile.com</email>
</author>
<published>2026-08-27T13:28:07Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=95a99e18d4a46d4bec2994a74ffd1818d28d1dc4'/>
<id>urn:sha1:95a99e18d4a46d4bec2994a74ffd1818d28d1dc4</id>
<content type='text'>
Report asynchronous start and stop completion with transfer results. Replace the ambiguous stream error callback and byte count with explicit transfer-failure events, and ignore stale completions after stopping.
</content>
</entry>
<entry>
<title>audio: service example FIFOs at watermarks</title>
<updated>2026-08-27T08:36:52Z</updated>
<author>
<name>HiFiPHile</name>
<email>admin@hifiphile.com</email>
</author>
<published>2026-08-27T07:58:09Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=ed70f7206694e2ee5dfc0e7b3b947c27413deba0'/>
<id>urn:sha1:ed70f7206694e2ee5dfc0e7b3b947c27413deba0</id>
<content type='text'>
Move capture and playback FIFO servicing into the main-loop task at half-full and half-drained watermarks. Use transfer callbacks only for diagnostics, share one conversion buffer, and demonstrate that application reads and writes need not be synchronized to USB callbacks.

Signed-off-by: HiFiPHile &lt;admin@hifiphile.com&gt;
</content>
</entry>
<entry>
<title>audio: expose generic Audio Control requests</title>
<updated>2026-08-27T08:34:34Z</updated>
<author>
<name>HiFiPHile</name>
<email>admin@hifiphile.com</email>
</author>
<published>2026-08-27T04:21:18Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=b23e33a1ce07297df2f37219861d78d2a4cc9809'/>
<id>urn:sha1:b23e33a1ce07297df2f37219861d78d2a4cc9809</id>
<content type='text'>
Remove the narrow public Feature Unit request API while retaining managed mute and volume helpers. Expose validated Audio Control descriptors during enumeration and provide raw asynchronous and synchronous entity requests for advanced controls.

Signed-off-by: HiFiPHile &lt;admin@hifiphile.com&gt;
</content>
</entry>
<entry>
<title>audio: allow stopped duplex streams to change rate</title>
<updated>2026-08-27T08:34:33Z</updated>
<author>
<name>HiFiPHile</name>
<email>admin@hifiphile.com</email>
</author>
<published>2026-08-26T14:56:42Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=0782fb796d7981c36a3d2a11485596f288dd6bd5'/>
<id>urn:sha1:0782fb796d7981c36a3d2a11485596f288dd6bd5</id>
<content type='text'>
Enforce a shared capture/playback sample rate only while the opposite stream is running. This lets both stopped streams be configured in either order while preventing a live shared clock from changing underneath a transfer.

Signed-off-by: HiFiPHile &lt;admin@hifiphile.com&gt;
</content>
</entry>
<entry>
<title>audio: add UAC2 host streaming support</title>
<updated>2026-08-27T08:34:33Z</updated>
<author>
<name>HiFiPHile</name>
<email>admin@hifiphile.com</email>
</author>
<published>2026-08-26T13:54:38Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=cca648556dd0c096aa7210ee5a2b962efae36440'/>
<id>urn:sha1:cca648556dd0c096aa7210ee5a2b962efae36440</id>
<content type='text'>
Add protocol-selectable UAC1/UAC2 parsing, UAC2 terminal and Feature Unit topology, Clock Source discovery, sampling-frequency ranges, and protocol-specific stream controls. Cover UAC2 playback, capture, control discovery, and malformed descriptors with unit tests.

Signed-off-by: HiFiPHile &lt;admin@hifiphile.com&gt;
</content>
</entry>
<entry>
<title>implement explicit feeback support</title>
<updated>2026-08-26T07:16:49Z</updated>
<author>
<name>HiFiPHile</name>
<email>admin@hifiphile.com</email>
</author>
<published>2026-08-26T07:16:49Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=485d8a245dad8acc2fb6e91b66cfe86f4fa3a022'/>
<id>urn:sha1:485d8a245dad8acc2fb6e91b66cfe86f4fa3a022</id>
<content type='text'>
Signed-off-by: HiFiPHile &lt;admin@hifiphile.com&gt;
</content>
</entry>
</feed>
