Skip to content

epic: Heltec V4-R2 SAW diag builds; device identities move out of the public repo (#1373) - #1710

Merged
diffwireauto merged 2 commits into
firmware-basefrom
epic/1373-heltec-v4-r2
Oct 21, 2026
Merged

diffwireauto merged 2 commits into
firmware-basefrom
epic/1373-heltec-v4-r2

Conversation

@diffwireauto

Copy link
Copy Markdown
Member

Epic #1373: Heltec V4-R2 SAW: diagnostic builds and device identities out of the public repo. Merge held for your approval.

Task What
#1375 V4 _diag envs: companion BLE/USB, repeater, room server, observer. Each extends its shipped env and adds only instrumentation (boot beacon, UART log mirror, forced caplog).
#1410 The owner's device identities move out of variants/heltec_v4/platformio.ini. heltec_v4_repeater_telemetry becomes generic, and the ST-P lab env is removed from the public file. The root platformio.ini gains ${sysenv.SystemDrive}/Dev/.offband/platformio.local.ini in extra_configs, so per-host device envs (patio, ST-P, R2 SAW) live beside the device registry (#1012), outside every checkout. A missing path is skipped, the same pattern as the existing ${sysenv.PIO_SECRETS_FILE} entry, so CI and other hosts build without it.

The R2 (hv4-r2-saw-1) has run the #1410 build (82fd7a1b) since 2026-10-13.

Verified after rebasing onto firmware-base on 2026-10-21:

  • 9 envs build: the generic telemetry env, the five _diag envs, and the three per-host envs through the new include.
  • pio test -e native passes 1351/1351.
  • All config-lint checks pass, including check_env_capability_claims (200 claims).
  • Gemini 2.5 review: no defects. It found no remaining identity or location in the public files, and confirmed the include is safe when SystemDrive is unset. It also flagged a src/Utils.cpp change; that came from my diff command picking up a newer base commit (task: patch MACThenDecrypt with the block-alignment check, with a native test #1586), and this branch does not touch that file.

Privacy note (#1410): this stops new exposure only. The removed name and coordinates remain in this repository's history and in published release assets; what to do about those is the owner's decision.

Not in this PR:

Part of #1373. Carried by #1377.

Agent: BoldCreek (session a946d569)

🤖 Generated with Claude Code

diffwireauto and others added 2 commits October 21, 2026 04:33
The V4 was the only board family with no _diag envs. Adds [heltec_v4_diag] -- boot beacon, UART0 log mirror on GPIO43, forced caplog, the same set as the R8 (#1342) -- and _diag twins for the released OLED roles: companion BLE and USB (with power telemetry), repeater, room server and observer. monitor_rts/dtr = 0 per diag env, leaving existing envs untouched.

The repeater diag twin inherits the generic identity the base env carries since #1378.

Part of #1373.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…nd\platformio.local.ini

platformio.ini includes C:\Dev\.offband\platformio.local.ini when it exists, beside the device registry (#1012), so owner device names, locations and node ids are never pushed and every worktree shares one copy. Hosts without it, including CI, skip it.

heltec_v4_repeater_telemetry becomes generic (node id heltec-v4-repeater) and stays in CI. heltec_v4_repeater_telemetry_stp leaves the repo; it, the patio env and the R2 SAW env are defined in the local file.

Part of #1373.

Co-Authored-By: Claude Opus 5.5 <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

None yet

Development

Successfully merging this pull request may close these issues.

1 participant