Commit Graph
142 Commits
Author SHA1 Message Date
mikecarper 4c5f58f4b5 Keep WiFi test recovery retrying until the original network returns 2026-10-06 21:11:38 -07:00
mikecarper af56405d5e Prepare Linux native Web Serial tests after pyserial 2026-10-06 20:20:31 -07:00
mikecarper 7581fa3abd Cover WiFi scan fixes across every ESP32 recipe 2026-10-06 09:58:40 -07:00
mikecarper e971beabc5 Avoid reset pulses when serial test collectors reopen UART bridges 2026-10-05 20:44:17 -07:00
mikecarper 933bdf7cbe Resolve HIL USB device links before setting modem signals 2026-10-05 18:46:33 -07:00
mikecarper 30fe0d617b Unify Tower repeater builds on SD-primary OTA storage
Keep the deployed SD target and layout, select qualified internal delta storage when no card is usable, and retain exact SD bootloader-update gates. Add storage, capability, transfer, recipe, and release-selection regression coverage.

Also preserve mandatory runtime packet logging in canonical XIAO images when verbose build debugging is disabled, fixing the four stopped release-matrix qualification failures.
2026-10-05 16:38:30 -07:00
mikecarper 057f1824a0 Fix hardware test serial controls and offline DM queue matching 2026-10-04 01:55:10 -07:00
mikecarper 81676be25c Validate management CLI captures and authenticated ACL snapshots 2026-10-03 18:29:12 -07:00
mikecarper 5ee6059564 Finalize USB watchdog management format as MGR2 2026-10-03 16:34:37 -07:00
mikecarper 3add4695cc Harden USB logging and persist watchdog events in management reports 2026-10-03 15:29:19 -07:00
mikecarper bd55369aa9 Improve firmware tooling docs and OTA seeder startup checks 2026-10-03 03:12:24 -07:00
mikecarper f0199b3111 Add compressed self-serve OTA and resilient native USB sleep
Use a bounded uzlib-derived block encoder with the existing strict tinf decoder, qualify infrastructure roles, budget temporary RAM, and cache running-image metadata. Add self-serve CLI and policy, USB host-loss sleep grace, hardware test harnesses, regression tests, and CI coverage.
2026-10-03 01:14:23 -07:00
mikecarper 42d6bfd560 Reduce nRF52 infrastructure flash usage without trimming sensors
Keep Companion and Terminal Chat profiles unchanged; retain full-sensor and reduced-sensor OTA builds. Add compact crypto and OTA names, qualified display asset compression, font license packaging, and scope regression tests.
2026-10-02 15:52:23 -07:00
mikecarper a0105731f5 Fix Companion pairing PIN display and truthful identity startup 2026-10-02 12:42:26 -07:00
mikecarper 0f8f1fb9f3 Add legacy RAK3401 OTA route and relay reboot recovery 2026-09-30 23:30:08 -07:00
mikecarper bb6089b313 Fix relayed OTA retries and add guarded legacy recovery
Use a bounded timed OTA forwarding cache while preserving echo, queue, TempRadio and forwarding-policy guards. Add opt-in manifest recovery for directly reachable legacy relays and interactive 125 kHz SF5/SF6/SF7 rehearsals, with regression tests and documentation.
2026-09-30 10:54:09 -07:00
mikecarper 24458b0214 Manage and restore OTA relay hop limits automatically 2026-09-29 16:09:49 -07:00
mikecarper 495767a922 Fix LoRa OTA TempRadio compatibility and lease handling
Accept preamble-bearing TempRadio status from newer firmware while retaining legacy replies. Keep the 20-minute hard minimum but make the 120-minute and timeout estimates advisory, with a window-only override. Add parser, rehearsal, relay identity, and RAK bootloader regression coverage.
2026-09-29 07:48:01 -07:00
mikecarper 346cf2fd1f Support compatible RAK bootloader updates with adaptive app storage 2026-09-29 03:08:53 -07:00
mikecarper 793531e16b Merge remote-tracking branch 'origin/keymindCascade' into keymindCascade 2026-09-28 17:46:45 -07:00
mikecarper 50c43ca172 Pin RAK3401 OTA chain participants by public key 2026-09-28 17:46:41 -07:00
mikecarper 7ba8c5bfa2 Port consent-gated one-key DM queue to keymindCascade 2026-09-28 12:09:05 -07:00
mikecarper 01054ba979 Support private text with one known public key 2026-09-28 00:19:31 -07:00
mikecarper ea40663f09 Revert adaptive RAK app-owned bootloader recovery after ACL test 2026-09-27 15:07:29 -07:00
mikecarper 9709c8c764 Add application-owned RAK bootloader recovery over LoRa 2026-09-26 23:47:44 -07:00
mikecarper f3125bedd8 Connect GPIO MISO during RAK NOR identification 2026-09-25 13:14:30 -07:00
mikecarper 9638223138 Verify Pi nRF52 board identity before flashing 2026-09-25 13:04:36 -07:00
mikecarper 72afac9a40 Unify RAK repeater storage firmware and bootloader handoff 2026-09-25 10:35:04 -07:00
mikecarper fc6efcca03 Align WSL3 migration identity with firmware hardware tag 2026-09-25 05:51:57 -07:00
mikecarper 6a5a897ce1 Refresh mOTA hardware contract tests 2026-09-24 17:20:21 -07:00
mikecarper a74a09da56 Complete ESP32 partition expander and adaptive LoRa OTA pacing 2026-09-24 17:13:22 -07:00
mikecarper 89a458ceba Update pair timing contract for zero loop reserve 2026-09-23 19:43:30 -07:00
mikecarper a7c4370d3d Keep nRF52 Full Companion BLE subscriptions across reconnects 2026-09-23 03:19:58 -07:00
mikecarper 4c645b0d14 Apply nRF52 flash completion fix to every build target 2026-09-22 09:53:58 -07:00
mikecarper 8ecdd31585 fix(t1000e): restore single-port usb logging 2026-09-22 07:46:11 -07:00
mikecarper 04e6aa38f2 fix(nrf52): stabilize full companion bluetooth 2026-09-22 05:54:46 -07:00
mikecarper 1707967196 fix(ci): seed measured switch timing in pair test 2026-09-22 01:35:39 -07:00
mikecarper bea968b4fa feat(radio): calibrate dual-profile preambles from live switch timing 2026-09-22 00:09:37 -07:00
mikecarper 79fe4362f8 feat(radio): enable fast profile switching across direct SX1262 boards
Add acknowledged SetFs and packet-cache shortcuts for SX1262, extend the LR1110 FS-mode fast path with buffered SPI, and keep the expander-backed Indicator on its previous path. Include HIL fixtures, validation notes, and regression tests.
2026-09-21 22:57:22 -07:00
mikecarper 032b41afeb fix(ci): cover standalone images with RAM checks 2026-09-20 20:46:16 -07:00
mikecarper 69681a2db6 Maximize Zopfli mOTA transport compression 2026-09-19 20:12:37 -07:00
mikecarper a7e22955cd Use Brotli and Zopfli for compressed assets 2026-09-18 12:37:46 -07:00
mikecarper ab18216718 Consolidate companion components 2026-09-17 13:41:39 -07:00
mikecarper 4ba26ff4af Add secure management reports and honor GPS off 2026-09-16 20:42:30 -07:00
mikecarper 476aac92de Merge meshcore-dev dev with companion and board integrations 2026-09-15 20:51:43 -07:00
mikecarper 091c8d8324 Preserve radio lab experiments and reuse unchanged SX1262 modulation
Skip redundant modulation writes during owned fast RX retunes when the last
acknowledged SF/BW/CR/LDRO tuple matches. Invalidate that cache after ordinary
setters, failed writes, and lifecycle changes.

Include the remaining scan, preamble, settling, and memory-soak experiments,
their collectors, validation notes, and original capture records. Preserve
capture bytes across checkouts and keep private soak credentials local.

Run lab collector and compiled contract tests in CI. Update the expectation,
profile mapping, and result-buffer tests for the extended lab tools, and make
the private WiFi override header optional for ordinary soak diagnostics.

Validation: 145 host tests passed from the staged source snapshot. Clean
heltec_v4_repeater and Xiao_S3_WIO_companion_radio_usb builds passed their
RAM/flash gates. All 229 staged capture files retain their original bytes;
all 75 local documentation links resolve in the clean snapshot.
2026-09-14 22:34:17 -07:00
mikecarper 9dd9881d52 Add timed cw and cw2 commands for SX1262 and LR1110
Support fractional seconds, guard active packet work, keep the MCU awake, and restore reception after carrier tests. Include regression coverage and independent-radio RF validation for the V4 and T1000-E.
2026-09-14 19:23:23 -07:00
mikecarper 2b5a6f2098 Fix Companion USB clients and shared-port logging 2026-09-14 13:36:17 -07:00
mikecarper 0e5955f889 Speed up SX1262 profile switching and verify radio lab behavior
Keep TCXO warm during owned dual-profile retunes, batch modulation setup, and enable guarded fast RX with buffered 8 MHz SPI on XIAO S3 WIO and Indicator LoRa. Preserve lifecycle invalidation, packet guards, rollback, and existing scheduling budgets.

Add reliable sequence-scoped USB lab transport, native regression coverage, bounded channel and preamble diagnostics, and byte-exact measurement records including failed experiments and qualification limits.
2026-09-14 01:22:09 -07:00
mikecarper 3b6c894ee2 Add two-profile LoRa operation and radio CLI regression coverage
Implement radio2, tempradio2, radioat2 and tempradioat2 across Mesh roles,
with RX-only/RX+TX operation, optional preambles and persistent cross-TX
policy. Keep temporary OTA traffic on its profile by default and maintain
independent retry ownership and backoff for each profile.

Use slow-first receive scanning with 4.8-symbol visits and automatic
preambles rounded up in steps of eight. Preserve pending RX, restore power
saving on exit, and discard work bound to changed or expired profiles.

Restore the infrastructure path.hash.mode setter and report unsupported
extra.sf settings consistently. Add CLI, scheduling, scan and retry tests,
setup documentation, and the V4/XIAO hardware validation results.

Validation: 1,422 native tests, eight KISS tests, 63 final focused profile
tests, 18 checks from the staged source, sanitizer-enabled OTA transfers,
and builds for V4 Mesh roles, Full XIAO Companion and nRF52 T1000-E.
Hardware checks cover reception, cross-TX policy, expiry, reboot and OTA
discovery while receiving main-channel adverts.
2026-09-13 08:25:00 -07:00