Commit Graph
2419 Commits
Author SHA1 Message Date
mikecarper 57ca55f98f Keep expired beacon RF-start guards retired across uptime rollover 2026-10-16 18:09:12 -07:00
mikecarper 6dfecb8879 Reuse outbound block storage for host-compressed OTA data 2026-10-16 17:33:13 -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 de0e18e8cc Report unverified USB watchdog saves without promising rollback 2026-10-16 13:57:14 -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 22c31c0246 Confirm beacon file moves before acknowledging publication 2026-10-16 10:32:27 -07:00
mikecarper e69c89e8d3 Fail closed after uncertain shared data route publication 2026-10-16 10:27:05 -07:00
mikecarper 54a5137032 Recover unreadable contacts without stranding Companions
Verify fallback namespace moves before accepting publication or rollback. Reload readable contact images at a safe host boundary, discard only unreadable contact data after bounded retries, and permit volatile operation when storage cannot recover. Preserve unrelated stores and fail explicit durability requests truthfully.

Keep existing flash, RAM, OTA and capability limits by streaming nRF52 preferences through the validated wire table and sharing identical contact deadline resets. Add fault-injection, sanitizer, legacy-image parity and CLI lifecycle regressions.
2026-10-16 08:28:45 -07:00
mikecarper 4b1908a029 Verify fallback file stages with independent CRC32C 2026-10-16 07:03:45 -07:00
mikecarper c7d377a7cb Hold fleet authority after uncertain settings publication 2026-10-16 06:53:19 -07:00
mikecarper 7b808eae47 Reconcile uncertain LittleFS writes and preserve storage authority
Verify public images after every rename attempt, expose publication outcomes, and use an independent CRC32C fingerprint so valid IEEE-CRC-tailed images cannot mask a stale target. Preserve persistent formats and reject directories for empty images.

Reconcile uncertain migration journals before choosing filesystem authority. Preserve retained contact snapshots when page publication is unconfirmed without clearing dirty state or acknowledging the new page generation.

Add readback, rename, CRC-tail, migration reboot/quarantine, and snapshot eviction regressions. Keep complete RAK Full Companion within the unchanged OTA ceiling through equivalent code compaction, with no feature or validation cuts.
2026-10-16 06:37:59 -07:00
mikecarper 9df586df7e Preserve radio2 ACK ownership without extending expired leases
Keep tracked reply generations stable in feature-off builds as well as optional transport builds. After ACK copies drain, let expired temporary profiles restore saved settings while failed permanent commits stay staged and retry.

Cover packet generations, rollover, persistent commit faults, cancellation and eventual commit across feature-off, Meshtext and Ethernet configurations. Document ACK ownership and post-reply storage retry behavior.
2026-10-16 06:02:01 -07:00
mikecarper b1197c5352 Retain required Pico BLE replies through notification backpressure 2026-10-16 05:30:17 -07:00
mikecarper f65a8269f3 Estimate Companion trace timeouts from planned radio transmissions 2026-10-16 05:20:39 -07:00
mikecarper c2fd934e1f Use received radio profile for clock transit estimates 2026-10-16 05:04:06 -07:00
mikecarper babb069237 Prevent pipelined clients from starving Companion transports 2026-10-16 05:03:34 -07:00
mikecarper dcfa31bb50 Report radio recovery refusal after receive ownership changes 2026-10-16 04:38:35 -07:00
mikecarper 21bb3e8a66 Bound plain-message ACK attempts to decrypted data 2026-10-16 04:27:59 -07:00
mikecarper 07afacf379 Reject malformed cached adverts before sharing contacts 2026-10-16 04:13:21 -07:00
mikecarper 92b9a1cc64 Separate tracker RF leases from timed maintenance wakes 2026-10-16 04:03:34 -07:00
mikecarper 9bb63527ce Reuse beacon retirement timestamp to retain OTA flash budget 2026-10-16 03:48:07 -07:00
mikecarper 14b463025f Publish watchdog HWCDC boundaries before reopening USB 2026-10-16 03:43:22 -07:00
mikecarper 7ef4708aee Match beacon TX retirement to fixed AGC cadence 2026-10-16 03:34:27 -07:00
mikecarper 5199150917 Keep HWCDC watchdog escalation and pending cleanup live 2026-10-16 03:21:18 -07:00
mikecarper ebd40d1e92 Bound Ethernet receive work to the entry byte budget 2026-10-16 03:14:37 -07:00
mikecarper 4dc3b43f10 Reject oversized flood retry prefix lists without truncation 2026-10-16 03:13:33 -07:00
mikecarper e980d983be Validate flood retry bucket index before narrowing 2026-10-16 03:11:02 -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 19d36daf50 Preserve non-SD OTA staging during card maintenance 2026-10-16 01:43:48 -07:00
mikecarper 3cc9515bb9 Restore shared Ethernet chip select on every acquisition 2026-10-16 01:43:06 -07:00
mikecarper b11cb44e06 Restore RX power saving after deferred calibration cleanup 2026-10-16 01:42:37 -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 73a4c97e8c Merge remote-tracking branch 'origin/keymindCascade' into keymindCascade 2026-10-16 01:21:48 -07:00
mikecarper 862260de17 Reject AGC intervals that would wrap or silently disable resets 2026-10-16 01:19:09 -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 41564bf6b7 Verify SX126x status reads against the current RadioLib pin 2026-10-16 00:47:45 -07:00
mikecarper d5cc73c43d Validate beacon power without stranding saved settings 2026-10-16 00:39:07 -07:00
mikecarper edf3f85199 Reject ambiguous management firmware versions without scanf 2026-10-16 00:15:55 -07:00
mikecarper 4846191fff Never roll beacon IDs back to an unrelated stale backup 2026-10-16 00:10:57 -07:00
mikecarper 9181e3e0ec Keep BLE transmit queues and recovery bound to their connection session 2026-10-16 00:01:28 -07:00
mikecarper 55373f692e Merge remote-tracking branch 'origin/keymindCascade' into keymindCascade 2026-10-15 23:50:05 -07:00
mikecarper 7c8edf5ff1 Honor shared foreign radio ownership before beacon admission 2026-10-15 23:48:38 -07:00