<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tinyusb.git/hw, 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/hw?h=claude%2Fadoring-pasteur-kbaFa</id>
<link rel='self' href='http://cgit.235523.xyz/tinyusb.git/atom/hw?h=claude%2Fadoring-pasteur-kbaFa'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/'/>
<updated>2026-06-11T10:20:15Z</updated>
<entry>
<title>Merge remote-tracking branch 'origin/master' into stm32c5</title>
<updated>2026-06-11T10:20:15Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-06-11T10:20:15Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=5145b67f7946763ca04954f5494bfa88eec2acad'/>
<id>urn:sha1:5145b67f7946763ca04954f5494bfa88eec2acad</id>
<content type='text'>
# Conflicts:
#	README.rst
</content>
</entry>
<entry>
<title>Fix stm32f723disco host/cdc_msc_hid HIL: UART RX starvation + DWC2 DMA split-IN NAK storm (#3677)</title>
<updated>2026-06-11T03:17:28Z</updated>
<author>
<name>Ha Thach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-06-11T03:17:28Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=dffc57135846a4b00aca06b2f588daa6d13b67ef'/>
<id>urn:sha1:dffc57135846a4b00aca06b2f588daa6d13b67ef</id>
<content type='text'>
Fix stm32f723disco host HIL: UART RX starvation + DWC2 split bulk NAK/XactErr handling (#3677)
stm32f7 BSP — UART RX starvation
- The host console USART shared interrupt priority with the USB OTG ISR, so a long
  OTG interrupt could starve RXNE and drop received bytes. Raise the USART RX IRQ
  above OTG_FS/OTG_HS in both the bare-metal and FreeRTOS init paths, guarded by
  #ifdef UART_ID so boards without a UART console keep the default OTG priority.

dwc2 host — split NAK/XactErr handling
- Slave mode: a persistently-NAKing split bulk/control IN poll re-armed the
  start-split immediately, storming the ISR and starving task context. Throttle by
  disabling the channel and re-arming on the resulting halt (no frame deferral).
- Buffer-DMA mode: a pure split bulk-OUT NAK was unhandled, leaving the channel
  halted and stalling the transfer — the dominant cause of CDC echo truncation.
  Handle it by rewinding the buffer pointers and retrying the start-split
  (Programming Guide v4.20a 5.1.4.2).
- Buffer-DMA mode: a split bulk-OUT XactErr was retried immediately, exhausting
  HCD_XFER_ERROR_MAX before the transient cleared. Throttle via channel_disable +
  re-arm to give the hub TT a recovery gap, mirroring slave mode.
- All three are scoped to split transfers (hcsplt.split_en); non-split NAK/XactErr
  keep the core-handled / immediate-retry behavior. The OUT XactErr throttle also
  excludes periodic split, where channel_disable() is a no-op and would wedge the
  channel. The nak_disabled flag is generalized to retry_disabled and honors
  xfer-&gt;closing so an endpoint close during a throttled retry tears down cleanly.

Verified on stm32f723disco HIL (slave + CFG_TUH_DWC2_DMA_ENABLE): host/cdc_msc_hid,
msc_file_explorer, and device_info all pass on both variants; DMA CDC echo went
from ~15-25% raw failure to 10/10 clean.</content>
</entry>
<entry>
<title>Merge pull request #3690 from hathach/claude/board-test-idle-park</title>
<updated>2026-06-10T11:04:54Z</updated>
<author>
<name>Ha Thach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-06-10T11:04:54Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=575a8fbcd0e5880791ea5f834649149a8f787d95'/>
<id>urn:sha1:575a8fbcd0e5880791ea5f834649149a8f787d95</id>
<content type='text'>
hil: park boards with idle board_test instead of erasing flash</content>
</entry>
<entry>
<title>presets,hil: keep Ninja Multi-Config; make HIL find its output</title>
<updated>2026-06-08T08:42:00Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-06-08T08:42:00Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=46aded44af947e1be32426edcd6ff2c0596f1765'/>
<id>urn:sha1:46aded44af947e1be32426edcd6ff2c0596f1765</id>
<content type='text'>
Per review (HiFiPhile): Ninja Multi-Config is needed for IAR, otherwise the
optimization level can't be lowered to none for debug. Revert gen_presets.py
back to Ninja Multi-Config (keeping only the cmake-build-&lt;board&gt; binaryDir
change), and instead teach hil_test.py to locate &lt;ex&gt;.elf whether it sits
directly in the example dir (single-config) or under a per-config subdir like
RelWithDebInfo/ (multi-config).

Verified: stm32u083nucleo passes 13/13 remote HIL with a multi-config preset
build (rsync preserves the RelWithDebInfo/ subdir; the resolver finds it).

Co-Authored-By: Claude Opus 4.8 (1M context) &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>tools/gen_presets: build into cmake-build-&lt;board&gt; with single-config Ninja</title>
<updated>2026-06-08T07:34:57Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-06-08T07:34:57Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=bfaa3b6c4f9a0d64641155dc4e4f4e258a1f5eb5'/>
<id>urn:sha1:bfaa3b6c4f9a0d64641155dc4e4f4e258a1f5eb5</id>
<content type='text'>
Change the default configure preset binaryDir from build/&lt;board&gt; to
cmake-build-&lt;board&gt; (the dir name HIL expects) and switch the generator
from Ninja Multi-Config to single-config Ninja. Multi-Config nests
binaries under a RelWithDebInfo/ subdir, which hil_test.py does not look
in; single-config emits device/&lt;ex&gt;/&lt;ex&gt;.elf so preset-built firmware is
directly consumable by `hil_test.py -B examples`.

Regenerated BoardPresets.json (also picks up the tracked ch32v103c_bluepill
board that was missing from presets).

Co-Authored-By: Claude Opus 4.8 (1M context) &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>stm32u0: implement board_get_unique_id from UID_BASE</title>
<updated>2026-06-08T07:34:47Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-06-08T07:34:47Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=97480bad2ce5ddbb38be6bfe00491c49b6ea2afe'/>
<id>urn:sha1:97480bad2ce5ddbb38be6bfe00491c49b6ea2afe</id>
<content type='text'>
Previously stm32u0 had no board_get_unique_id(), so it fell back to the
weak default in hw/bsp/board.c and every board reported the placeholder
USB serial 0123456789ABCDEF. HIL identifies boards by USB serial, so a
non-unique serial collides on a multi-board rig. Read the 96-bit unique
ID from UID_BASE, mirroring stm32u5. Verified on stm32u083nucleo: now
enumerates as 300044000D5036394E373620.

Co-Authored-By: Claude Opus 4.8 (1M context) &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>add tm4c123x evk to hill pool (#3676)</title>
<updated>2026-06-05T14:23:40Z</updated>
<author>
<name>Ha Thach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-06-05T14:23:40Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=1009b14b02232adc70a0a5a5ed4a3a06118fef0d'/>
<id>urn:sha1:1009b14b02232adc70a0a5a5ed4a3a06118fef0d</id>
<content type='text'>
* add ek_tm4c123gxl to the hil pool, flashing with lm4flash</content>
</entry>
<entry>
<title>refactor(cmake): comment out unused target folder properties</title>
<updated>2026-06-03T14:46:11Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-06-03T14:46:11Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=a6098c38ac3390716a6cf3046a87b13dd85fecca'/>
<id>urn:sha1:a6098c38ac3390716a6cf3046a87b13dd85fecca</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge pull request #3620 from UMRnInside/fix-ch32v103-hardfault</title>
<updated>2026-05-30T15:05:01Z</updated>
<author>
<name>Zixun LI</name>
<email>admin@hifiphile.com</email>
</author>
<published>2026-05-30T15:05:01Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=2c27ec9c89f95057e30da5d08c01f01c941b8a58'/>
<id>urn:sha1:2c27ec9c89f95057e30da5d08c01f01c941b8a58</id>
<content type='text'>
Fix ch32v103 hardfault &amp; Add CH32V103C8T6 Bluepill board</content>
</entry>
<entry>
<title>bsp/stm32f4: enable flash cache</title>
<updated>2026-05-29T08:03:09Z</updated>
<author>
<name>HiFiPhile</name>
<email>admin@hifiphile.com</email>
</author>
<published>2026-05-27T18:44:04Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=33f151a43b39de4207bcdc49ea1e9e8dd8a5d248'/>
<id>urn:sha1:33f151a43b39de4207bcdc49ea1e9e8dd8a5d248</id>
<content type='text'>
Signed-off-by: HiFiPhile &lt;admin@hifiphile.com&gt;
</content>
</entry>
</feed>
