Commit Graph
2206 Commits
Author SHA1 Message Date
mikecarper 581339efe7 Harden management report persistence and CLI input handling 2026-10-03 18:26:26 -07:00
mikecarper 06fc2d58d1 Fix radio profile reconfiguration transaction results 2026-10-03 18:25:22 -07:00
mikecarper 18f7edcf82 Keep USB watchdog snapshots coherent and fail-safe 2026-10-03 18:22:32 -07:00
mikecarper 5ee6059564 Finalize USB watchdog management format as MGR2 2026-10-03 16:34:37 -07:00
mikecarper eeb25a8b5f Merge USB session safety and preserve GPS preference compatibility 2026-10-03 16:12:32 -07:00
mikecarper 7803d4fb07 Add saved repeater trace exception while repeating is disabled 2026-10-03 15:48:44 -07:00
mikecarper 65512661c3 Fix USB logging session safety and add hourly GPS sync interval 2026-10-03 15:43:35 -07:00
mikecarper 9b82c74275 Merge origin/keymindCascade USB reconnect fixes 2026-10-03 15:37:49 -07:00
mikecarper 3add4695cc Harden USB logging and persist watchdog events in management reports 2026-10-03 15:29:19 -07:00
mikecarper b4c8c0ab23 Fix USB logging ownership, persistence, and reconnect safety 2026-10-03 14:45:57 -07:00
mikecarper 4086222d85 Persist Companion Bluetooth on-off preference across reboots 2026-10-03 03:09:20 -07:00
mikecarper c917158167 Add Zira spoken button confirmations and opt-in G726 speech tests 2026-10-03 03:03:02 -07:00
mikecarper f0199b3111 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 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 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 0ccac4539d Restore Companion boot display and default WiFi to opt-in 2026-10-01 23:19:48 -07:00
mikecarper 9053038ffa Add opt-in nRF52 Bluetooth event diagnostics and USB capture 2026-10-01 02:19:45 -07:00
mikecarper cab781f9a4 Keep Companion get radio compatible with upstream CSV 2026-09-30 23:48:47 -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
Kyle Duren 9525fb1415 Use gzip fallback for WebConfig clients 2026-09-30 17:07:59 -04:00
Kyle Duren 3613363674 Fix WebConfig browser compatibility 2026-09-30 16:58:36 -04: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 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 2d78b8f06c Add configurable nRF52 battery profiles with LiFePO4 cutoff 2026-09-30 01:11:10 -07:00
ripplebiz 5846fa19c8 Merge pull request #3525 from oltaco/airoha-sleep
Use Airoha AG3335 backup mode sleep for faster GPS fix time
2026-09-30 12:32:44 +10: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
Huw Duddy 37a71d9381 Merge pull request #3495 from meshcore-dev/increase-max-search-results
increased MAX_SEARCH_RESULTS to 24. (was 8)
2026-09-29 20:42:48 +10:00
mikecarper 5c4b6d6301 Use internal bootloader staging regardless of RAK app storage 2026-09-29 03:27:10 -07:00
taco 037e27833b feat: add AirohaSleep.h helper for faster fix on AG3335 based GPS 2026-09-29 20:12:08 +10:00
taco 3fa8dbf4d1 feat: add waitFor() and drain() to LocationProvider to support sending commands to GPS 2026-09-29 20:10:51 +10:00
mikecarper 346cf2fd1f Support compatible RAK bootloader updates with adaptive app storage 2026-09-29 03:08:53 -07:00
mikecarper ca23d38ef6 Keep get radio reply compatible with Companion apps 2026-09-28 15:47:24 -07:00
mikecarper 5be7f119ac Fix one-key DM contact priority and STM32 flash budget 2026-09-28 14:00:12 -07:00
mikecarper 7ba8c5bfa2 Port consent-gated one-key DM queue to keymindCascade 2026-09-28 12:09:05 -07:00
Liam Cottle 5d266dcb43 Merge pull request #1896 from weebl2000/robust-time-esp32
Keep time in RTC slow memory, prevents date dropping to 1970 date after crash/watchdog/brownout reset on ESP32
2026-09-28 23:13:49 +13:00