summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2026-07-03Merge pull request #3751 from cuolm/masterZixun LI
fix: correct video stack macro typo in video capture examples
2026-07-03fix HID_STACK_SIZE typoHiFiPhile
Signed-off-by: HiFiPhile <[email protected]>
2026-07-03fix: correct video stack macro typo in video capture examplescuolm
Corrects VIDEO_STACK_SZIE to VIDEO_STACK_SIZE.
2026-07-03Merge pull request #3742 from Old-Ding/fix/rtthread-msc-inquiry-boundsZixun LI
Fix RT-Thread MSC inquiry string bounds
2026-07-03Merge pull request #3660 from andrewleech/cdch-on-enum-idx-guardZixun LI
cdc_host: fix undeclared 'idx' when only LINE_CONTROL_ON_ENUM is defined
2026-07-02bound cdc-data endpoints against descriptor length in acm_openJavid Khan
2026-07-02license: use SPDX identifiers for src/ headers (#3749)Ha Thach
* 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.
2026-07-01hcd(max3421): improve CHIPRES reset logic and refine oscillator ↵hathach
stabilization timing
2026-07-01max3421: prevent USB host hang at startupMikey Sklar
On some boards the MAX3421E doesn't report its oscillator ready after a soft reset (CHIPRES), so hcd_init() waits on USBIRQ_OSCOK forever and the host hangs at startup before any USB device can be used. Bound the wait so it proceeds after a timeout; it is a no-op where OSCOK arrives normally. Needed on the Adafruit Feather ESP32 V2 (classic ESP32) + USB Host FeatherWing, which otherwise hangs on essentially every cold boot. Relates to adafruit/circuitpython#10053.
2026-06-30docs: convert changelog release notes from RST to Markdown (#3746)0.21.0Ha Thach
* docs: convert changelog release notes from RST to Markdown
2026-06-30Merge pull request #3747 from hathach/claude/claude-review-allowtoolsHa Thach
ci(claude-review): allowlist the tools /code-review needs
2026-06-30ci(claude-review): allowlist Write too (review writes a helper script)hathach
The log shows two gated tools, not one: compound Bash pipelines AND Write — the review tried to drop check_headings.py (at /tmp, then the workdir, both denied). Add Write to the allowlist. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
2026-06-30ci(claude-review): trim allowlist to Bash (the only gated tool)hathach
Every blocked call in the review log was a compound Bash pipeline; Read/Grep/ Glob/Task already ran un-prompted, so only bare Bash needs allowlisting. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
2026-06-30ci(claude-review): allowlist the tools /code-review needshathach
The auto-review job runs /code-review headless, which uses Bash (git diff, gh), file search, and Task (it fans out sub-agent reviewers). None were allowlisted, so every such call stalled on a per-tool approval prompt and the review couldn't gather the diff or spawn reviewers. Add --allowedTools. Safe here (unlike claude.yml): this job is gated to same-repo PRs and its token is contents:read, so it cannot push. Bash is broad — scope to git/gh/grep if preferred. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
2026-06-30Merge pull request #3745 from hathach/claude/release-0.21.0Ha Thach
Release 0.21.0
2026-06-30make-release skill: tighten to commands + essential judgmenthathach
Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
2026-06-30docs: move changelog to docs/changelog, drop the docs/info folderhathach
Relocate docs/info/changelog/ -> docs/changelog/ (docs/info held only the changelog) and update all references: the toctree, README + MAINTAINERS links, make_release.py, and the make-release skill. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
2026-06-30docs: keep the changelog page last in the toctree (maintainers before it)hathach
Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
2026-06-30Revert MAINTAINERS to .rst and add it to the docs buildhathach
- restore MAINTAINERS.rst (drop the .md); make the changelog link absolute so it resolves both on GitHub and in the rendered docs - docs/maintainers.rst includes the root file (same pattern as README) and is wired into the Documentation toctree Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
2026-06-30Convert MAINTAINERS.rst to Markdown (MAINTAINERS.md)hathach
Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
2026-06-30build.py: keep only raspberry_pi_pico in rp2040 ci_preferred_boardshathach
The one-board selector uses preferred_list[0] anyway, so pico is the board built. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
2026-06-30build.py: prefer pico/pico2 for rp2040 CI; skill: drop one-time 0.20.0 ↵hathach
backfill note - ci_preferred_boards: rp2040 -> raspberry_pi_pico, raspberry_pi_pico2 so the one-board CI/metrics build uses a Pico (the first-alphabetical board failed). - make-release skill: the metrics backfill was a one-time 0.20.0 task, not a recurring release step; keep only the CI auto-compare note. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
2026-06-30make-release skill: document code-size compare vs previous releasehathach
CI auto-uploads metrics.json + a compare to each release on the release event (needs the previous release's metrics.json); plus the procedure to backfill a missing baseline by building the old tag's own tree and post-processing its linker maps (current tooling can't build old source — co-evolved tree). Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
2026-06-30README: use stm32_fsdev (not bare fsdev) for the AT32 row, for consistencyhathach
Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
2026-06-30Fix code-review findings (changelog rendering, release skill, sidebar)hathach
- changelog: fix 3 silent RST mis-renders carried over from the old monolith — Markdown link in 0.7.0, mismatched/single backticks in 0.18.0 / 0.20.0 - make-release skill contributors one-liner: parallelize the gh fetch, anchor the bot filter (was a substring that dropped handles like "abbott"), and join with ", " (paste -sd cycles the delimiter -> "@a,@b @c"); finalize now stages only the reviewed set (git add -A -- ':!.idea'); drop the obsolete CRLF gotcha - make_release.py: emit LF not CRLF in the repository.yml insertion (fixes the gotcha at the source) - docs sidebar: drop the hardcoded furo component list; override brand.html to include furo's own template + the sponsor button (decoupled from furo internals, no upper-bound pin needed); move sponsor styles into custom.css - .pre-commit-config.yaml: drop stale end-of-file-fixer excludes for the deleted contributors/CoC include shims Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
2026-06-30Address Codex review: release skill + furo requirementhathach
- make-release skill: stage new files with git add -A in finalize, use unprefixed release tags (X.Y.Z), and run validate build steps in subshells so the cwd doesn't leak between commands - docs/requirements.txt: require furo>=2025.12.19 so the sidebar component list in conf.py (incl. variant-selector.html) is always available Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
2026-06-30Keep merged CH583/2 + CH32V103 row (same ISO data loss issue)hathach
Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
2026-06-30Address Copilot review; move release process into the make-release skillhathach
- 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) <[email protected]>
2026-06-29Bump version to 0.21.0; rework changelog, contributors, and docshathach
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) <[email protected]>
2026-06-29Merge pull request #3743 from hathach/claude/build-doc-skillHa Thach
docs: add build-doc tooling and a README for every example
2026-06-29docs: address Copilot review on the example READMEshathach
- Order CFG_TUH_DEVICE_MAX before CFG_TUH_HID in the host config snippets (cdc_msc_hid, hid_controller) so the documented snippet has no forward macro reference when copied into tusb_config.h. - Fix stale `examples.rst` references: the generator now writes per-group `docs/examples/<group>/index.rst` pages, so update the conf.py comment and the build-doc SKILL.md accordingly. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
2026-06-29docs: add build-doc tooling and a README for every examplehathach
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) <[email protected]>
2026-06-29Merge pull request #3735 from hathach/claude/hil-ch32v103r-throughputHa Thach
test/hil: enable cdc_msc_throughput on ch32v103r_r1_1v0
2026-06-28example(midi2): update example to demonstrate multiple fbSaulo Veríssimo
Adds two Group Terminal Blocks (output and input) with names and per-direction endpoint association, plus an explicit endpoint name.
2026-06-28feat(midi2): derive function blocks from the GTB descriptorSaulo Veríssimo
Function Block Info (direction, group span, name) is derived from the GTB descriptor as the single source of truth, so a device can expose multiple Group Terminal Blocks with independent directions. Adds Function Block Name notifications (tud_midi2_fb_name_cb) and an opt-in callback to answer UMP Stream messages from the application (tud_midi2_stream_msg_cb). Ref #3571
2026-06-28Fix RT-Thread MSC inquiry string boundsOld-Ding
2026-06-27bound ndp16 wLength against received ntb in recv_validate_datagramJavid Khan
2026-06-27Merge pull request #3731 from zjzhang-cn/fix/dwc2-hcd-ls-hfirZixun LI
fix(dwc2_hcd): correct HFIR for Low-Speed devices via internal FS PHY
2026-06-27Merge pull request #3737 from grunzasr/Add_NUCLEO_H533REZixun LI
Add ST board NUCLEO_H533RE
2026-06-27bsp/stm32h5: fix linkerHiFiPhile
Signed-off-by: HiFiPhile <[email protected]>
2026-06-27bsp/stm32h5: fix uart definitionHiFiPhile
Signed-off-by: HiFiPhile <[email protected]>
2026-06-27refresh presetsHiFiPhile
Signed-off-by: HiFiPhile <[email protected]>
2026-06-26Added NUCLEO_H533RE so this board can be used out-of-the-boxgrunzasr
2026-06-26Added files by copying and modifying files from stm32h503nucleo direcotry to ↵Steven Grunza
stm32h533nucleo
2026-06-26test/hil: enable cdc_msc_throughput on ch32v103r_r1_1v0hathach
The board was added to the CI HIL pool with device/cdc_msc_throughput skipped, so the test had never run on it. Remove the skip to include it in the device test set. Verified passing on the ci rig (USBFS, full-speed): CDC read 639 / write 544 kBps, MSC read 845 / write 575 kBps. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
2026-06-26Merge branch 'hathach:master' into fix/dwc2-hcd-ls-hfir代码人生
2026-06-25hcd/dwc2: update wording on hfirHiFiPhile
Signed-off-by: HiFiPhile <[email protected]>
2026-06-25Merge pull request #3616 from michaelajax/fix-stm32-usbcZixun LI
typec/stm32: fix UCPD sink bugs affecting compatibility with newer PD sources
2026-06-25Merge pull request #3730 from dxbjavid/msc-scsi-cb-bufsize-capZixun LI
cap tud_msc_scsi_cb bufsize to endpoint buffer size
2026-06-25fix(dwc2_hcd): correct HFIR for Low-Speed devices via internal FS PHYZhang, Zhenjiang
When a Low-Speed device is connected through the internal FS PHY, the effective PHY clock is 6MHz (HCFG_FSLS_PHYCLK_SEL_6MHZ), but phy_clock was incorrectly left at 48. This caused HFIR to be calculated as 47999 (~8ms SOF interval) instead of the correct 5999 (1ms SOF interval), breaking periodic endpoint scheduling. Fixes: LS mouse only receiving first HID report on OTG_HS + FS PHY