Commit Graph
303 Commits
Author SHA1 Message Date
mikecarper 5bdc6de0ed Sleep ST7735 controllers before releasing display power 2026-10-17 11:02:29 -07:00
mikecarper 21f8b3384f Enable T096 DC/DC initialization before battery checks 2026-10-17 11:01:01 -07:00
mikecarper dd7a10f9aa Sleep between noise-floor samples and reduce idle refreshes 2026-10-17 10:18:14 -07:00
mikecarper 629557fcfe Fix nRF52 idle sleep event and CryptoCell handling 2026-10-17 02:22:26 -07:00
mikecarper 756d887bad Add on-demand power-saving diagnostics 2026-10-17 01:15:54 -07:00
mikecarper ce53567a4c Consolidate onboard QSPI infrastructure build profiles 2026-10-16 23:42:10 -07:00
mikecarper a16229a3eb Bound GPS UTC fields and accept variable time precision 2026-10-16 20:35:11 -07:00
mikecarper 135d361368 Require fresh complete GPS observations before clock synchronization 2026-10-16 19:48:34 -07:00
mikecarper 0dcba50d88 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 4348fdcc56 Keep UI startup and rescue windows closed after observed expiry 2026-10-16 19:00:45 -07:00
mikecarper eda70c832b Format infrastructure startup version labels without allocating 2026-10-16 18:27:08 -07:00
mikecarper a24f9d5ef8 Keep sensor UI polling and refresh working across uptime rollover 2026-10-16 17:56:45 -07:00
mikecarper 9684e410e3 Keep RGB Companion status timing working across rollover 2026-10-16 17:21:44 -07:00
mikecarper ec2bf83882 Keep Companion backlight button polling working across rollover 2026-10-16 17:04:33 -07:00
mikecarper b483a917f6 Keep monochrome Companion LED timing working across rollover 2026-10-16 16:54:08 -07:00
mikecarper eec1caa170 Keep Companion sensor polling running across timer rollover 2026-10-16 16:43:54 -07:00
mikecarper 4c3a5691e1 Keep Companion UI deadlines working across rollover and long idle 2026-10-16 16:28:58 -07:00
mikecarper d01b63f0c3 Keep RTTTL tones and queued speech running across timer rollover 2026-10-16 16:08:33 -07:00
mikecarper 9b4d3350df Drive every RGB LED channel for Companion notifications 2026-10-16 15:50:38 -07:00
mikecarper 866f9d682f Preserve armed OTA handoffs when debug resume is requested 2026-10-16 15:43:32 -07:00
mikecarper 4865162fb4 Reserve configured NOR pins from user GPIO control 2026-10-16 15:09:46 -07:00
mikecarper 9e4891989f Preserve armed OTA handoffs by rejecting apply reentry 2026-10-16 15:00:23 -07:00
mikecarper 5fc0943f59 Report uncertain preference saves without promising rollback 2026-10-16 13:45:48 -07:00
mikecarper f6c00be3e0 Bound region name exports for small destinations 2026-10-16 12:54:36 -07:00
mikecarper df0e7c3f89 Preserve durable region policy on failed replacement saves 2026-10-16 11:56:00 -07:00
mikecarper 4b81a9d5e0 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 24b1264a0e 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 508dd23673 Keep channel faults from disabling healthy Companion contacts 2026-10-16 10:59:11 -07:00
mikecarper 4b1908a029 Verify fallback file stages with independent CRC32C 2026-10-16 07:03:45 -07:00
mikecarper f65a8269f3 Estimate Companion trace timeouts from planned radio transmissions 2026-10-16 05:20:39 -07:00
mikecarper 67a71d3a61 Keep Companion reboot deadlines armed across millis rollover 2026-10-16 05:18:37 -07:00
mikecarper c2fd934e1f Use received radio profile for clock transit estimates 2026-10-16 05:04:06 -07:00
mikecarper 21ab0b9d40 Use packet radio settings for forwarding delays 2026-10-16 04:43:12 -07:00
mikecarper 5199150917 Keep HWCDC watchdog escalation and pending cleanup live 2026-10-16 03:21:18 -07:00
mikecarper e980d983be Validate flood retry bucket index before narrowing 2026-10-16 03:11:02 -07:00
mikecarper 5a5d013f06 Restore terminal profile checks for current NodeInfo policy 2026-10-16 03:06:35 -07:00
mikecarper 829d9d819a Keep OTA-only Companions on inherited foreign callbacks 2026-10-16 03:01:34 -07:00
mikecarper 114a0d98c5 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 41405ee01b Merge remote-tracking branch 'origin/keymindCascade' into keymindCascade 2026-10-16 01:27:24 -07:00
mikecarper 339079c439 Bound failed RX retries without blocking power-saving sleep 2026-10-16 01:27:24 -07:00
mikecarper e8ac3ddc6b Merge remote-tracking branch 'origin/keymindCascade' into keymindCascade 2026-10-16 01:18:26 -07:00
mikecarper 774c2adc80 Add adaptive RAK4631 SD storage to full firmware profiles 2026-10-16 01:18:26 -07:00
mikecarper 6a90229d9a Preserve folder OTA staging when resume reads fail 2026-10-16 00:54:49 -07:00
mikecarper 6614be22f2 Retain USB commands until required replies can be queued 2026-10-16 00:53:06 -07:00
mikecarper e629f1c44f Fit headless RAK Companion without shrinking storage 2026-10-16 00:50:55 -07:00
mikecarper d5cc73c43d Validate beacon power without stranding saved settings 2026-10-16 00:39:07 -07:00
mikecarper 9181e3e0ec Keep BLE transmit queues and recovery bound to their connection session 2026-10-16 00:01:28 -07:00
mikecarper 98a4cc9be6 Bound legacy Companion startup version labels without heap copies 2026-10-15 23:34:50 -07:00
mikecarper 7dcdae3b08 Serialize nRF52 BLE receive frames across link resets 2026-10-15 23:04:40 -07:00
mikecarper a7828d5342 Bound CommonCLI arguments before scratch copies 2026-10-15 23:02:05 -07:00