<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tinyusb.git/src/class/usbtmc/usbtmc_device.h, branch claude/usbh-enum-timeout</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/tinyusb.git/atom/src/class/usbtmc/usbtmc_device.h?h=claude%2Fusbh-enum-timeout</id>
<link rel='self' href='http://cgit.235523.xyz/tinyusb.git/atom/src/class/usbtmc/usbtmc_device.h?h=claude%2Fusbh-enum-timeout'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/'/>
<updated>2026-08-14T07:00:06Z</updated>
<entry>
<title>usbtmc: re-arm (or stall) the bulk-OUT endpoint after a USB488 TRIGGER</title>
<updated>2026-08-14T07:00:06Z</updated>
<author>
<name>ice458</name>
<email>85405449+ice458@users.noreply.github.com</email>
</author>
<published>2026-08-14T07:00:06Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=282d46e68d9100af0dfdcc01e7689bb63bbf8419'/>
<id>urn:sha1:282d46e68d9100af0dfdcc01e7689bb63bbf8419</id>
<content type='text'>
A single USB488 TRIGGER message left the bulk-OUT endpoint un-armed, so the
host's next bulk-OUT transfer timed out. The trigger itself succeeded
silently, so the failure surfaced on a later, unrelated command; only a
USBTMC device clear recovered it. The bundled examples/device/usbtmc
reproduced this as shipped.

Every other branch of the STATE_IDLE dispatch in usbtmcd_xfer_cb() leaves
the endpoint in a defined state: it either transitions out of STATE_IDLE so
a later tud_usbtmc_start_bus_read() can re-arm it, or it stalls and lets the
CLEAR_FEATURE(ENDPOINT_HALT) handler recover it. USBTMC_MSGID_USB488_TRIGGER
did neither, and because the state stayed STATE_IDLE, even an application
following the contract documented in usbtmc_device.h got a silent no-op from
tud_usbtmc_start_bus_read().

Transition to STATE_NAK so the re-arm can take effect, and stall the
endpoint when trigger is unsupported or the application callback rejects it,
matching the existing handling for messages the driver cannot process. The
callback result is deliberately not wrapped in TU_VERIFY(), which would
return before the stall/re-arm and reintroduce the same hang.

Since the driver now re-arms after a trigger, drop tud_usbtmc_msg_trigger_cb
from the list of callbacks after which the application must do so.

Fixes #3821

Co-Authored-By: Claude Opus 5 &lt;noreply@anthropic.com&gt;
</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>Potential fix for code scanning alert no. 914: Commented-out code</title>
<updated>2025-09-17T22:16:27Z</updated>
<author>
<name>Zixun LI</name>
<email>admin@hifiphile.com</email>
</author>
<published>2025-09-17T22:16:27Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=9d13c8fce0f26a161e7ef27565a6f2f54db91813'/>
<id>urn:sha1:9d13c8fce0f26a161e7ef27565a6f2f54db91813</id>
<content type='text'>
Co-authored-by: Copilot Autofix powered by AI &lt;62310815+github-advanced-security[bot]@users.noreply.github.com&gt;</content>
</entry>
<entry>
<title>Update weak callbacks to new syntax</title>
<updated>2025-09-17T20:48:59Z</updated>
<author>
<name>HiFiPhile</name>
<email>admin@hifiphile.com</email>
</author>
<published>2025-09-17T20:37:45Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=369a1ff5153a472327d2847c7bc7386309486b34'/>
<id>urn:sha1:369a1ff5153a472327d2847c7bc7386309486b34</id>
<content type='text'>
Signed-off-by: HiFiPhile &lt;admin@hifiphile.com&gt;
</content>
</entry>
<entry>
<title>Merge pull request #2494 from tommie/usbtmcnotif</title>
<updated>2024-04-28T10:36:41Z</updated>
<author>
<name>HiFiPhile</name>
<email>admin@hifiphile.com</email>
</author>
<published>2024-04-28T10:36:41Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=1c04d5992a020aefe16ffb2acce62d84d4899395'/>
<id>urn:sha1:1c04d5992a020aefe16ffb2acce62d84d4899395</id>
<content type='text'>
Add notification support for device class USBTMC</content>
</entry>
<entry>
<title>Buffer int msg to ensure alignment and placement correctness.</title>
<updated>2024-04-27T15:12:00Z</updated>
<author>
<name>HiFiPhile</name>
<email>admin@hifiphile.com</email>
</author>
<published>2024-04-27T15:12:00Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=fdb431b5c70ff605eebda8988e1728e7118b4ab4'/>
<id>urn:sha1:fdb431b5c70ff605eebda8988e1728e7118b4ab4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>add class driver deinit</title>
<updated>2024-04-08T15:07:56Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2024-04-08T15:07:56Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=c3c06484560d0102366a3a1b1101c35301009f97'/>
<id>urn:sha1:c3c06484560d0102366a3a1b1101c35301009f97</id>
<content type='text'>
</content>
</entry>
<entry>
<title>add notification support for device class USBTMC.</title>
<updated>2024-02-26T10:43:45Z</updated>
<author>
<name>Tommie Gannert</name>
<email>tommie@gannert.se</email>
</author>
<published>2024-02-26T10:41:50Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=5ce7b147117826dd75c2d7b347df80b0177e7252'/>
<id>urn:sha1:5ce7b147117826dd75c2d7b347df80b0177e7252</id>
<content type='text'>
The ep_int_in is already used for responding to USB488
READ_STATUS_BYTE requests, but that EP is defined for all of USBTMC.
This extends the functionality to let callers send notifications and
receive ACKs.
</content>
</entry>
<entry>
<title>Fix typos</title>
<updated>2022-12-04T12:43:23Z</updated>
<author>
<name>Bastien Nocera</name>
<email>hadess@hadess.net</email>
</author>
<published>2022-12-04T06:58:47Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=6a2cf6728906aa61b44ecfe43b4ceef287b29bf8'/>
<id>urn:sha1:6a2cf6728906aa61b44ecfe43b4ceef287b29bf8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Update USBTMC driver to support dynamic packet sizes (based on descriptor).</title>
<updated>2022-06-22T01:27:52Z</updated>
<author>
<name>NConrad</name>
<email>pigrew@gmail.com</email>
</author>
<published>2022-06-22T01:27:52Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=e9c29e6a2d42f931ededbc3ad1467cdd5dc1ea33'/>
<id>urn:sha1:e9c29e6a2d42f931ededbc3ad1467cdd5dc1ea33</id>
<content type='text'>
</content>
</entry>
</feed>
