FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

fix(autoresearch): stabilize RP peer networking and OTA by zackees · Pull Request #4062 · FastLED/FastLED · GitHub

fix(autoresearch): stabilize RP peer networking and OTA - #4062

Draft
zackees wants to merge 2 commits into
masterfrom
fix/issue-4059-autoresearch-peer
Draft

fix(autoresearch): stabilize RP peer networking and OTA#4062
zackees wants to merge 2 commits into
masterfrom
fix/issue-4059-autoresearch-peer

Conversation

zackees commented Aug 26, 2026
edited
Loading

Copy link
Copy Markdown
Member

Summary

  • pass OTA chunks to RpcClient.send as scalar strings so its single-parameter wrapper emits the firmware payload shape expected by the ESP32-C6 fixture
  • enlarge the ESP32 AutoResearch serial RX queue before Serial.begin() so base64 JSON-RPC OTA frames fit
  • keep RP2350W HTTP responses length-delimited and let the peer close first, with a bounded fallback, so repeated peer cycles do not exhaust lwIP TCP PCBs
  • delegate explicitly named absent RP2040/RP2350 runtime ports to fbuild's CDC/BOOTSEL recovery ladder while retaining the early failure for non-RP ports
  • add focused regression contracts for OTA argument shape, serial buffering, passive-close behavior, and the RP/non-RP port-preflight boundary

Validation

  • uv run --no-sync ty check ci/autoresearch/ota.py ci/rpc_client.py
  • focused AutoResearch Python regressions (RED before implementation, GREEN after)
  • uv run --no-sync pytest -q ci/tests/test_autoresearch_phases.py ci/tests/test_usb_power.py — 204 passed
  • uv run --no-sync ruff check ci/autoresearch/phases.py ci/tests/test_autoresearch_phases.py
  • broader selected AutoResearch Python regression set
  • bash test --cpp — 284 unit tests and 84 host examples passed
  • bash lint --cpp
  • bash compile rp2350w --examples AutoResearch
  • bash compile esp32c6 --examples AutoResearch
  • pre-push review clean

Dependency and merge order

Depends on FastLED/fbuild#1405.

  1. Merge fix(rp): reacquire same-name CDC after BOOTSEL deploy fbuild#1405.
  2. Release the first fbuild version newer than 2.5.21 containing that fix.
  3. Update this branch's exact fbuild pin and uv.lock to that release.
  4. Complete the attached RP2350W + ESP32-C6 network and OTA HIL runs, then merge this PR.

Released fbuild 2.5.21 can copy an RP2350 UF2 image but may omit FBUILD_DEPLOY_PORT when Windows changes a stale COM18 devnode back to healthy under the same name. #1405 makes the pre-flash snapshot health-aware so both explicit UF2=<volume> and stale direct-COM selectors converge on the recovered healthy CDC endpoint.

Hardware gate still pending

The exact RP2350W is serial 2DCB876B587EA334 (runtime COM18 / BOOTSEL H:); the ESP32-C6 is serial 8C:BF:EA:CF:87:B4 on COM9. The released-fbuild run reproduced the same-name CDC handoff failure after a successful UF2 copy. Final canonical network and OTA assertions will be recorded here after the dependent release is pinned.

Closes #4059
Refs #3956
Refs #3832

coderabbitai Bot commented Aug 26, 2026

Copy link
Copy Markdown

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

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.

This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: In Progress

Development

Successfully merging this pull request may close these issues.

fix(autoresearch): stabilize RP2350W peer cycles and OTA staging

1 participant


Back | FazBrowse Home | New Git URL