Commit Graph
285 Commits
Author SHA1 Message Date
mikecarper a814a00ce7 Add configurable battery and USB display behavior
Persist separate display modes and timeouts in seconds for battery and USB power, expose four controls in WebConfig and CLI, and apply one shared policy across display-equipped roles.

Detect R8 external power from a USB host or calibrated battery voltage above 4.21 V, with cached sampling and hysteresis. Add policy, persistence, browser, and R8 power-detection regression coverage.
2026-09-10 21:03:15 -07:00
mikecarper 581b82fa51 Merge PowerSaving-v17 and harden noise calibration and RX recovery
Port the measured RXPS model without changing Cascade wire preambles or automatically enabling experimental levels. Use a spaced weighted median with bounded calibration windows, preserve packet ownership across CAD, and check actual SX126x receive mode before recovery.

Preserve Cascade sleep and radio fixes, integrate the new sensor and board profiles, and correct BSEC script inheritance and the MKE UART pin conflict. Native regressions, production-method/SPI harnesses, and ESP32, nRF52, and STM32 builds pass. Hardware comparison and fault-injection validation are recorded privately.
2026-09-10 13:19:22 -07:00
mikecarper 14796e6573 Fix touchscreen navigation and add runtime touch diagnostics 2026-09-09 17:38:41 -07:00
mikecarper c690f65376 Allow frequency changes over authorized LoRa CLI 2026-09-08 22:07:30 -07:00
mikecarper b9138c13b2 Allow local CLI maintenance across direct connections 2026-09-08 21:44:57 -07:00
mikecarper 5e6a74be50 Enable the shared terminal on WiFi-only Companions 2026-09-08 19:56:12 -07:00
mikecarper d178cf1474 Share the Companion terminal with the WiFi console 2026-09-08 19:48:15 -07:00
mikecarper cb79dcd4e3 Preserve MQTT settings across slot changes 2026-09-08 18:55:00 -07:00
mikecarper aa8caa4ed2 Unify device controls and restore the WiFi console 2026-09-08 18:36:23 -07:00
mikecarper 846282adf4 Use native display resolution and adaptive typography 2026-09-08 16:02:16 -07:00
mikecarper be41d9dd79 Cache Full Companion paths and shared secrets to recover RAM 2026-09-08 12:21:30 -07:00
mikecarper 9dbab4317d Avoid nested MQTT preference copies on the Companion loop stack 2026-09-08 10:05:59 -07:00
mikecarper 1b6a9dcb6a Share T096 Full mOTA memory with the offline queue 2026-09-08 01:15:19 -07:00
mikecarper 6958d82432 Add independent Companion Bluetooth stealth flag
Keep stealth separate from custom, saved-random and rotating MAC policies without migrating the development MAC mode. Persist authenticated peer state, guard advertising transitions and recovery, and expose the setting through the CLI and WebConfig.

Add regression and CI checks and record exact XIAO BLE pairing, reconnect, reboot and address-rotation hardware results.
2026-09-07 23:46:55 -07:00
mikecarper 4b400ea56b Add configurable Companion Bluetooth addresses 2026-09-07 18:29:00 -07:00
mikecarper 02020513f4 Prepare 1.17.1.5 USA Cascade release and verify update capabilities 2026-09-05 08:59:50 -07:00
Jarosław Domański 6bbd34a296 RXPS: use measured preamble-symbol capture model 2026-09-05 00:02:13 +02:00
mikecarper 69d9d9e62a Make uf2reset available across nRF52 CLI roles 2026-09-04 02:01:40 -07:00
mikecarper a8cf4fd12f Fix USB radio stalls and add durable replay timestamp recovery 2026-09-03 23:58:32 -07:00
mikecarper 66894f9958 Harden nRF52 contact and settings persistence 2026-09-02 17:32:43 -07:00
mikecarper a8485057bd Fix auto nRF52 Companion OTA builds 2026-09-02 12:02:41 -07:00
mikecarper 610a88e8d5 Fix nRF52 contact persistence and ExtraFS recovery 2026-09-02 11:41:38 -07:00
mikecarper cf70478c51 Improve companion setup and USB session recovery 2026-09-02 03:44:28 -07:00
mikecarper ecaa5ac2a0 Harden nRF52 OTA, USB sessions, and T096 controls
Bind Companion replies to request transports, make dual-CDC USB sessions nonblocking and reconnect-safe, and harden nRF52 watchdog/OTA storage paths. Fix T096 button debounce, display wake, sleep races, and the compact message layout; add exact WisBlock OTA profiles plus expanded native/static/HIL documentation.
2026-09-01 20:51:43 -07:00
mikecarper 1abc36f636 Make Indicator WiFi display authoritative 2026-08-31 18:45:44 -07:00
mikecarper bbb9312340 Fix Indicator transport taps and fresh LoRa defaults 2026-08-31 15:56:54 -07:00
mikecarper 1629725d7d Add safe ESP32 transports and Indicator UI
Reserve board-specific GPIOs, make ESP-NOW channel/format handling configurable, and coordinate WiFi, BLE, NTP, MQTT, and host actions safely.

Add the Indicator message page, exclusive transport selector, dynamic 480/320 rendering, larger transport typography, pairing cleanup, and corresponding tests and documentation.
2026-08-31 14:29:42 -07:00
mikecarper 9fd580c89e Harden marathon-tested OTA and hardware paths
Add durable TempRadio, ACL, clock, bridge, GPS/I2C, USB logging, and Indicator recovery safeguards together with expanded automation, build/profile contracts, release metadata, and the hardware validation ledger.
2026-08-30 19:26:15 -07:00
mikecarper 4c93df9d57 Fix Full Companion terminal diagnostics 2026-08-29 16:57:44 -07:00
mikecarper e666bbc6a8 Clarify Companion WiFi CLI availability 2026-08-29 16:21:49 -07:00
mikecarper bf092b24cc Fix release matrix gaps and add background builds 2026-08-29 14:55:07 -07:00
mikecarper 493e188894 feat: integrate R8 observer and companion updates 2026-08-28 18:39:26 -07:00
mikecarper 29f2fb468d refactor: use companion CLI for hardware settings 2026-08-28 17:37:39 -07:00
mikecarper 2143d3e04b Merge upstream dev companion CLI updates 2026-08-28 17:31:28 -07:00
mikecarper 6d6c89e411 fix: harden ESP-NOW and full companion networking
Add selectable shared ESP-NOW channels, raw/wrapped bridge compatibility, and bounded fragmentation for maximum-size packets.\n\nGive ESP32 Full profiles WiFi coexistence, stabilize WebConfig and USB terminal lifecycles, and keep disabled bridges stopped during observer updates.\n\nUpdate generated UI, firmware selection, documentation, and regression coverage.
2026-08-28 16:36:34 -07:00
mikecarper d6519baa0f feat: consolidate full companion runtime profiles 2026-08-28 08:47:26 -07:00
mikecarper 74002db4e5 fix: harden CLI and GPS handling 2026-08-27 17:59:44 -07:00
mikecarper 1d836c0473 feat: unify companion builds and USB runtime modes 2026-08-27 15:06:26 -07:00
mikecarper 69ded9d6c7 feat: add Bluetooth-controlled LoRa OTA
Add the framed BLE mOTA transport and companion control path, complete the full-profile build and runtime fixes, and document and test the OTA workflow.
2026-08-27 01:22:18 -07:00
mikecarper bd3a94bddb fix: harden firmware builds and runtime reliability 2026-08-26 15:42:12 -07:00
mikecarper 44eb8e4ab9 feat: add customizable companion Bluetooth names 2026-08-25 20:51:18 -07:00
mikecarper ba2170d21b feat: add capability-aware firmware build profiles 2026-08-25 20:07:09 -07:00
mikecarper 5938cbe614 feat: complete Cascade Indicator companion support
Add native-resolution Indicator UI, touch navigation, SD-backed pixel and emoji fonts, LoRa radio support, dual-slot WiFi Companion provisioning, and mesh clock fallback. Harden radio recovery and build defaults, normalize ESP32 setup-AP protocols, and document/test the operator workflows.
2026-08-25 18:37:17 -07:00
mikecarper 559426ca0f Validate companion repeater status responses 2026-08-25 10:27:04 -07:00
mikecarper e7433abb80 Make RXPS preamble adaptive for fast radio settings 2026-08-24 20:42:54 -07:00
mikecarper b984fdcb4c Harden fast RXPS timing and board behavior 2026-08-24 15:10:54 -07:00
Scott Powell 6dad3d5ab4 * companion: fix for setSpreadFactor(). "set cad ..." and "board" now implemented. 2026-08-24 20:44:17 +10:00
mikecarper 1a43123d2c Expand and harden full companion profiles 2026-08-24 01:57:38 -07:00
Scott Powell 5a162ff4c6 * new DynamicConfigSerializer
* board/variant KeyValueStore now can write to 'custom' object in Json prefs
2026-08-24 17:12:56 +10:00
mikecarper 5362d36ac7 Unify full firmware profiles and add dual USB logging 2026-08-23 19:22:45 -07:00