<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tinyusb.git, branch codex/class-reference-docs</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/tinyusb.git/atom/?h=codex%2Fclass-reference-docs</id>
<link rel='self' href='http://cgit.235523.xyz/tinyusb.git/atom/?h=codex%2Fclass-reference-docs'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/'/>
<updated>2026-08-01T17:22:52Z</updated>
<entry>
<title>doc: add class docs</title>
<updated>2026-08-01T17:22:52Z</updated>
<author>
<name>HiFiPhile</name>
<email>admin@hifiphile.com</email>
</author>
<published>2026-08-01T17:22:52Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=cd9bbed39f5851d5e4dc64271f18b8db777acb53'/>
<id>urn:sha1:cd9bbed39f5851d5e4dc64271f18b8db777acb53</id>
<content type='text'>
Signed-off-by: HiFiPhile &lt;admin@hifiphile.com&gt;
</content>
</entry>
<entry>
<title>test/hil: fold openocd_wch into openocd, verify per board, resolve firmware by flasher extension (#3804)</title>
<updated>2026-07-31T16:17:36Z</updated>
<author>
<name>Ha Thach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-07-31T16:17:36Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=f3021b337fcea154b898489c417d428c92f88e92'/>
<id>urn:sha1:f3021b337fcea154b898489c417d428c92f88e92</id>
<content type='text'>
test/hil: one openocd flasher, per-board verify and firmware extension

The four WCH boards move to `openocd`, leaving one flasher for all.

`verify` is now a per-board opt-out, not dropped fleet-wide: WCH cannot read flash back
over the WCH-Link sdi transport; the other seven openocd boards can, and say so explicitly.

FLASHER_SUFFIX decides each flasher's extension once — find_firmware returns the full path
and the flashers pass it through, so a build with only the wrong artifact is skipped rather
than failed mid-flash. --skip-flash bypasses the filter.

rescue_openocd() power-on-resets a wedged RP2040/RP2350 via its Rescue DP from the flash
retry; the probe has no reset line.

Drops unused openocd_adi, stflash, wlink_rs and uniflash, parks the unstable ra6m5_ek, and
tests that every roster flasher name dispatches.</content>
</entry>
<entry>
<title>hil, ci: scope HIL builds and tests to the boards a PR affects (#3797)</title>
<updated>2026-07-29T19:29:32Z</updated>
<author>
<name>Ha Thach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-07-29T19:29:32Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=eef5af86aa26fe3d72e41156a586a6ed3ffce9f8'/>
<id>urn:sha1:eef5af86aa26fe3d72e41156a586a6ed3ffce9f8</id>
<content type='text'>
hil, ci: scope HIL builds and tests to the boards a PR affects

Add test/hil/hil_select.py, a stdlib-only selector that maps a PR diff to the
rig boards, tests and BSP families a change can affect, and wire it into CI so
pull requests build and run only those. A port change picks its families' boards,
a class change picks the examples enabling that class, and device/host changes
prune the other role. Anything unclassified — infra, an unmapped port, a selector
error — falls back to the full matrix, and push/schedule runs are untouched.
Move the shared example lists to hil_examples.py; 54 hardware-free tests cover
the rules.</content>
</entry>
<entry>
<title>Merge pull request #3796 from geurtv/master</title>
<updated>2026-07-29T18:14:44Z</updated>
<author>
<name>Zixun LI</name>
<email>admin@hifiphile.com</email>
</author>
<published>2026-07-29T18:14:44Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=5d8afbb23248e9d1d5d1fdf434c9c58cc54ba5b7'/>
<id>urn:sha1:5d8afbb23248e9d1d5d1fdf434c9c58cc54ba5b7</id>
<content type='text'>
rp2xxx: added rp2usb_deinit() to fix 'No spinlocks are available'</content>
</entry>
<entry>
<title>hil: split hil_test.py into hil_lock/hil_flash, add pool_check, update rig probes (#3794)</title>
<updated>2026-07-29T10:29:59Z</updated>
<author>
<name>Ha Thach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-07-29T10:29:59Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=e88fc441ddcaaa5abd4f4673ef2bf29499522dc0'/>
<id>urn:sha1:e88fc441ddcaaa5abd4f4673ef2bf29499522dc0</id>
<content type='text'>
test/hil: add board-pool health check, split hil_test into focused modules (#3794)

Add test/hil/hil_pool_check.py: per-board rig health scan — probe presence,
light-example flash (dfu_runtime; device_info + serial check for host-only
boards), uid re-enumeration, safe recovery (probe authorized-toggle, board
reset), verified board_test re-park, USB topology report, and a markdown
summary table. Missing firmware is built on the spot (tools/build.py, idf.py
for espressif, one get_deps retry); row statuses: ok, flash-failed, failed,
locked. Board locks are always respected, never bypassed.

Refactor hil_test.py into hil_lock.py (flock protocol, controller permits,
hold/release/status CLI; replaces board_lock.py) and hil_flash.py (flashers,
find_firmware, run_cmd). Update WCH probe uids and the board roster in
tinyusb.json; add the hil-pool-check skill.</content>
</entry>
<entry>
<title>also added rp2usb_deinit() call to hcd_deinit()</title>
<updated>2026-07-29T10:00:59Z</updated>
<author>
<name>Geurt Vos</name>
<email>geurt.vos@outerplane.nl</email>
</author>
<published>2026-07-29T10:00:59Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=530c6708dd6f863e6ad91bc0e3433f887555999a'/>
<id>urn:sha1:530c6708dd6f863e6ad91bc0e3433f887555999a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>rp2xxx: added rp2usb_deinit() to fix 'No spinlocks are available'</title>
<updated>2026-07-29T09:36:01Z</updated>
<author>
<name>Geurt Vos</name>
<email>geurt.vos@outerplane.nl</email>
</author>
<published>2026-07-29T09:36:01Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=84e938bd7661a862589a92635d77f1b7e4a02484'/>
<id>urn:sha1:84e938bd7661a862589a92635d77f1b7e4a02484</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge pull request #3784 from AnthonyV-modretro/master</title>
<updated>2026-07-29T08:09:48Z</updated>
<author>
<name>Zixun LI</name>
<email>admin@hifiphile.com</email>
</author>
<published>2026-07-29T08:09:48Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=538ec3e3320e41231c7e0bcef50a608db394de59'/>
<id>urn:sha1:538ec3e3320e41231c7e0bcef50a608db394de59</id>
<content type='text'>
Add More HID Usage Page enums</content>
</entry>
<entry>
<title>Merge pull request #3792 from hathach/claude/openocd-docs</title>
<updated>2026-07-28T07:51:38Z</updated>
<author>
<name>Ha Thach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-07-28T07:51:38Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=1eb216ed024002119a16ac15004e0b0124a7da6a'/>
<id>urn:sha1:1eb216ed024002119a16ac15004e0b0124a7da6a</id>
<content type='text'>
docs: add the unified OpenOCD plan, note worktree dep symlinks</content>
</entry>
<entry>
<title>docs: add the unified OpenOCD plan, note worktree dep symlinks</title>
<updated>2026-07-28T07:43:32Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-07-28T07:43:32Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=3fdd294b95143f909a6c991943a2e55e638b177a'/>
<id>urn:sha1:3fdd294b95143f909a6c991943a2e55e638b177a</id>
<content type='text'>
The plan doc records why the fork exists and how each vendor source was
ported; the interim handoff it superseded is dropped.

CLAUDE.md: a new worktree should symlink the dependency dirs to the
primary checkout rather than re-fetching them, replacing a single
symlink only when the branch needs a different dep revision. Also allow
'linke' in codespell - WCH-LinkE is a product name.
</content>
</entry>
</feed>
