summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2026-06-04ci(labeler): auto-apply Port labels from changed driver files (#3673)Ha Thach
* ci(labeler): auto-apply Port labels from changed driver files Add path-based labeling so a PR touching a dcd/hcd driver under src/portable/ gets the matching "Port <ip>" label automatically.
2026-06-04ci(labeler): match emoji-renamed labels (#3672)Ha Thach
Labels were renamed to add emojis (Adafruit 🌸, Sponsor 💖, Prio 🚩, Prio Top 🚨); update the hardcoded label names in the labeler script to match so they attach to the existing labels instead of recreating plain ones. Co-authored-by: Claude Opus 4.8 (1M context) <[email protected]>
2026-06-04ci: bump actions/github-script v7 -> v8 (Node.js 24) (#3671)Ha Thach
Node.js 20 actions are deprecated; v8 runs on Node.js 24. Co-authored-by: Claude Opus 4.8 (1M context) <[email protected]>
2026-06-04Merge pull request #3670 from hathach/update-labelerHa Thach
ci: sponsor/Adafruit labeling + Sponsor Triage board sync
2026-06-04ci(sponsor-triage): select PullRequest id in search resultshathach
The search drops is:issue to include PRs, but the GraphQL selection only had '... on Issue { id }', so PR nodes returned no id and were skipped. Add '... on PullRequest { id }'. (Codex/Copilot review finding.) Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
2026-06-04ci(sponsor-triage): include open PRs, not just issueshathach
Drop the is:issue qualifier so sponsor pull requests are synced to the board too (search type ISSUE already returns both). A sponsor's open PR is exactly the kind of work to prioritize reviewing. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
2026-06-04ci: add Sponsor Triage board sync workflowhathach
Cron (6h) + manual workflow that adds open issues opened by GitHub sponsors (public and private) and Adafruit org members across the adafruit org and the maintainer's repos to the private Sponsor Triage project board, setting Tier and Visibility. Logs counts only to avoid leaking private sponsor logins. Needs the SPONSOR_TOKEN PAT secret. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
2026-06-04ci(labeler): add sponsor/Adafruit tiers, owner skip, and discussion supporthathach
- rename priority labels usage to Prio / Prio Top - label Adafruit members (Adafruit + Sponsor + Prio Top) and public GitHub sponsors by tier; contributors get Prio - skip sponsor/Adafruit perks for the maintainer's own issues/PRs - support discussions via the GraphQL addLabelsToLabelable mutation Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
2026-06-04Merge pull request #3669 from hathach/dwc2-l476-setupHa Thach
dwc2: submit SETUP on SETUP_DONE, handle v3.10a spurious RX_COMPLETE (STM32L476)
2026-06-03dwc2: address Copilot review (comment grammar/typo, tinyusb.json f407 dedup)hathach
Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
2026-06-03dwc2: remove investigation debug logginghathach
Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
2026-06-03Add STM32F407 and STM32L476 disco board configurations to tinyusb.jsonhathach
2026-06-03refactor(cmake): comment out unused target folder propertieshathach
2026-06-03dwc2: submit setup packet on SETUP_DONE and drop spurious EP0 RX_COMPLETE on ↵hathach
core v3.10a (STM32L476) DWC2 core rev 3.10a pushes an extra EP0 RX_COMPLETE (RXFLVL PKTSTS 0x3) that is not a real OUT data completion, in two cases flagged on DOEPINT: - STPKTRX (Setup Packet Received): between SETUP_RX and SETUP_DONE - STSPHSRX (Status Phase Received, control write): after the OUT data stage when the host starts the IN status phase
2026-06-03Merge branch 'master' into ch32_warninghathach
2026-06-03Merge remote-tracking branch 'origin/master' into dwc2_postfixhathach
2026-06-03Merge pull request #3668 from hathach/claude/review-sticky-commentHa Thach
ci(claude): post sticky summary comment on code review
2026-06-03ci(claude): post sticky summary comment on code reviewhathach
The review workflow posted nothing when a review found no issues: with use_sticky_comment unset, the only output path was inline comments, so a clean review surfaced no comment at all on the PR. Enable use_sticky_comment so a single summary comment is posted/ updated every run, making "no issues found" results visible. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
2026-06-03Merge remote-tracking branch 'origin/master' into dwc2_postfixhathach
2026-06-03Merge pull request #3667 from hathach/ci-claude-review-allowed-botsHa Thach
ci: allow claude[bot] pushes in code review workflow
2026-06-03ci: allow claude[bot] pushes in code review workflowhathach
Add allowed_bots: 'claude' so that when claude[bot] pushes commits the workflow skips gracefully instead of erroring. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
2026-06-02dcd/dwc2: fix back-to-back SETUP reception in DMA modeHiFiPhile
Signed-off-by: HiFiPhile <[email protected]>
2026-06-02docs: revert USBFS non-ISO transfer qualification in device_issuesclaude[bot]
Restore original "Other types of transfers are not affected" statement, removing the conditional USBHS_INT_BUSY_EN / USBFS-unconfirmed wording. Co-authored-by: Zixun LI <[email protected]>
2026-06-02docs: fix review issues in device_issues and READMEclaude[bot]
- Remove duplicate toctree entry for reference/device_issues from docs/index.rst (already included via docs/reference/index.rst) - Fix WCH section title: CH32V10X/CH32V20X/CH32V30X → CH32F20x/CH32V20x/CH32V30x to match the three actual README table entries (CH32F20x, CH32V20x, CH32V305/307) - Update README anchor links to match the renamed section - Qualify USBFS non-ISO transfer safety claim: USBHS is protected by USBHS_INT_BUSY_EN but USBFS behavior is not yet confirmed - Fix LPC54600 note: "read errata" → "see device issues" - Remove "totally" from LPC54600 description Co-authored-by: Ha Thach <[email protected]>
2026-06-02try to get render rightHiFiPhile
Signed-off-by: HiFiPhile <[email protected]>
2026-06-02Merge remote-tracking branch 'tinyusb/master' into ch32_warningHiFiPhile
Signed-off-by: HiFiPhile <[email protected]>
2026-06-02rename to device issuesHiFiPhile
Signed-off-by: HiFiPhile <[email protected]>
2026-06-02Merge pull request #3664 from hathach/add-sponsor-sectionHa Thach
docs: add Sponsors section with GitHub Sponsors tiers
2026-06-02add sponsor sectionhathach
2026-06-02Merge pull request #3663 from hathach/claude-workflow-fix-bugsHa Thach
ci(claude): enable @claude to fix bugs and commit from comments
2026-06-02ci(claude): drop Bash allowlist entirely (Codex P1, round 2)hathach
Codex correctly noted that allowing python3/python (and really cmake/make too) is arbitrary code + network execution: a command allowlist cannot contain a prompt-injected or malicious fork PR when this job holds the OAuth secret + write token, and the review workflow directs fork PRs to @claude. The Bash allowlist was beyond the original scope (auto-commit/PR) anyway. Remove it: Claude edits files and the action commits/opens the PR, and the resulting commit is verified by the existing CircleCI matrix. Keep use_commit_signing and --max-turns 30. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
2026-06-02ci(claude): scope Bash allowlist instead of wide-open (Codex P1)hathach
Codex flagged that @claude can be summoned on a fork PR (the review workflow even directs fork PRs here), so the checked-out PR content is potentially attacker-controlled. Unrestricted Bash in this write-token + OAuth-secret job let prompt injection steer Claude into arbitrary shell/network commands. Scope Bash to the repo's actual verification commands (cmake, ninja, make, ctest, python/python3, pre-commit, clang-format, codespell, git). This blocks the injection-to-arbitrary-command path while still letting Claude build/test before committing. Building fork code itself is already done by the existing CircleCI, so that surface is unchanged. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
2026-06-02ci(claude): enable @claude to fix bugs and commit from commentshathach
Configure the @claude summon workflow so it can actually produce a verified fix when asked in an issue/PR comment: - use_commit_signing: bot commits show as Verified - --allowedTools Bash: lets Claude build/test to verify the fix before committing (default allowlist blocks Bash). Safe because the job `if` gate restricts this to OWNER/MEMBER/COLLABORATOR. - --max-turns 30: enough turns to investigate -> fix -> verify Auto-commit/PR is already built into claude-code-action and the required write permissions were already present, so no permission changes are needed. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
2026-06-02Merge pull request #3662 from hathach/update-claudeHa Thach
Update claude
2026-06-01add device errata documentHiFiPhile
Signed-off-by: HiFiPhile <[email protected]>
2026-06-02ci: address second codex/copilot review roundhathach
- claude.yml: drop the issues "assigned" trigger; its author_association gate keys on the issue author, not the assigner, so a maintainer assigning an outside contributor's issue would be wrongly skipped. - claude-code-review.yml: issues: read -> write so use_sticky_comment can create/update its PR comment via the issues API. - hil SKILL.md: make local/remote command blocks copy-pasteable (drop [-b BOARD_NAME] notation for concrete examples) and fix timeout (600000 ms is 10 min; use 1200000 ms for the stated 20 min). Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
2026-06-02ci: address codex/copilot review on claude workflowshathach
- claude.yml: gate @claude on author_association (OWNER/MEMBER/COLLABORATOR) so the write-scoped token and OAuth secret are never issued for an untrusted commenter on this public repo (defense-in-depth). - claude-code-review.yml: skip fork PRs in the job condition (head.repo.full_name == github.repository) since forks get no secrets and would only fail noisily; fix the misleading token comment; pass additional_permissions: actions: read so actions: read is effective. - hil SKILL.md: reword hostname guidance, use full test/hil/* paths, and show an explicit CONFIG= assignment so the local command is runnable. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
2026-06-01ci: re-enable Claude PR review and harden auth/permissionshathach
- claude-code-review.yml: re-enable (drop `if: false`); switch from pull_request_target to pull_request so fork PRs never receive the OAuth token (avoids prompt-injection token leak). Auto-review on open/synchronize/reopen/ready_for_review, skip drafts, sticky comment. - claude.yml: grant contents/pull-requests/issues write so @claude can reply and push fixes; @claude is the on-demand path for fork PRs.
2026-06-01docs(hil): support running HIL locally on ci.lanhathach
Update the hil skill so config selection is per-host: run `hostname` first, then htpc uses local.json and ci uses tinyusb.json. ci can now run HIL on its own large board pool locally instead of only via SSH from htpc. Remote (SSH) mode is htpc-only since ci cannot reach htpc. Also compact the skill for brevity.
2026-06-01Merge pull request #3657 from hathach/usbh-add-control-queueHa Thach
Add control transfer fifo for host stack
2026-06-01CFG_TUH_CONTROL_PENDING_QUEUE_SZ defefault to 4 if hub is eanbled, 2 if nothathach
2026-06-01ultrareview nits: keep xfer_result table in sync, hoist blinky loophathach
- src/tusb.c: extend tu_str_xfer_result[] with "ABORTED" and "INVALID" to match the new enum size. Not reachable today (no HCD posts those values through hcd_event_xfer_complete), but keeps the enum/table invariant intact so future HCDs that surface ABORTED don't index OOB. - examples/dual/dynamic_switch/src/main.c: apply the same while(1) hoist already done for cdc_task / print_devinfo_task to led_blinking_task. On OS_NONE the loop returned mid-iteration, which on first call could fire multiple back-to-back toggles while start_ms (initially 0) caught up to uptime. Co-Authored-By: Claude Opus 4.7 <[email protected]>
2026-05-31cdc_host: fix undeclared 'idx' when only LINE_CONTROL_ON_ENUM definedAndrew Leech
idx is used in the ENUM_SET_LINE_CONTROL path guarded by CFG_TUH_CDC_LINE_CONTROL_ON_ENUM, but was declared only under CFG_TUH_CDC_LINE_CODING_ON_ENUM. Defining LINE_CONTROL_ON_ENUM without LINE_CODING_ON_ENUM therefore failed to compile with an undeclared identifier. Guard the declaration under either macro. Signed-off-by: Andrew Leech <[email protected]>
2026-05-30Merge pull request #3620 from UMRnInside/fix-ch32v103-hardfaultZixun LI
Fix ch32v103 hardfault & Add CH32V103C8T6 Bluepill board
2026-05-30Merge pull request #3658 from wjklimek1/mtp-out-transfer-fixZixun LI
Fix premature MTP phase change after short MTP OUT transfer
2026-05-30Merge pull request #3634 from HKM-Messtechnik/fix/Dwc2Stm32U5Zixun LI
dwc2: preserve EP0 status completion before SETUP
2026-05-30esp32 build fixesHiFiPhile
Signed-off-by: HiFiPhile <[email protected]>
2026-05-30dynamic_switch: hoist while(1) out for OS_NONEhathach
Sonar flagged the loop body as executing only once on OS_NONE because the OS_NONE branch returns inside the first iteration (main() drives the task again). Make the while(1) conditional on RTOS so the OS_NONE build is a straight-line function with no misleading loop. Co-Authored-By: Claude Opus 4.7 <[email protected]>
2026-05-30midi2_host: silence IAR Pe550 for midi2_idxhathach
The variable is set in mount/umount callbacks but not read elsewhere in the example (rx_cb already receives idx as a parameter). IAR treats Pe550 as an error under --warnings_are_errors. Tag it TU_ATTR_UNUSED so the example still shows the pattern of tracking the device index without erroring on unused-set. Co-Authored-By: Claude Opus 4.7 <[email protected]>
2026-05-30midi2_host: drop unreachable return 0 for IAR Pe111hathach
Same fix as midi2_device — IAR rejects the unreachable statement after the while(1) superloop. Let int main fall off the end. Co-Authored-By: Claude Opus 4.7 <[email protected]>