Skip to content

fix(rp): honor Arduino Bluetooth menu - #1263

Merged
zackees merged 1 commit into
mainfrom
fix/rp-bluetooth-menu
Aug 6, 2026
Merged

fix(rp): honor Arduino Bluetooth menu#1263
zackees merged 1 commit into
mainfrom
fix/rp-bluetooth-menu

Conversation

@zackees

@zackees zackees commented Aug 6, 2026

Copy link
Copy Markdown
Member

Closes #1262\n\n## Summary\n- apply PlatformIO board_build menu overrides while resolving Arduino board properties\n- select the resulting RP network support archive instead of hard-coding libipv4.a\n- fingerprint the selected board overrides to avoid stale non-Bluetooth links\n\n## Verification\n- soldr cargo test -p fbuild-build-engine arduino_props::tests::test_load_board_props_applies_menu_override -- --exact\n- soldr --no-cache cargo test -p fbuild-build-arm rp2040::orchestrator::tests::test_rp_support_objects_uses_selected_bluetooth_network_library -- --exact\n- soldr --no-cache cargo clippy -p fbuild-build-engine -p fbuild-build-arm --all-targets -- -D warnings\n- soldr rustfmt --check crates/fbuild-build-engine/src/arduino_props.rs crates/fbuild-build-arm/src/rp2040/orchestrator.rs

Summary by CodeRabbit

  • New Features
    • Board-specific menu settings can now be loaded from the environment and applied during board configuration.
    • Network support libraries are selected based on the board’s configured network option, with IPv4 used by default.
  • Bug Fixes
    • Corrected board property handling when menu selections override default settings.
  • Tests
    • Added coverage for custom menu selections and alternate network library selection.

@coderabbitai

coderabbitai Bot commented Aug 6, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 5d1e1db9-8704-4a05-8ef9-bf84827149e2

📥 Commits

Reviewing files that changed from the base of the PR and between 9bb107b and 4bf7c03.

📒 Files selected for processing (2)
  • crates/fbuild-build-arm/src/rp2040/orchestrator.rs
  • crates/fbuild-build-engine/src/arduino_props.rs

📝 Walkthrough

Walkthrough

Changes

RP2040 board menu support

Layer / File(s) Summary
Board menu override resolution
crates/fbuild-build-engine/src/arduino_props.rs
Adds load_board_props_with_menu_overrides. Non-empty trimmed overrides replace default menu selections before property resolution.
Orchestrator menu wiring
crates/fbuild-build-arm/src/rp2040/orchestrator.rs
Loads environment menu overrides, passes them to board-property parsing, and includes them in fingerprint metadata.
Network archive selection
crates/fbuild-build-arm/src/rp2040/orchestrator.rs
Selects the libpicow archive from board properties and retains libipv4.a as the fallback. Tests cover libipv4-bt.a.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Sequence Diagram(s)

sequenceDiagram
  participant Environment
  participant Rp2040Orchestrator
  participant ArduinoProps
  participant SupportObjects
  Environment->>Rp2040Orchestrator: provide board menu overrides
  Rp2040Orchestrator->>ArduinoProps: load board properties with overrides
  ArduinoProps-->>Rp2040Orchestrator: return resolved board properties
  Rp2040Orchestrator->>SupportObjects: pass board properties
  SupportObjects-->>Rp2040Orchestrator: select libpicow archive or libipv4.a
Loading

Possibly related PRs

  • FastLED/fbuild#1016: Introduced the Arduino properties module extended by this menu-override loader.
  • FastLED/fbuild#1249: Also changed RP2040 framework and library handling in orchestrator.rs.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/rp-bluetooth-menu

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 2976d86 into main Aug 6, 2026
88 of 93 checks passed
@zackees
zackees deleted the fix/rp-bluetooth-menu branch August 6, 2026 08:36
@fastled-project-sync fastled-project-sync Bot moved this to Triage in FastLED Tracker Aug 7, 2026
zackees added a commit that referenced this pull request Aug 7, 2026
Ships 0dd68b2 (teensy link cwd, #1268), 2976d86 (RP Bluetooth menu,
#1263), 1324d6c (ARM linkers link cwd, #1269/#1270), and 0014f03
(CI stray-file guard, #1272). Closes the release half of #1269.

Co-authored-by: Claude <noreply@anthropic.com>
Sign up for free to 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.

feat(rp): honor Arduino-Pico Bluetooth stack menu

1 participant