Commit Graph

30 Commits

Author SHA1 Message Date
c6a1c66f8a docs: make CLAUDE.md the real agent-instructions file (#3769)
* docs: make CLAUDE.md the real agent-instructions file
2026-07-21 12:35:00 +07:00
98099a569e docs(AGENTS): prefer git worktrees for branch/multi-step work
Direct agents to work in a git worktree rather than switching the shared
primary checkout's branch. Concurrent sessions share that checkout, so a
mid-flight branch switch disrupts the other sessions and can silently
point a review, build, or commit at the wrong diff. CLAUDE.md is a
symlink to AGENTS.md, so both pick this up.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HeF2gZ1M7GWkz6Av4BpKPg
2026-07-07 17:56:51 +07:00
ce23b8d72e Address Copilot review; move release process into the make-release skill
- README: restore the separate CH32V103 / CH583,CH582 rows in the Supported
  CPUs table — the merged row wrongly applied "ISO data loss [2]" to CH583/2
- Fix typos in historical changelog entries (santiy, Venndor, dynamnic, bagde,
  masstorage, techinical, walkaround, "Update Update") flagged by Copilot
- Replace the AGENTS.md Release section with a pointer to the make-release
  skill; add a Finalize step (maintainer commit/tag/push + GitHub release) to
  the skill so nothing is lost

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 09:10:50 +07:00
c887bd907c Bump version to 0.21.0; rework changelog, contributors, and docs
Release:
- Bump version to 0.21.0 and regenerate tusb_option.h, library.json,
  repository.yml, sonar-project.properties, boards.rst, dependencies.rst
- Add 0.21.0 release notes and split the changelog into per-release files
  under docs/info/changelog/ (date out of title, driver/class groups as
  sub-headings, DCD & HCD section after Device/Host stacks)

Contributors:
- Credit each release's PR authors in a Contributors section
- Drop the curated contributors page; add MAINTAINERS.rst

Docs:
- Update Code of Conduct to Contributor Covenant 3.0 (keep it in the repo,
  remove it from the built docs)
- Sidebar: add a home entry, rename the group to "Documentation", move
  Changelog into it, add a GitHub Sponsor button, merge external links,
  rename FAQ; hide the inline toctree on the landing page
- Add the make-release skill and update the AGENTS.md release process

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-29 23:38:01 +07:00
4b1c8d16f7 docs: add build-doc tooling and a README for every example
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 > Device/Host/Dual > 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) <noreply@anthropic.com>
2026-06-29 10:16:25 +07:00
5014146fef Merge pull request #3695 from hathach/claude/adoring-pasteur-kbaFa
Add pvs skill to run PVS-Studio analysis for a board
2026-06-11 23:19:17 +07:00
dd31ba4530 pvs skill: harden credentials parsing; note compile DB is exported by default
- Parse PVS_STUDIO_CREDENTIALS into two quoted fields (no glob/word-split).
- AGENTS.md: examples build sets CMAKE_EXPORT_COMPILE_COMMANDS ON already.

Addresses Copilot review on #3695.
2026-06-11 14:56:16 +00:00
65b2aeb6a9 pvs skill: mirror CI --security-related-issues flag and ignore SARIF output
- Add --security-related-issues to run_pvs.sh and AGENTS.md analyze commands
  so local runs reproduce the CI SAST classification (static_analysis.yml).
- Ignore *.sarif so a successful run leaves the worktree clean.

Addresses Codex review on #3695.
2026-06-11 14:53:24 +00:00
dffc571358 Fix stm32f723disco host/cdc_msc_hid HIL: UART RX starvation + DWC2 DMA split-IN NAK storm (#3677)
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->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.
2026-06-11 10:17:28 +07:00
c3b4ef03aa Compact pvs skill; fix PVS-Studio -S/--dump-files docs in AGENTS.md
The AGENTS.md '-S src/foo.c' example was inaccurate: -S takes a plaintext
file listing source paths, not paths directly. Drop --dump-files from the
documented commands (it scatters .PVS-Studio.i/.cfg dumps across the tree;
FP-debugging only) and reference the new pvs skill.

https://claude.ai/code/session_015inWmFhRYSq17CxMukdoqX
2026-06-05 07:30:23 +00:00
f5d6c6ba91 Improve remote execution in hil_ci.sh 2026-04-29 12:32:25 +07:00
fd715afcc5 Add code-size skill and integrate metrics_compare_base.py tool
- Introduced a `code-size` skill under `.claude/skills` for evaluating TinyUSB code size changes between the base branch and current branch.
- Added `metrics_compare_base.py`, automating code size comparison with granular options for examples, boards, and CI-wide runs.
- Updated `AGENTS.md` to include quick references and usage guidance for the new feature.
2026-04-29 11:46:34 +07:00
47f2228ced address review feedback for AGENTS.md and hil skill
AGENTS.md:
- fix build dir to cmake-build-<board> (matches hil_test.py expectation)
- reformat flash section to avoid shell-pipe ambiguity, use <board>
- mention board.mk for Make-based builds
- complete OpenOCD jlink interface example
- update stale "Build Option 2" references to "All examples for a board"
- split PVS-Studio command so it is copy-pasteable

.claude/skills/hil/SKILL.md:
- clarify local.json is user-supplied, not tracked in repo
- use python3 consistently
- add all-boards variant for remote execution
- delegate remote execution to test/hil/hil_ci.sh

test/hil/hil_ci.sh:
- portable shebang (/usr/bin/env bash)
- set -euo pipefail
- env overrides for REMOTE, REMOTE_DIR, CONFIG, ROOT_DIR
- --prune-empty-dirs on rsync to skip empty subdirs
- fail-fast sanity check on repo layout

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-29 11:09:48 +07:00
da9d36fa4c update AGENTS.md and claude hil skill 2026-04-28 22:18:21 +07:00
45e80a1042 add hil test for host msc and cdc 2026-03-17 21:38:46 +07:00
a3b2b42176 add hil host cdc test 2026-03-17 14:58:45 +07:00
2052111bac chore(workflows): update GitHub Actions dependencies and improve membrowse error handling
update AGENTS.md with metrics compare
2026-03-12 15:48:49 +07:00
5838c7f09d update printer class: enhance descriptors, buffer sizes, and callbacks 2026-03-06 15:11:59 +07:00
70c93adc2f improve threadx support, add multi ROTS support for board_test and msc_dual_lun 2026-03-05 17:51:57 +07:00
13e0b0c4f1 Merge pull request #3490 from Precidata/non-blocking-host-v2
Fully asynchrounous host code (v2)
2026-03-04 15:24:11 +07:00
c0adaca3a5 fix esp32p4 utmi phy init in the new esp-idf, also update esp-idf to v5.5.3 2026-03-02 20:14:00 +07:00
da21dab358 fix CDC host FTDI multiple channel loop
fix typos for ftdi_process_set_config()
add J-Link GDB + RTT logging instructions
2026-02-25 10:05:22 +07:00
f179b2957d refactor: streamline high-speed PHY detection and configuration in DWC2 driver 2026-02-23 21:08:06 +07:00
67ba8eab2e focus on cdc test, write lots more data, each trunk is 64 or less since examples having minimum 64 bytes fifo (fs) 2025-11-26 13:54:04 +07:00
f6a77b87f0 Bump version to 0.20.0 2025-11-19 23:23:49 +07:00
9d7b401c3d remove copilot-instructions.md, update and use AGENTS.md instead 2025-11-19 22:26:10 +07:00
19fd61603f Apply suggestions from code review
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-11-19 19:20:53 +07:00
e0155eb1d2 fix more alerts 2025-11-19 18:37:15 +07:00
97f814a3e0 Update AGENTS.md
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-10-09 12:12:23 +07:00
2f90d7b6e5 added AGENTS.md 2025-10-09 12:09:53 +07:00