Commit Graph
5219 Commits
Author SHA1 Message Date
mikecarper bbda0ee2ea Preserve Indicator PSRAM capacities with the proven compact canvas 2026-10-01 07:53:21 -07:00
mikecarper e1a0c2d512 Keep Indicator queue metadata aligned with its PSRAM recipe 2026-10-01 07:46:21 -07:00
mikecarper 27bcc534f1 Fit constrained Full Companion RAM and STM32 USB flash budgets 2026-10-01 07:44:55 -07:00
mikecarper 633e2ce832 Add opt-in nRF52 Bluetooth event diagnostics and USB capture 2026-10-01 02:19:45 -07:00
mikecarper 9fae922ea9 Run nRF52 BLE subscription and SoftDevice LTO regressions in CI 2026-10-01 01:01:11 -07:00
mikecarper a834882836 Keep Companion get radio compatible with upstream CSV 2026-09-30 23:48:47 -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 72982fa55f Preserve SoftDevice memory side effects under nRF52 LTO 2026-09-30 23:01:37 -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 a19dcb3ded 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 4b226d3b96 Merge upstream dev into keymindCascade 2026-09-30 15:40:15 -07:00
Kyle Duren 22aa62e7d6 Use gzip fallback for WebConfig clients 2026-09-30 17:07:59 -04:00
Kyle Duren 70d183a3ae Fix WebConfig browser compatibility 2026-09-30 16:58:36 -04:00
mikecarper 39eb753352 Keep STM32 Companion within flash budget 2026-09-30 12:50:11 -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
Huw Duddy bbe54f8c55 Merge pull request #2719 from jirogit/fix/techo-lite-flash-device
fix(techo-lite): remove duplicate EXTERNAL_FLASH_DEVICES definition
2026-10-01 00:41:23 +10:00
Huw Duddy 79e309365f Merge pull request #3001 from Szetya/patch-1
Fix T-Echo Lite GPS pins
2026-10-01 00:38:23 +10:00
Huw Duddy 77396d0538 Merge pull request #3301 from beala/beala/fix-t1-clock
Fix clock on Heltec T1: Do not misidentify IMU as an RTC
2026-09-30 23:46:32 +10:00
Huw Duddy 884391447c Merge pull request #3155 from TadyTheFish/enable-ina226-promicro
Enable INA226 support for ProMicro nRF52840
2026-09-30 23:23:35 +10:00
mikecarper fb9f330636 Reject octave formats misread by the installed buzzer parser 2026-09-30 04:00:04 -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 062a835f09 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 658e8e36d8 Warn LiFePO4 users about unchanged 4.2V chargers 2026-09-30 01:24:49 -07:00
mikecarper 6ca48b5e51 Merge remote-tracking branch 'origin/keymindCascade' into codex/rak3401-voltage-cli 2026-09-30 01:11:19 -07:00
mikecarper 11d64b3db3 Add configurable nRF52 battery profiles with LiFePO4 cutoff 2026-09-30 01:11:10 -07:00
mikecarper 2cd840c4a4 Update README to clarify LoRa radio settings 2026-09-29 23:34:08 -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 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 f59b6fde29 Add firmware file link to README
Added a link to the firmware file for user guidance.
2026-09-29 16:07:35 -07:00
mikecarper f565f34bef Revise README for Halo Keymind Cascade Branch updates
Updated README to reflect changes in Halo Keymind Cascade Branch, including new features and improvements.
2026-09-29 16:05:35 -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
Huw Duddy 33468c4f80 Merge pull request #2472 from emkZero/variant-techo-lite-usb-companion
variants: USB Companion variant for LilyGo T-Echo Lite
2026-09-29 23:00:41 +10: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