Commit Graph

48 Commits

Author SHA1 Message Date
7b9761f191 Enable APM32F0 dependency fetching and CI 2026-07-25 11:28:29 +08:00
127dd2ca26 add py32f0 support 2026-07-19 19:24:40 +08:00
f5d155256b skill: add usb-target-debug — device-side capture & debug on the HIL rig
Completes the debugging toolset (usbmon = what the host exchanged,
usb-debug = why the host acted, usb-sniffer = what crossed the wire):
TU_LOG/RTT capture, per-probe GDB autopsy without reset, RAM ring-buffer
event trace, J-Link DWT_PCSR PC-sampling, dual-side capture posture, and
board-lock rig discipline. Includes the implementation plan it executes.

Hard-won warnings baked in from real bring-up sessions: volatile ring
buffers vs -Os dead-store elimination, RTT NO_BLOCK_SKIP post-mortem
limits (no overwrite mode exists), DHCSR validity anchors for register
snapshots, release-lock-before-hil_test, and that a marginal just-recabled
link can fake a deterministic firmware bug.

Also ignore .claude/worktrees/.
2026-07-17 16:48:00 +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
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
fba8d25784 test/hil: accumulate HIL report across re-runs; post as sticky PR comment
hil_test.py persists results in a hil_report.json sidecar and regenerates
hil_report.md from it. A full run starts fresh; a re-run (--skip-board / -bt,
i.e. the .skip file) merges into the existing report so already-passed
boards/tests are preserved while only re-run cells update. The report dir is
configurable via HIL_REPORT_DIR.

build.yml: each HIL rig writes the report to a workspace-sibling dir that
survives the per-attempt workspace clean, and uploads it as an artifact. A new
hil-report job merges the rigs' reports into one sticky PR comment (marocchino)
with one table per rig.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-08 16:11:13 +07:00
d38ba79ad4 test/hil: report board x test results as a markdown matrix
hil_test.py now writes hil_report.md and prints it to stdout: rows are
boards, columns are tests (bare example names), cells are pass/fail/skip.
test_example returns a per-test status, test_board collects a board x test
grid (one row per flags-on variant), and main() renders an aligned table.
A missing binary counts as skipped. hil_ci.sh copies the report back from
the remote after a run; hil_report.md is gitignored.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-08 15:17:20 +07:00
ea2de8be7e Merge branch 'master' into copilot/upgrade-net-lwip-webserver-descriptors 2026-05-03 14:36:25 +02: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
5c0c166246 Merge upstream master into net descriptor-based ep_size branch
- Resolve .gitignore conflict: incorporate upstream's .worktrees entry and
  expand dependency path patterns to cover all tools/get_deps.py fetched dirs
  (lib/, tools/linkermap, tools/uf2, hw/mcu/*) instead of listing only a few

- Auto-merged upstream changes: build system cleanups, BSP updates,
  portability fixes, new boards (nrf54lm20dk, stm32h743_weact),
  fatfs relocation, and many other upstream improvements

- Net driver changes (ecm_rndis_device.c, ncm_device.c, net_device.h,
  usbd.h, usb_descriptors.c) retain our PR's descriptor-based ep_size
  approach as our branch takes precedence

Co-authored-by: HiFiPhile <4375114+HiFiPhile@users.noreply.github.com>
2026-04-23 09:49:02 +00:00
a6dcc3f089 fix some Wconversion warnings 2026-04-17 10:16:31 +07:00
b46147a497 remove accidentally committed submodule entries 2026-03-22 20:27:58 +00:00
f1fc4c9c79 change tu_fifo_clear()/tu_edpt_stream_clear() from return bool to void 2025-12-10 14:45:06 +07:00
df6f136003 add linkermap to deps and linkermap taget 2025-12-01 14:46:47 +07:00
55227a6146 fix more warnings 2025-10-15 16:37:01 +07:00
89f8fbc9c2 Create comprehensive GitHub Copilot instructions and fix pre-commit configuration for TinyUSB (#3234)
* Initial plan

* Create comprehensive GitHub Copilot instructions for TinyUSB

Co-authored-by: hathach <249515+hathach@users.noreply.github.com>

* Remove accidentally committed dependencies, use tools/get_deps.py instead

Co-authored-by: hathach <249515+hathach@users.noreply.github.com>

* Fix .gitignore: ignore vendor/ directory not ceedling script

Co-authored-by: hathach <249515+hathach@users.noreply.github.com>

* Revert .gitignore changes and add README_processed.rst

Co-authored-by: hathach <249515+hathach@users.noreply.github.com>

* Remove README_processed.rst and revert ceedling file permissions

Co-authored-by: hathach <249515+hathach@users.noreply.github.com>

* Changes before error encountered

Co-authored-by: hathach <249515+hathach@users.noreply.github.com>

* Remove redundant manual validation step, keep only pre-commit and build validation

Co-authored-by: hathach <249515+hathach@users.noreply.github.com>

* fix pre-commit

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: hathach <249515+hathach@users.noreply.github.com>
2025-09-04 17:59:10 +07:00
ca750313b2 Update gitignore.
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2025-03-15 21:15:52 +01:00
09bce3532c Add CMake presets.
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2025-02-09 00:25:38 +01:00
ae4373d875 Update .gitignore 2024-11-30 21:49:54 +01:00
87a35c5734 RP2040 Compile Errors 2024-10-15 23:38:16 +02:00
c1175b7013 enable full 224KB flash for ch32v203 with flash enhanced read mode in SystemInit (better with startup).
add flash with wlink-rs
2024-07-10 22:48:06 +07:00
db60fa1c63 add CH32V20x USB OTG/FS driver 2024-05-15 20:01:00 +07:00
a018b229ba Update .gitignore. 2024-04-27 17:12:23 +02:00
ce627f4318 feat(ch32f20x): add support of ch32f20x 2023-10-06 13:04:54 +03:00
1b658ae109 add etm trace for mcb1800
clean up other ide setting
2023-06-20 13:12:12 +07:00
160e2a8aeb skip .idea 2023-04-03 11:07:48 +07:00
99315bcca3 adding more cmake support 2023-03-29 14:36:43 +07:00
fe77976765 Merge branch 'master' into renesas-ra 2023-03-11 08:15:23 +07:00
704f3ddeb5 add dependencies repo to git ignore 2023-03-10 23:43:07 +07:00
f2e8a60e6d add .vscode to gitignore
Signed-off-by: Rafael Silva <rafaelsilva@ajtec.pt>
2022-06-02 09:35:30 +01:00
7b27b8f498 Unify skip and only logic for build scripts
And switch to a single file that can include mcu, family or board.
2022-01-05 15:44:23 -08:00
9f925bc900 Added support for Black Magic Probe (#787)
* Added flash-bmp and debug-bmp targets; added .gdb_history to .gitignore
* Added the BMP variable, defaults to /dev/ttyBmpGdb
The name of the BMP device is different on different systems. On Linux (after installing the recommended udev rules) it'll be /dev/ttyBmpGdb, but the user should be able to override it.
* Update rules.mk
2021-04-16 20:23:27 +07:00
567c6d437a remove ses project since it is all broken and occupies space 2021-03-23 15:19:53 +07:00
9c3a44b6a3 update hid_composite_freertos example 2021-02-09 16:06:38 +07:00
474404f6f1 try build with docker 2020-04-18 16:26:54 +07:00
e5dc0902a0 house keeping 2020-04-16 16:06:11 +07:00
18303e742e Covert macros to inline functions. 2019-09-15 23:46:03 -04:00
532abadb78 Ignore build artifact files. 2019-09-09 19:21:29 -04:00
570a2b2053 gitignore 2019-07-26 11:35:52 +07:00
15208e710a docs clean up 2019-06-10 17:51:51 +07:00
f3c2b9c2aa update fifo test 2019-06-10 17:42:00 +07:00
579f468d38 remove unity as submodule 2019-06-10 16:16:59 +07:00
13e01c7dca add TU_ prefix to compiler ATTR to prevent name conflict with application 2019-06-06 10:39:37 +07:00
a55875522c reduce travis make thread to 2 2019-05-03 13:56:52 +07:00
bf70f89240 Introduce a Makefile for the OS_NONE device example
It currently supports the SAMD21 and SAMD51 only. More will be
added later.
2018-11-25 11:46:06 -08:00
3fccd24854 refractor device composite freertos ses 2018-11-22 00:50:51 +07:00
10bf41f718 change osal_queue_receive() signature
- fix build issue with freertos
2018-11-14 16:31:28 +07:00