Commit Graph

10920 Commits

Author SHA1 Message Date
6912f23618 Fix usbd empty builtin driver warning
Generated-by: OpenAI Codex
Signed-off-by: aineoae86-sys <ai.neo.ae86@gmail.com>
2026-07-05 15:38:17 +08:00
41b8ad2039 Merge pull request #3748 from mikeysklar/fix-max3421-oscok-hang
max3421: prevent USB host hang at startup
2026-07-03 23:25:05 +07:00
37ea546aba Merge pull request #3751 from cuolm/master
fix: correct video stack macro typo in video capture examples
2026-07-03 16:55:14 +02:00
0eb1928570 fix HID_STACK_SIZE typo
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2026-07-03 16:00:29 +02:00
b2a9a5d06a fix: correct video stack macro typo in video capture examples
Corrects VIDEO_STACK_SZIE to VIDEO_STACK_SIZE.
2026-07-03 15:21:40 +02:00
ef05184635 Merge pull request #3742 from Old-Ding/fix/rtthread-msc-inquiry-bounds
Fix RT-Thread MSC inquiry string bounds
2026-07-03 11:25:33 +02:00
3157621ee6 Merge pull request #3660 from andrewleech/cdch-on-enum-idx-guard
cdc_host: fix undeclared 'idx' when only LINE_CONTROL_ON_ENUM is defined
2026-07-03 11:10:50 +02:00
7a4111b96e license: use SPDX identifiers for src/ headers (#3749)
* 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-02 21:55:45 +07:00
4202e1e2d0 hcd(max3421): improve CHIPRES reset logic and refine oscillator stabilization timing 2026-07-01 17:49:14 +07:00
f96757a19a max3421: prevent USB host hang at startup
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-07-01 16:07:59 +07:00
dae3f9a366 docs: convert changelog release notes from RST to Markdown (#3746)
* docs: convert changelog release notes from RST to Markdown
0.21.0
2026-06-30 22:27:27 +07:00
188b998929 Merge pull request #3747 from hathach/claude/claude-review-allowtools
ci(claude-review): allowlist the tools /code-review needs
2026-06-30 17:26:02 +07:00
37e247176c ci(claude-review): allowlist Write too (review writes a helper script)
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) <noreply@anthropic.com>
2026-06-30 17:14:29 +07:00
2bedc60e83 ci(claude-review): trim allowlist to Bash (the only gated tool)
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) <noreply@anthropic.com>
2026-06-30 17:04:32 +07:00
c52a4a37f0 ci(claude-review): allowlist the tools /code-review needs
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) <noreply@anthropic.com>
2026-06-30 16:45:34 +07:00
da41189467 Merge pull request #3745 from hathach/claude/release-0.21.0
Release 0.21.0
2026-06-30 16:11:24 +07:00
47ce85fc19 make-release skill: tighten to commands + essential judgment
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 16:07:21 +07:00
20200b3520 docs: move changelog to docs/changelog, drop the docs/info folder
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) <noreply@anthropic.com>
2026-06-30 14:39:57 +07:00
0849a5c172 docs: keep the changelog page last in the toctree (maintainers before it)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 14:36:48 +07:00
ae87287f5b Revert MAINTAINERS to .rst and add it to the docs build
- 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) <noreply@anthropic.com>
2026-06-30 14:33:15 +07:00
9b2c11f031 Convert MAINTAINERS.rst to Markdown (MAINTAINERS.md)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 14:25:19 +07:00
4ae991fd88 build.py: keep only raspberry_pi_pico in rp2040 ci_preferred_boards
The one-board selector uses preferred_list[0] anyway, so pico is the board built.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 13:37:29 +07:00
36667740cb build.py: prefer pico/pico2 for rp2040 CI; skill: drop one-time 0.20.0 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) <noreply@anthropic.com>
2026-06-30 13:35:35 +07:00
aa7db172ca make-release skill: document code-size compare vs previous release
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) <noreply@anthropic.com>
2026-06-30 13:26:53 +07:00
213e2725aa README: use stm32_fsdev (not bare fsdev) for the AT32 row, for consistency
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 11:53:01 +07:00
461dff5911 Fix code-review findings (changelog rendering, release skill, sidebar)
- 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) <noreply@anthropic.com>
2026-06-30 10:57:26 +07:00
0657ecf728 Address Codex review: release skill + furo requirement
- 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) <noreply@anthropic.com>
2026-06-30 10:23:36 +07:00
ebb2bbe310 Keep merged CH583/2 + CH32V103 row (same ISO data loss issue)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 09:14:43 +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
40f4c12c6b Merge pull request #3743 from hathach/claude/build-doc-skill
docs: add build-doc tooling and a README for every example
2026-06-29 12:56:16 +07:00
ba32b46ebd docs: address Copilot review on the example READMEs
- 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) <noreply@anthropic.com>
2026-06-29 10:42:41 +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
be22838b08 Merge pull request #3735 from hathach/claude/hil-ch32v103r-throughput
test/hil: enable cdc_msc_throughput on ch32v103r_r1_1v0
2026-06-29 09:14:04 +07:00
a9e64ee3a4 Fix RT-Thread MSC inquiry string bounds 2026-06-28 15:40:08 +08:00
ca8a74fa93 Merge pull request #3731 from zjzhang-cn/fix/dwc2-hcd-ls-hfir
fix(dwc2_hcd): correct HFIR for Low-Speed devices via internal FS PHY
2026-06-27 14:38:35 +02:00
c1e529fc02 Merge pull request #3737 from grunzasr/Add_NUCLEO_H533RE
Add ST board NUCLEO_H533RE
2026-06-27 14:37:51 +02:00
dd5b2b5b5b bsp/stm32h5: fix linker
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2026-06-27 13:02:00 +02:00
8ee82a55c9 bsp/stm32h5: fix uart definition
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2026-06-27 12:53:53 +02:00
29745b62f9 refresh presets
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2026-06-27 11:54:51 +02:00
a0a1caf58c Added NUCLEO_H533RE so this board can be used out-of-the-box 2026-06-26 10:35:06 -04:00
2e2baaecfd Added files by copying and modifying files from stm32h503nucleo direcotry to stm32h533nucleo 2026-06-26 10:11:02 -04:00
9c31c8ab0e test/hil: enable cdc_msc_throughput on ch32v103r_r1_1v0
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) <noreply@anthropic.com>
2026-06-26 15:15:05 +07:00
0ec10636b3 Merge branch 'hathach:master' into fix/dwc2-hcd-ls-hfir 2026-06-26 09:33:32 +08:00
854525d526 hcd/dwc2: update wording on hfir
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2026-06-25 21:46:58 +02:00
0a25cc27d7 Merge pull request #3616 from michaelajax/fix-stm32-usbc
typec/stm32: fix UCPD sink bugs affecting compatibility with newer PD sources
2026-06-25 10:24:39 +02:00
ff86dfe41f Merge pull request #3730 from dxbjavid/msc-scsi-cb-bufsize-cap
cap tud_msc_scsi_cb bufsize to endpoint buffer size
2026-06-25 09:30:41 +02:00
e95d6b3932 fix(dwc2_hcd): correct HFIR for Low-Speed devices via internal FS PHY
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
2026-06-25 10:00:57 +08:00
c374de17d9 skip cable-plug traffic
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2026-06-24 23:41:43 +02:00
430efad690 skip pdo request if no suitable voltage
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2026-06-24 21:59:41 +02:00