Commit Graph
2410 Commits
Author SHA1 Message Date
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
mikecarper 7df52f5260 Add opt-in decoded-channel Meshtext rebroadcasting 2026-10-15 23:39:05 -07:00
mikecarper e0f46a5014 Restore GPS control shutdown for externally started receivers 2026-10-15 23:34:34 -07:00
mikecarper 4b465f9966 Close GPS-owned UARTs before sleeping receivers 2026-10-15 23:07:37 -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
mikecarper 8eced48d34 Fix peripheral power shutdown and auto-detect Station G3 radio slots 2026-10-15 22:30:37 -07:00
mikecarper c6e43c5530 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
mikecarper 690ffe5601 Keep bridged OTA retries resumable across profile handoffs
Let the mesh timed OTA retry guard own byte-identical requests instead of the permanent bridge FIFO. Bind bridge ingress to its primary profile generation and preserve UART reflection/liveness protections. Verified a LoRa to ESP-NOW to LoRa update with outage recovery and install.
2026-10-15 21:05:23 -07:00
mikecarper 8f2bbbab19 Announce MeshTalk identity after first chat and retry until heard 2026-10-15 17:57:34 -07:00