<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tinyusb.git/examples/device/cdc_msc_throughput, 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/examples/device/cdc_msc_throughput?h=worktree-ch569-hydrausb3</id>
<link rel='self' href='http://cgit.235523.xyz/tinyusb.git/atom/examples/device/cdc_msc_throughput?h=worktree-ch569-hydrausb3'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/'/>
<updated>2026-07-07T05:28:45Z</updated>
<entry>
<title>Enable 4-packet bursts on CH569 SuperSpeed bulk endpoints</title>
<updated>2026-07-07T05:28:45Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-07-07T05:28:45Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=12a507f507de1b5f34d9d5367d5b9bc81781cc03'/>
<id>urn:sha1:12a507f507de1b5f34d9d5367d5b9bc81781cc03</id>
<content type='text'>
- Default CFG_TUD_WCH_USB30_MAX_BURST to 4 (tusb_mcu.h): matches the
  link layer's header-packet buffer count (NUM_HP_BUF). Burst 8 fails
  to configure; the TeenyUSB-reported burst corruption quirk did not
  reproduce with per-burst DMA re-arm (50x MSC write/read-back and
  256KB CDC echo integrity all clean at burst 4)
- Bounce slots stay one max packet regardless of burst (bounced
  transfers cap their burst to the slot; zero-copy uses the full burst)
  so the RAMX pool no longer scales with burst size
- cdc_msc/cdc_msc_throughput SS descriptors advertise
  bMaxBurst = CFG_TUD_WCH_USB30_MAX_BURST-1 via the
  CFG_EXAMPLE_SS_BULK_MAXBURST knob (0 for non-WCH SuperSpeed ports)

Measured on HydraUSB3 v1 at 5 Gbps (HIL cdc_msc_throughput): MSC read
147 MBps write 127 MBps - about 2x the single-packet figures (raw dd:
up to 163 MB/s read at 1M blocks).

Co-Authored-By: Claude Fable 5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Add SuperSpeed support to cdc_msc_throughput example</title>
<updated>2026-07-07T05:03:15Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-07-07T05:03:15Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=1170ff6ffb4d1755b13bfa38ae0125ec4224dfae'/>
<id>urn:sha1:1170ff6ffb4d1755b13bfa38ae0125ec4224dfae</id>
<content type='text'>
- SS device/config/BOS descriptors with endpoint companions, speed-aware
  EP0/CDC/MSC buffer sizes (same pattern as cdc_msc)
- Lengthen the CH569 SuperSpeed-training fallback timeout to 1 s per
  phase: training from a host port settled in another connection state
  can exceed the previous 0.5 s window

Measured on HydraUSB3 v1 at 5 Gbps (NUMP=1): MSC sequential read
70-79 MB/s, write 55 MB/s via dd direct IO - about 3.5x the USB2
high-speed fallback figures on the same setup. Burst support
(CFG_TUD_WCH_USB30_MAX_BURST &gt; 1) remains the main headroom.

Co-Authored-By: Claude Fable 5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>docs: add build-doc tooling and a README for every example</title>
<updated>2026-06-29T03:16:25Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-06-29T03:16:25Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=4b1c8d16f72bb5d8f2eb8a2e8dde35abdd2f2a88'/>
<id>urn:sha1:4b1c8d16f72bb5d8f2eb8a2e8dde35abdd2f2a88</id>
<content type='text'>
Documentation tooling:
- Add the `build-doc` skill and `tools/build_doc.py` wrapper for local
  Sphinx builds (clean / -W / open).
- Enable Markdown (MyST) in conf.py and auto-collect
  examples/{device,host,dual}/*/README.md into a 3-level Examples nav
  (Examples &gt; Device/Host/Dual &gt; example), noting each page's source
  location and normalizing headings to a single H1.
- Remove the stale `.claude/commands/build-doc.md`; point the AGENTS.md
  Documentation section at the skill.

Example docs:
- Add a README.md for every device/host/dual example: what it does, USB
  interface table, notable tusb_config.h settings, generic CMake + Make
  build steps, and how to try it.
- Fold each *_freertos variant into its base README, noting the FreeRTOS
  source path and any RTOS-specific behavior.

Generated docs/examples/ output is git-ignored. Builds clean with
`sphinx-build -W`.

Co-Authored-By: Claude Opus 4.8 (1M context) &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>tweak examples</title>
<updated>2026-05-23T17:37:47Z</updated>
<author>
<name>HiFiPhile</name>
<email>admin@hifiphile.com</email>
</author>
<published>2026-05-23T17:22:39Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=1fc308fb87935e6260349d5721ee81c046b68461'/>
<id>urn:sha1:1fc308fb87935e6260349d5721ee81c046b68461</id>
<content type='text'>
Signed-off-by: HiFiPhile &lt;admin@hifiphile.com&gt;
</content>
</entry>
<entry>
<title>fix warning, change hil jlink for feather nrf52840</title>
<updated>2026-04-28T09:38:36Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-04-26T16:15:49Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=3792a9a3871cad32d7f38bc831417f60aeb17aff'/>
<id>urn:sha1:3792a9a3871cad32d7f38bc831417f60aeb17aff</id>
<content type='text'>
</content>
</entry>
<entry>
<title>shrink cdc_msc_throughput MSC buffer for FS targets</title>
<updated>2026-04-26T03:14:31Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-04-26T03:14:31Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=5ba472d5c9777e83523d7db718743e3cd5c8761a'/>
<id>urn:sha1:5ba472d5c9777e83523d7db718743e3cd5c8761a</id>
<content type='text'>
CFG_TUD_MSC_EP_BUFSIZE: 4096 → (HS ? 4096 : 1024). Keep the big buffer for
HS where it actually amortises CBW overhead at iperf-class throughput; FS
peaks around ~830 kBps so 1 KB is plenty and the example now fits on
small-RAM MCUs (lpc11/13, samd11, kinetis_kl, stm32f0/l0, stm32f1, etc.).
Also dedupe CDC_TX_BUFSIZE = CDC_RX_BUFSIZE.

Drops the previously-needed skip.txt — verified builds locally on
lpcxpresso1347, cynthion_d11, lpcxpresso11u37/u68, stm32f072disco/eval,
frdm_kl25z, stm32l052dap52.

Co-Authored-By: Claude Opus 4.7 (1M context) &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>skip cdc_msc_throughput on small-RAM MCUs</title>
<updated>2026-04-26T02:50:47Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-04-26T02:50:47Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=ef2f24cddbce107c80f43e1e8f8a3cd1bf763d84'/>
<id>urn:sha1:ef2f24cddbce107c80f43e1e8f8a3cd1bf763d84</id>
<content type='text'>
The example uses 4 KB MSC bulk buffer + 2-4 KB CDC buffers to push USB
throughput, which overflows on lpcxpresso1347 (RamUsb2) and cynthion_d11.
Skip the same MCU set as net_lwip_webserver — these targets don't have
the RAM headroom to benefit from throughput tuning anyway.

Co-Authored-By: Claude Opus 4.7 (1M context) &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>add cdc msc throughput example</title>
<updated>2026-04-23T16:38:54Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-04-23T11:59:01Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=45754d82591f45ddf4a489dce290145f417526df'/>
<id>urn:sha1:45754d82591f45ddf4a489dce290145f417526df</id>
<content type='text'>
</content>
</entry>
</feed>
