Commit Graph
301 Commits
Author SHA1 Message Date
mikecarper bd09019ada Sleep between noise-floor samples and reduce idle refreshes 2026-10-17 10:18:14 -07:00
mikecarper 9c50eb15e1 Fix nRF52 idle sleep event and CryptoCell handling 2026-10-17 02:22:26 -07:00
mikecarper e1a72ac147 Add on-demand power-saving diagnostics 2026-10-17 01:15:54 -07:00
mikecarper 71210f0a39 Consolidate onboard QSPI infrastructure build profiles 2026-10-16 23:42:10 -07:00
mikecarper 1dc2d75ace Bound GPS UTC fields and accept variable time precision 2026-10-16 20:35:11 -07:00
mikecarper f5113a06ea Require fresh complete GPS observations before clock synchronization 2026-10-16 19:48:34 -07:00
mikecarper 7a7485e34e Reject unsupported RXPS before changing suspended scan policy
Keep rejected power-saving requests from changing radio2's saved RX policy or timings. Exercise actual CLI, scan restoration and calibration sleep guards with semantic negative controls.
2026-10-16 19:17:22 -07:00
mikecarper bd79571769 Keep UI startup and rescue windows closed after observed expiry 2026-10-16 19:00:45 -07:00
mikecarper 09af5a886d Format infrastructure startup version labels without allocating 2026-10-16 18:27:08 -07:00
mikecarper 6a5d7c3f47 Keep sensor UI polling and refresh working across uptime rollover 2026-10-16 17:56:45 -07:00
mikecarper 17f9cc2b82 Keep RGB Companion status timing working across rollover 2026-10-16 17:21:44 -07:00
mikecarper 5cbca5518a Keep Companion backlight button polling working across rollover 2026-10-16 17:04:33 -07:00
mikecarper b4dca53238 Keep monochrome Companion LED timing working across rollover 2026-10-16 16:54:08 -07:00
mikecarper aa1f7f0828 Keep Companion sensor polling running across timer rollover 2026-10-16 16:43:54 -07:00
mikecarper c8407e5109 Keep Companion UI deadlines working across rollover and long idle 2026-10-16 16:28:58 -07:00
mikecarper 1f80e1579b Keep RTTTL tones and queued speech running across timer rollover 2026-10-16 16:08:33 -07:00
mikecarper 26c788710d Drive every RGB LED channel for Companion notifications 2026-10-16 15:50:38 -07:00
mikecarper 9963d798e2 Preserve armed OTA handoffs when debug resume is requested 2026-10-16 15:43:32 -07:00
mikecarper 3056ef7a32 Reserve configured NOR pins from user GPIO control 2026-10-16 15:09:46 -07:00
mikecarper 6519a3b5b9 Preserve armed OTA handoffs by rejecting apply reentry 2026-10-16 15:00:23 -07:00
mikecarper ae2553a169 Report uncertain preference saves without promising rollback 2026-10-16 13:45:48 -07:00
mikecarper 766c09a9e3 Bound region name exports for small destinations 2026-10-16 12:54:36 -07:00
mikecarper 3a3323c4d5 Preserve durable region policy on failed replacement saves 2026-10-16 11:56:00 -07:00
mikecarper 17ab374220 Persist unchanged Companion channel route SETs before OK
Require a real raw-table save for same-value channel SETs. This repairs the false acknowledgement after successful constructor recovery of an older backup followed by a failed candidate write.

Keep resolved alias keys, raw AUTO policy and runtime generation untouched. Preserve GET and unchanged contact behavior, changed-policy validation and indeterminate-publication quarantine.

Cover real stale-backup creation, failure/retry, reboot and exact old-skip controls. Add actual alias/BaseChatMesh and raw app-key regression tests on all four backends. Verified 117 related host tests, 16 final caller rechecks, four firmware qualifications and linked nRF52 crypto checks.
2026-10-16 11:34:51 -07:00
mikecarper 80390b749b Fence Companion channel writes after uncertain publication
Latch only channel storage on Indeterminate writer outcomes, including failed transaction setup. Preserve ordinary failure retries, confirmed rollback, contacts and the live accepted channel keys.

Exercise actual CLI and binary callers with all four storage backends, reboot behavior and exact missing-latch negative controls. Share TX storage failure diagnostics to retain the strict Wio-E5 Mini flash gate.

Verified 103 related host tests, four platform firmware qualifications and linked nRF52 crypto/stack checks. A separate stale-backup constructor/no-op acknowledgement case remains under audit.
2026-10-16 11:22:36 -07:00
mikecarper 8370d28bb8 Keep channel faults from disabling healthy Companion contacts 2026-10-16 10:59:11 -07:00
mikecarper f012c83836 Verify fallback file stages with independent CRC32C 2026-10-16 07:03:45 -07:00
mikecarper bd59c1f3a7 Estimate Companion trace timeouts from planned radio transmissions 2026-10-16 05:20:39 -07:00
mikecarper c3a52e6095 Keep Companion reboot deadlines armed across millis rollover 2026-10-16 05:18:37 -07:00
mikecarper 3b80686455 Use received radio profile for clock transit estimates 2026-10-16 05:04:06 -07:00
mikecarper e27a4ecf2c Use packet radio settings for forwarding delays 2026-10-16 04:43:12 -07:00
mikecarper aed266121a Keep HWCDC watchdog escalation and pending cleanup live 2026-10-16 03:21:18 -07:00
mikecarper 4d9f88e46f Validate flood retry bucket index before narrowing 2026-10-16 03:11:02 -07:00
mikecarper 469aa67f62 Restore terminal profile checks for current NodeInfo policy 2026-10-16 03:06:35 -07:00
mikecarper f8e8a9c3a7 Keep OTA-only Companions on inherited foreign callbacks 2026-10-16 03:01:34 -07:00
mikecarper 16749091ff Keep RAK Companion Ethernet waits off the mesh loop
Run DHCP and renewal in a cooperative worker, bound socket commands, and retain SPI ownership until cleanup is safe. Preserve framing deadlines, response ownership and whole-frame replay, including pending-ACK queue pinning.

Budget the worker additively and retain all OTA names with an exact-checked Full-only compact index. Add full-driver, sanitizer, queue, shutdown, storage and memory regression coverage.
2026-10-16 02:23:03 -07:00
mikecarper 6fa2a6ad0a Merge remote-tracking branch 'origin/keymindCascade' into keymindCascade 2026-10-16 01:27:24 -07:00
mikecarper 7a1b4d026b Bound failed RX retries without blocking power-saving sleep 2026-10-16 01:27:24 -07:00
mikecarper e62d9866a2 Merge remote-tracking branch 'origin/keymindCascade' into keymindCascade 2026-10-16 01:18:26 -07:00
mikecarper 3804bca99a Add adaptive RAK4631 SD storage to full firmware profiles 2026-10-16 01:18:26 -07:00
mikecarper eeb254107f Preserve folder OTA staging when resume reads fail 2026-10-16 00:54:49 -07:00
mikecarper ff62999655 Retain USB commands until required replies can be queued 2026-10-16 00:53:06 -07:00
mikecarper c8b227da49 Fit headless RAK Companion without shrinking storage 2026-10-16 00:50:55 -07:00
mikecarper c1104090c4 Validate beacon power without stranding saved settings 2026-10-16 00:39:07 -07:00
mikecarper 5f4d242f15 Keep BLE transmit queues and recovery bound to their connection session 2026-10-16 00:01:28 -07:00
mikecarper abbc79b8f4 Bound legacy Companion startup version labels without heap copies 2026-10-15 23:34:50 -07:00
mikecarper 66967c386e Serialize nRF52 BLE receive frames across link resets 2026-10-15 23:04:40 -07:00
mikecarper 6de71907eb Bound CommonCLI arguments before scratch copies 2026-10-15 23:02:05 -07:00
mikecarper 7916f144f2 Publish one auto-slot Station G3 firmware choice per profile 2026-10-15 22:30:37 -07:00
mikecarper 3c29c888e4 Add guarded Meshtext, radio2 and multi-hop OTA hardware tests
Add identity-bound app flash adapters, exact-receipt radio2 sweeps through preamble 384, measured packet-window goodput, stock-peer delivery probes, Zopfli1000 USB OTA serving and bridge outage/recovery checks. Keep dwell experiments opt-in, production timing unchanged, generated artifacts outside Git, and wire offline safety tests into CI.
2026-10-15 21:05:40 -07:00