Commit Graph
100 Commits
Author SHA1 Message Date
mikecarper 43f474a806 Integrate upstream fixes and paired nRF52 sensor OTA release profiles 2026-10-02 17:52:12 -07:00
mikecarper 42d6bfd560 Reduce nRF52 infrastructure flash usage without trimming sensors
Keep Companion and Terminal Chat profiles unchanged; retain full-sensor and reduced-sensor OTA builds. Add compact crypto and OTA names, qualified display asset compression, font license packaging, and scope regression tests.
2026-10-02 15:52:23 -07:00
mikecarper d4d318814a Record production Bluetooth bootloader and following application test 2026-10-02 14:08:32 -07:00
mikecarper 488d51979c Update button and reader fixtures for pairing wake API 2026-10-02 13:09:11 -07:00
mikecarper a0105731f5 Fix Companion pairing PIN display and truthful identity startup 2026-10-02 12:42:26 -07:00
mikecarper 7324bf06ef Support 2+ path-hash width filters 2026-10-02 10:21:17 -07:00
mikecarper d084f5b837 Add encoded path-hash width selectors to forwarding rules 2026-10-02 10:07:48 -07:00
mikecarper 946354760b Record published recovery correction and final node restoration 2026-10-02 04:14:38 -07:00
mikecarper 9b17596049 Record corrected 2.4.11 Bluetooth recovery phone tests 2026-10-02 03:47:21 -07:00
mikecarper 0ccac4539d Restore Companion boot display and default WiFi to opt-in 2026-10-01 23:19:48 -07:00
mikecarper ad2f2097da Record nRF52 Bluetooth DFU qualification results 2026-10-01 18:28:23 -07:00
mikecarper 65a8cfd721 Fix nRF52 Bluetooth DFU stack handoff 2026-10-01 16:15:59 -07:00
mikecarper 3e3c4bdd4e Point logging sleep contract at archived release notes 2026-10-01 12:01:25 -07:00
mikecarper 4761bedafd Nest test results under current release navigation 2026-10-01 11:53:15 -07:00
mikecarper c4549e0b37 Group documentation and move research into its own section 2026-10-01 11:45:20 -07:00
mikecarper e96918cd91 Organize test results and historical release docs 2026-10-01 11:32:23 -07:00
mikecarper d44910865c Publish 1.17.1.8 USA Cascade catalogs and firmware picker 2026-10-01 10:11:03 -07:00
mikecarper 0edd4e1a37 Check measured Full capacities without dropping Companion transports 2026-10-01 08:11:10 -07:00
mikecarper a72b561ee6 Qualify compact Full queues and align Indicator canvas allocation 2026-10-01 08:07:41 -07:00
mikecarper ec9da9f8f2 Verify picker disclosure of Indicator render memory tradeoffs 2026-10-01 07:54:34 -07:00
mikecarper e02b798296 Preserve Indicator PSRAM capacities with the proven compact canvas 2026-10-01 07:53:21 -07:00
mikecarper e904464af9 Keep Indicator queue metadata aligned with its PSRAM recipe 2026-10-01 07:46:21 -07:00
mikecarper 29f9e616af Fit constrained Full Companion RAM and STM32 USB flash budgets 2026-10-01 07:44:55 -07:00
mikecarper 9053038ffa Add opt-in nRF52 Bluetooth event diagnostics and USB capture
Firmware Builder / create-release (push) Canceled after 0s
Firmware Builder / build (push) Canceled after 0s
Firmware Builder / generate-build-matrix (push) Canceled after 0s
Build Repeater Firmwares / build-repeater-firmwares (push) Canceled after 0s
2026-10-01 02:19:45 -07:00
mikecarper 17c351c8a7 Run nRF52 BLE subscription and SoftDevice LTO regressions in CI 2026-10-01 01:01:11 -07:00
mikecarper cab781f9a4 Keep Companion get radio compatible with upstream CSV 2026-09-30 23:48:47 -07:00
mikecarper 31aa17b9e5 Distinguish BLE link loss from firmware watchdog evidence 2026-09-30 23:39:25 -07:00
mikecarper 51bc7f1e14 Merge remote-tracking branch 'origin/keymindCascade' into keymindCascade 2026-09-30 23:38:05 -07:00
mikecarper 0f8f1fb9f3 Add legacy RAK3401 OTA route and relay reboot recovery 2026-09-30 23:30:08 -07:00
mikecarper 301ef3758d Persist Full Companion BLE subscriptions across reboot 2026-09-30 23:20:14 -07:00
mikecarper 91db37489a Preserve SoftDevice memory side effects under nRF52 LTO 2026-09-30 23:01:37 -07:00
mikecarper d5853b9ca2 Fix official app WiFi commands and Full build qualification 2026-09-30 20:27:05 -07:00
mikecarper 6f6d1a2a7a 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 267773df7d 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 304e5e6df3 Merge IoTThinks PowerSaving-v17 into keymindCascade
Integrate PowerSaving-v17 through a27e78e4 (six new commits).
Use its 10-minute awake / 30-minute asleep companion GPS profile and
separate requested GPS state from receiver power in CLI diagnostics.
Include its nRF52 sensor debug-console settle delay and debug option.

Resolve overlapping GPS v2 changes using the current sensor callbacks,
which already implement live power-saving transitions, user-off control,
telemetry acquisition, wrap-safe sleep/wake timers and retained Airoha
RTC backup. Preserve preference persistence, telemetry cache/holds and
UART/shared-rail ownership safeguards across all four GPS drivers.

Add a compiled production GPS status regression test and run it in CI.
Validated 23 native GPS/power tests, preference and nRF52 pin contracts,
and firmware builds for T1000-E BLE Companion, MeshTracker X1 USB
Companion, Heltec Tracker Repeater, Mesh Solar Room and RAK4631 Sensor.
2026-09-30 15:51:07 -07:00
mikecarper 2499445938 Merge upstream dev into keymindCascade 2026-09-30 15:40:15 -07:00
mikecarper 3ca7b7c333 Keep STM32 Companion within flash budget 2026-09-30 12:50:11 -07:00
mikecarper bb6089b313 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 def8db940d Preserve notification preview opening notes through audio startup 2026-09-30 08:56:12 -07:00
mikecarper 760fa9434e Fix notification preview audio playback and startup timing 2026-09-30 07:49:28 -07:00
mikecarper 528257705d Reject octave formats misread by the installed buzzer parser 2026-09-30 04:00:04 -07:00
mikecarper c76278c1c7 Keep GPIO command scopes and cover room text limits and existing UI dispatch 2026-09-30 03:54:27 -07:00
mikecarper 5404885495 Merge remote-tracking branch 'origin/keymindCascade' into keymindCascade 2026-09-30 03:44:22 -07:00
mikecarper 4bc391ef36 Add programmable Companion alerts and trusted DM and room notifications 2026-09-30 03:44:22 -07:00
mikecarper bc8fe0c66c Merge upstream dev through 5846fa19
Import Airoha GPS RTC backup sleep, 24 contact search results, and the T-Echo Lite USB companion target. Preserve existing GPS telemetry and power-saving controls, crypto alignment checks, ESP32 RTC recovery, and RAK11310 dynamic-preference compatibility.

Validate GPS sleep acknowledgments with their NMEA checksum and add six native regression tests covering retry, drain, corruption, grace timeout, and timer rollover.

Verified: 1648 native and KISS modem tests; targeted nRF52, companion routing, one-key DM, and clock checks; T1000-E BLE, MeshTracker X1 USB, and T-Echo Lite USB companion builds.
2026-09-30 02:13:25 -07:00
mikecarper fdd67ce1b3 Warn LiFePO4 users about unchanged 4.2V chargers 2026-09-30 01:24:49 -07:00
mikecarper 24fed432bd Merge remote-tracking branch 'origin/keymindCascade' into codex/rak3401-voltage-cli 2026-09-30 01:11:19 -07:00
mikecarper 2d78b8f06c Add configurable nRF52 battery profiles with LiFePO4 cutoff 2026-09-30 01:11:10 -07:00
mikecarper 5d19a0a731 Resolve nRF52 carrier bootloader links and explain audited coverage gaps 2026-09-29 17:35:54 -07:00
mikecarper aeccd3b692 Offer exact latest bootloader files only for selected nRF52 hardware 2026-09-29 17:00:19 -07:00
mikecarper af82010752 Show latest nRF52 bootloader link above picker choices 2026-09-29 16:42:07 -07:00
mikecarper bcea9d5c4d Link nRF52 picker results to the latest OTAFIX bootloader 2026-09-29 16:36:57 -07:00
mikecarper 9c9121c391 Combine firmware picker profiles and replace extra dropdowns 2026-09-29 16:30:50 -07:00
mikecarper 24458b0214 Manage and restore OTA relay hop limits automatically 2026-09-29 16:09:49 -07:00
mikecarper 98af9161c6 Support stock nRF52 bootloader version formats and audit images 2026-09-29 14:37:27 -07:00
mikecarper dbc7971d88 Add bounded OTAFIX bootloader version fallback 2026-09-29 11:40:40 -07:00
mikecarper d50446c27d Point RAK OTA guides to compatible OTAFIX 2.4.10 2026-09-29 11:30:44 -07:00
mikecarper 495767a922 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 5c4b6d6301 Use internal bootloader staging regardless of RAK app storage 2026-09-29 03:27:10 -07:00
mikecarper 346cf2fd1f Support compatible RAK bootloader updates with adaptive app storage 2026-09-29 03:08:53 -07:00
mikecarper 793531e16b Merge remote-tracking branch 'origin/keymindCascade' into keymindCascade 2026-09-28 17:46:45 -07:00
mikecarper 50c43ca172 Pin RAK3401 OTA chain participants by public key 2026-09-28 17:46:41 -07:00
mikecarper ca23d38ef6 Keep get radio reply compatible with Companion apps 2026-09-28 15:47:24 -07:00
mikecarper a645b6c518 Classify held DM count as a read-only CLI query 2026-09-28 14:15:39 -07:00
mikecarper 5be7f119ac Fix one-key DM contact priority and STM32 flash budget 2026-09-28 14:00:12 -07:00
mikecarper 94b711bdd4 Share high-contact RAK offline queue with held one-key DMs 2026-09-28 12:47:12 -07:00
mikecarper 7ba8c5bfa2 Port consent-gated one-key DM queue to keymindCascade 2026-09-28 12:09:05 -07:00
mikecarper 01054ba979 Support private text with one known public key 2026-09-28 00:19:31 -07:00
mikecarper 687896fa33 Link ESP32 picker to exact partition expansion packages 2026-09-27 21:13:25 -07:00
mikecarper ea40663f09 Revert adaptive RAK app-owned bootloader recovery after ACL test 2026-09-27 15:07:29 -07:00
mikecarper a007346561 Use application capabilities for adaptive RAK recovery status 2026-09-27 13:21:40 -07:00
mikecarper 51211834e8 Show live ESP32 partition check in migration guidance 2026-09-27 12:57:12 -07:00
mikecarper dbf387b681 Document ESP32 partition migration in picker and catalogs 2026-09-27 12:53:13 -07:00
mikecarper 0d9732f2f2 Align STM32WL size test with four qualified USB images
Firmware Builder / create-release (push) Canceled after 0s
Firmware Builder / build (push) Canceled after 0s
Firmware Builder / generate-build-matrix (push) Canceled after 0s
Build Repeater Firmwares / build-repeater-firmwares (push) Canceled after 0s
2026-09-27 10:33:13 -07:00
mikecarper bb24681188 Prepare 1.17.1.7 Cascade release catalogs and STM32WL USB images 2026-09-27 10:20:43 -07:00
mikecarper 9709c8c764 Add application-owned RAK bootloader recovery over LoRa 2026-09-26 23:47:44 -07:00
mikecarper 8edef5c4a0 Refresh CLI test contracts for backup and retry controls 2026-09-26 22:50:54 -07:00
mikecarper edc1c04cd3 Update Companion session harness for private-key backup state 2026-09-26 22:36:54 -07:00
mikecarper e34f119780 Merge upstream dev into keymindCascade 2026-09-26 22:01:28 -07:00
mikecarper ee3010f496 Precompute ESP32 release partition lookup table 2026-09-26 19:58:28 -07:00
mikecarper 001e9a62e7 Protect remote admin identity backup replies 2026-09-26 18:01:43 -07:00
mikecarper d4b3bb5678 Expose Companion flood retry controls and clarify T096 fixed TX PA 2026-09-26 10:31:54 -07:00
mikecarper 90dee6cd1b Guard T096 transmit default and retry setting persistence 2026-09-26 10:12:52 -07:00
mikecarper f215792162 Enable LoRa OTA room and nRF52 sensor variants 2026-09-26 09:58:43 -07:00
mikecarper df19760c85 Publish one ordinary ESP32 Full image per board role 2026-09-26 09:29:18 -07:00
mikecarper b0b9e53dd7 Keep G2 migration Full images out of ordinary release matrix 2026-09-26 08:59:29 -07:00
mikecarper 92d80514b1 Refresh CI contracts for manual radio pages and build wrapper 2026-09-26 08:11:12 -07:00
mikecarper 7add9019ee Give dual-profile companion screens manual R2 pages 2026-09-26 01:38:40 -07:00
mikecarper 73c7935261 Avoid missing Preferences namespaces on fresh ESP32 boot 2026-09-26 01:14:47 -07:00
mikecarper 9ba79848ca Restore Companion text terminal after USB mOTA sender exits 2026-09-25 17:51:38 -07:00
mikecarper ce46e60a86 Replay initial nRF52 USB READY after application handoff 2026-09-25 17:44:15 -07:00
mikecarper 2724bab5da Detect header W25Q16 on unified RAK firmware 2026-09-25 14:20:29 -07:00
mikecarper f3125bedd8 Connect GPIO MISO during RAK NOR identification 2026-09-25 13:14:30 -07:00
mikecarper 9638223138 Verify Pi nRF52 board identity before flashing 2026-09-25 13:04:36 -07:00
mikecarper efc85b1afe Drain companion queue on explicit OTA entry 2026-09-25 12:06:18 -07:00
mikecarper 36b8bf6c82 Correct merged RAK bootloader target to OTAFIX 2.4.8 2026-09-25 10:50:29 -07:00
mikecarper 7ee33c7149 Describe local adaptive OTAFIX requirement in release metadata 2026-09-25 10:37:10 -07:00
mikecarper 72afac9a40 Unify RAK repeater storage firmware and bootloader handoff 2026-09-25 10:35:04 -07:00
mikecarper 5a92dae79a Advertise exact nRF52 DFU name and service 2026-09-25 08:38:39 -07:00
mikecarper 702ffdbbca Stabilize nRF52 Bluefruit startup for buttonless DFU 2026-09-25 08:33:54 -07:00