Commit Graph
2439 Commits
Author SHA1 Message Date
mikecarper 55960cebdc Recover nRF OTA RAM without reducing catalog or staging capacity 2026-10-17 15:50:17 -07:00
mikecarper 5ee9ceeb20 Protect nRF SD OTA authorization RAM from source-only stores 2026-10-17 15:35:34 -07:00
mikecarper 9c3df94f99 Honor periodic OTA cadence after the four-beacon startup burst 2026-10-17 15:12:59 -07:00
mikecarper 97be2b9b21 Delay displayed radio preamble advice for two minutes 2026-10-17 14:45:33 -07:00
mikecarper 64a928d18f Reduce Indicator radio expander traffic with guarded IQ reuse 2026-10-17 14:19:42 -07:00
mikecarper 8874cf62ca Fix W12 TX prearming without standby PA drain 2026-10-17 13:36:38 -07:00
mikecarper f1d281a766 Allow safe nRF52 MCU idle between radio2 scan deadlines 2026-10-17 13:21:05 -07:00
mikecarper 53835c0793 Avoid flash load image for the empty contact-path cache 2026-10-17 11:57:05 -07:00
mikecarper 80f7b17d89 Merge remote-tracking branch 'origin/keymindCascade' into keymindCascade 2026-10-17 11:22:33 -07:00
mikecarper 4805b5cdbb Fix T096 Companion runtime RAM with RGB332 framebuffer 2026-10-17 11:22:15 -07:00
mikecarper 2fb4d2e793 Preserve millisecond power-saving deadlines across roles 2026-10-17 11:21:48 -07:00
mikecarper eb4f837969 Retain valid noise floors during adaptive AGC maintenance 2026-10-17 11:06:10 -07:00
mikecarper 5bdc6de0ed Sleep ST7735 controllers before releasing display power 2026-10-17 11:02:29 -07:00
mikecarper dd7a10f9aa Sleep between noise-floor samples and reduce idle refreshes 2026-10-17 10:18:14 -07:00
mikecarper 50428f0fb7 Enable contact caching for high-capacity nRF52 companions 2026-10-17 10:14:17 -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 135d361368 Require fresh complete GPS observations before clock synchronization 2026-10-16 19:48:34 -07:00
mikecarper 31a53b1f4a Preserve stalled USB recovery after a cancelled watchdog reboot
Restart the retry interval without treating queue cleanup as completed USB transmission. Cover cancellation journals, fresh recovery deadlines, real progress and rollover, with historical policy and runtime negative controls.
2026-10-16 19:25:15 -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 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