Skip to content

Back-fill USB VID:PID for 8 boards (#740) - #917

Merged
zackees merged 1 commit into
mainfrom
codex/board-vid-pid-backfill
Jul 1, 2026
Merged

Back-fill USB VID:PID for 8 boards (#740)#917
zackees merged 1 commit into
mainfrom
codex/board-vid-pid-backfill

Conversation

@zackees

Copy link
Copy Markdown
Member

Summary

  • Closes the six ⚠️PID follow-up rows and three _not in fbuild boards_ rows in issue #740's Board-name match table
  • Updates 3 existing fbuild boards with runtime USB VID:PID from vendor sources
  • Adds 5 new fbuild-native board JSONs so the tier-1 supplement carries them into online-data/data/usb-vid.json

What ships

Board idVID:PIDChangeSource
esp32-s2-saola-110c4:ea60updateEspressif Saola-1 user guide (CP2102 bridge)
sparkfun_thingplusmatter1366:0101updateSparkFun hookup guide (onboard J-Link OB, Segger VID)
ch32v003f4p6_evt_r01a86:8010updateWCH-LinkE docs (RISC-V mode PID; ARM-mode is 8012)
adafruit_qt_py_rp2040239a:80f8newadafruit/circuitpythonmpconfigboard.mk
seeed_xiao_rp20402e8a:000anewearlephilhower/arduino-picoseeed_xiao_rp2040.json
seeed_xiao_mg242886:0062newSiliconLabsSoftware/arduinoboards.txt
nice_nano239a:00b3newAdafruit_nRF52_Bootloader nice_nano board.h
nrfmicro1209:5284newAdafruit_nRF52_Bootloader nrfmicro board.h + pid.codes

The 5 new boards are added to FBUILD_NATIVE_BOARDS in ci/validate_boards.py (no upstream PlatformIO JSON to diff against). The 3 updated boards get FBUILD_BUILD_FIELD_OVERRIDES entries so PlatformIO's missing hwids don't fire "extra in our asset" drift.

Verified locally

  • uv run --no-project --script online-data-tools/extract_fastled_board_usb_pids.py emits +8 board rows (188 → 194 unique board VID:PID pairs).
  • All 9 target VID:PID pairs from vid-ingest: final end-to-end verification (after #723–#739 close) #740's follow-up list resolve against the merged (live overlay + supplement) map.
  • soldr cargo check -p fbuild-config, soldr cargo test -p fbuild-config --lib board, and pytest online-data-tools -q all pass.
  • ci/validate_boards.py: 46 failed (pre-existing baseline drift, unrelated) → 46 failed (zero new failures introduced).

Test plan

🤖 Generated with Claude Code

Closes the six ⚠️ PID follow-up rows and three "_not in fbuild boards_"
rows in issue #740's Board-name match table by:
Updating 3 existing fbuild boards with VID:PID from vendor sources:
- esp32-s2-saola-1 → 10c4:ea60 (CP2102 bridge, per Espressif user guide)
- sparkfun_thingplusmatter → 1366:0101 (onboard J-Link OB, Segger VID)
- ch32v003f4p6_evt_r0 → 1a86:8010 (bundled WCH-LinkE in RISC-V mode)
Adding 5 new fbuild-native boards with runtime USB VID:PID:
- adafruit_qt_py_rp2040 → 239a:80f8 (Adafruit CircuitPython runtime)
- seeed_xiao_rp2040 → 2e8a:000a (arduino-pico board manifest)
- seeed_xiao_mg24 → 2886:0062 (SiliconLabsSoftware/arduino boards.txt)
- nice_nano → 239a:00b3 (Adafruit nRF52 bootloader board.h)
- nrfmicro → 1209:5284 (pid.codes openmoko allocation)
Each new board is modeled on its closest existing sibling (RP2040 boards
on rpipico, nRF52840 boards on adafruit_feather_nrf52840, MG24 on
sparkfun_thingplusmatter) with real fcpu/ram/rom, upload protocol, and
platform/framework fields.
Validator changes:
- Add the 5 new boards to FBUILD_NATIVE_BOARDS since PlatformIO has no
upstream JSON for them; without the allowlist they'd be silently
skipped as "platform missing" instead of surfacing as fbuild-native.
- Add FBUILD_BUILD_FIELD_OVERRIDES for the 3 updated boards so PIO's
missing hwids don't fire "extra in our asset" drift on the vid/pid
fields fbuild deliberately owns.
Verified: extract_fastled_board_usb_pids.py now emits +8 board rows,
and all 9 target VID:PID pairs from #740's follow-up list resolve
against the merged (live overlay + supplement) map.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@coderabbitai

Copy link
Copy Markdown

Warning

Review limit reached

@zackees, you've reached your PR review limit, so we couldn't start this review.

Next review available in:10 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 717fc0b3-f951-424f-977e-58a82ebc8cd1

📥 Commits

Reviewing files that changed from the base of the PR and between b055b52 and 1c1a8ae.

📒 Files selected for processing (9)
  • ci/validate_boards.py
  • crates/fbuild-config/assets/boards/json/adafruit_qt_py_rp2040.json
  • crates/fbuild-config/assets/boards/json/ch32v003f4p6_evt_r0.json
  • crates/fbuild-config/assets/boards/json/esp32-s2-saola-1.json
  • crates/fbuild-config/assets/boards/json/nice_nano.json
  • crates/fbuild-config/assets/boards/json/nrfmicro.json
  • crates/fbuild-config/assets/boards/json/seeed_xiao_mg24.json
  • crates/fbuild-config/assets/boards/json/seeed_xiao_rp2040.json
  • crates/fbuild-config/assets/boards/json/sparkfun_thingplusmatter.json
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/board-vid-pid-backfill

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@zackees
zackees merged commit c99579e into mainJul 1, 2026
93 of 94 checks passed
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Triage

Development

Successfully merging this pull request may close these issues.

1 participant

@zackees