Commit Graph
773 Commits
Author SHA1 Message Date
mikecarper 4bec31b4e1 Merge origin/keymindCascade USB reconnect fixes 2026-10-03 15:37:49 -07:00
mikecarper 6febd15ded Harden USB logging and persist watchdog events in management reports 2026-10-03 15:29:19 -07:00
mikecarper 91d533bfff Fix USB logging ownership, persistence, and reconnect safety 2026-10-03 14:45:57 -07:00
mikecarper c1a533572a Improve firmware tooling docs and OTA seeder startup checks 2026-10-03 03:12:24 -07:00
mikecarper 4ca66c2ebb Persist Companion Bluetooth on-off preference across reboots 2026-10-03 03:09:20 -07:00
mikecarper 8519638367 Add Zira spoken button confirmations and opt-in G726 speech tests 2026-10-03 03:03:02 -07:00
mikecarper 5833ac2f1f Add compressed self-serve OTA and resilient native USB sleep
Use a bounded uzlib-derived block encoder with the existing strict tinf decoder, qualify infrastructure roles, budget temporary RAM, and cache running-image metadata. Add self-serve CLI and policy, USB host-loss sleep grace, hardware test harnesses, regression tests, and CI coverage.
2026-10-03 01:14:23 -07:00
mikecarper 29de7820e5 Integrate upstream fixes and paired nRF52 sensor OTA release profiles 2026-10-02 17:52:12 -07:00
mikecarper 010374d7db Record production Bluetooth bootloader and following application test 2026-10-02 14:08:32 -07:00
mikecarper 202930de8f Fix Companion pairing PIN display and truthful identity startup 2026-10-02 12:42:26 -07:00
mikecarper a2854f8f43 Support 2+ path-hash width filters 2026-10-02 10:21:17 -07:00
mikecarper 52c163ad6f Add encoded path-hash width selectors to forwarding rules 2026-10-02 10:07:48 -07:00
mikecarper 7f0b689191 Record published recovery correction and final node restoration 2026-10-02 04:14:38 -07:00
mikecarper 7092488334 Record corrected 2.4.11 Bluetooth recovery phone tests 2026-10-02 03:47:21 -07:00
mikecarper 8505361ebe Restore Companion boot display and default WiFi to opt-in 2026-10-01 23:19:48 -07:00
mikecarper 5ef97727c7 Record nRF52 Bluetooth DFU qualification results 2026-10-01 18:28:23 -07:00
mikecarper 5ebd9994e5 Nest test results under current release navigation 2026-10-01 11:53:15 -07:00
mikecarper 9b01a5319b Group documentation and move research into its own section 2026-10-01 11:45:20 -07:00
mikecarper 5d5f76688a Organize test results and historical release docs 2026-10-01 11:32:23 -07:00
mikecarper 4ee1e6b550 Publish 1.17.1.8 USA Cascade catalogs and firmware picker 2026-10-01 10:11:03 -07:00
mikecarper 633e2ce832 Add opt-in nRF52 Bluetooth event diagnostics and USB capture 2026-10-01 02:19:45 -07:00
mikecarper c7dcbd4c31 Distinguish BLE link loss from firmware watchdog evidence 2026-09-30 23:39:25 -07:00
mikecarper 70e8c98567 Merge remote-tracking branch 'origin/keymindCascade' into keymindCascade 2026-09-30 23:38:05 -07:00
mikecarper fa9f7dd538 Add legacy RAK3401 OTA route and relay reboot recovery 2026-09-30 23:30:08 -07:00
mikecarper bb58b40d9c Persist Full Companion BLE subscriptions across reboot 2026-09-30 23:20:14 -07:00
mikecarper b47e4c137e Fix official app WiFi commands and Full build qualification 2026-09-30 20:27:05 -07:00
mikecarper 0feffaa3ab Fix WebConfig bootstrap for legacy Android Chrome
Physical LG Android 5.1.1 testing found Chrome 43 could decode gzip but failed on the bootstrap's arrow syntax. Use ES5 functions and Promises while preserving retries, version refresh, and optional abort handling. Keep Google Zopfli gzip compression at 1,000 iterations.

Verified the flashed V4.3 through its WiFi link using the real Android browser: bootstrap and main page gzip responses completed, settings loaded at 910.525 MHz, and no JavaScript or transfer errors were reported. Add a loader syntax regression and document legacy browser support.
2026-09-30 19:20:12 -07:00
mikecarper 02b8935794 Merge PR #13 with gzip-only WebConfig assets
Keep the graceful final-ACK TCP close and optional FEM control guards from
pixitha's browser compatibility fixes. Replace Brotli negotiation and duplicate
page assets with one gzip representation compressed by Google Zopfli 0.4.3
using 1,000 iterations. Compress the bootstrap, captive success, compact OTA,
and static WiFi setup pages with the same validated build cache.

Honor gzip quality values and wildcard precedence. Validate compressed OTA
page evidence in the firmware capability gate, and add native and Python
regressions plus CI coverage. Remove the unused Brotli build dependency.

Validation: 54 native tests, 56 Python/browser checks, full V4.3 build and
verified application flash. Actual V4 WiFi responses matched the generated
gzip assets; 30 repeat downloads completed without reboot. Chromium loaded
the setup and settings pages without script or transfer errors. Physical
Android testing is pending because the Pi detects no phone over USB or mDNS.
2026-09-30 18:55:17 -07:00
mikecarper 61c4767c50 Fix relayed OTA retries and add guarded legacy recovery
Use a bounded timed OTA forwarding cache while preserving echo, queue, TempRadio and forwarding-policy guards. Add opt-in manifest recovery for directly reachable legacy relays and interactive 125 kHz SF5/SF6/SF7 rehearsals, with regression tests and documentation.
2026-09-30 10:54:09 -07:00
mikecarper 65df2029df Preserve notification preview opening notes through audio startup 2026-09-30 08:56:12 -07:00
mikecarper 53f1ba9329 Fix notification preview audio playback and startup timing 2026-09-30 07:49:28 -07:00
mikecarper b2bbb92287 Keep GPIO command scopes and cover room text limits and existing UI dispatch 2026-09-30 03:54:27 -07:00
mikecarper 465425c37a Merge remote-tracking branch 'origin/keymindCascade' into keymindCascade 2026-09-30 03:44:22 -07:00
mikecarper 2a31b20cb8 Add programmable Companion alerts and trusted DM and room notifications 2026-09-30 03:44:22 -07:00
mikecarper 658e8e36d8 Warn LiFePO4 users about unchanged 4.2V chargers 2026-09-30 01:24:49 -07:00
mikecarper 11d64b3db3 Add configurable nRF52 battery profiles with LiFePO4 cutoff 2026-09-30 01:11:10 -07:00
mikecarper ddcc1de467 Resolve nRF52 carrier bootloader links and explain audited coverage gaps 2026-09-29 17:35:54 -07:00
mikecarper bf04fbb2e8 Offer exact latest bootloader files only for selected nRF52 hardware 2026-09-29 17:00:19 -07:00
mikecarper 4ec7392c9b Show latest nRF52 bootloader link above picker choices 2026-09-29 16:42:07 -07:00
mikecarper 4b54ed192e Link nRF52 picker results to the latest OTAFIX bootloader 2026-09-29 16:36:57 -07:00
mikecarper d6ec5dabff Combine firmware picker profiles and replace extra dropdowns 2026-09-29 16:30:50 -07:00
mikecarper cedad8da3c Manage and restore OTA relay hop limits automatically 2026-09-29 16:09:49 -07:00
mikecarper 21641885d2 Support stock nRF52 bootloader version formats and audit images 2026-09-29 14:37:27 -07:00
mikecarper c212885040 Add bounded OTAFIX bootloader version fallback 2026-09-29 11:40:40 -07:00
mikecarper 01cb58c8e4 Point RAK OTA guides to compatible OTAFIX 2.4.10 2026-09-29 11:30:44 -07:00
mikecarper 21d42aa57f Fix LoRa OTA TempRadio compatibility and lease handling
Accept preamble-bearing TempRadio status from newer firmware while retaining legacy replies. Keep the 20-minute hard minimum but make the 120-minute and timeout estimates advisory, with a window-only override. Add parser, rehearsal, relay identity, and RAK bootloader regression coverage.
2026-09-29 07:48:01 -07:00
mikecarper 666150ab2f Merge remote-tracking branch 'origin/keymindCascade' into keymindCascade 2026-09-28 17:46:45 -07:00
mikecarper addfa0f683 Pin RAK3401 OTA chain participants by public key 2026-09-28 17:46:41 -07:00
mikecarper f5afc73d6d Keep get radio reply compatible with Companion apps 2026-09-28 15:47:24 -07:00
mikecarper 60dc8e2d28 Fix one-key DM contact priority and STM32 flash budget 2026-09-28 14:00:12 -07:00