Commit Graph
160 Commits
Author SHA1 Message Date
mikecarper 131bbafc67 feat: retain multi-channel voltage telemetry 2026-08-25 22:51:22 -07:00
mikecarper ad1ff3f03e feat: order flood rules by channel specificity 2026-08-25 21:58:08 -07:00
mikecarper 605b245eb5 feat: add selective flood retry rules 2026-08-25 21:38:23 -07:00
mikecarper 65e40ff05f feat: add customizable companion Bluetooth names 2026-08-25 20:51:18 -07:00
mikecarper 42b6a0df60 feat: retain INA monitors in reduced RAK repeaters 2026-08-25 20:24:17 -07:00
mikecarper f01970058d feat: add capability-aware firmware build profiles 2026-08-25 20:07:09 -07:00
mikecarper 9d57a3a4f8 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 1792acda6a Harden external radio recovery and power limits 2026-08-25 10:27:26 -07:00
mikecarper 8b7c5fafb4 Validate companion repeater status responses 2026-08-25 10:27:04 -07:00
mikecarper 7077283e95 Make RXPS preamble adaptive for fast radio settings 2026-08-24 20:42:54 -07:00
mikecarper da74d7de22 Qualify optional 64-symbol fast preamble 2026-08-24 16:54:35 -07:00
mikecarper ba70c5b3c6 Harden fast RXPS timing and board behavior 2026-08-24 15:10:54 -07:00
mikecarper dc92ee61ef Expand and harden full companion profiles 2026-08-24 01:57:38 -07:00
mikecarper f2d4ffbb7e Unify full firmware profiles and add dual USB logging 2026-08-23 19:22:45 -07:00
mikecarper b699e552ec Add secure host CLI bridge and harden OTA workflows
Expose the Full Companion terminal over TCP and add an authenticated, replay-resistant host command service with documented CPU temperature, reboot, and allowlisted program examples.\n\nImprove LoRa OTA diagnostics and persistent CLI handling, reduce clock correction drift to ten minutes, and make mOTA stream flush behavior an explicit transport policy with regression coverage.
2026-08-23 15:29:30 -07:00
mikecarper 83c1dd95fe Unify OTA picker capabilities 2026-08-23 09:00:37 -07:00
mikecarper a86028ebc7 Separate picker hardware from firmware profiles 2026-08-23 08:51:49 -07:00
mikecarper b302dbf7fc Merge Heltec V4 firmware picker aliases 2026-08-23 08:33:16 -07:00
mikecarper b75441c819 Group firmware picker hardware variants 2026-08-23 02:03:01 -07:00
mikecarper 63ab4a1690 Make firmware picker order independent 2026-08-23 01:45:55 -07:00
mikecarper c22da32964 Generalize firmware picker across hardware roles 2026-08-23 01:21:00 -07:00
mikecarper ae1b928e81 Add GitHub Pages firmware picker 2026-08-23 00:29:00 -07:00
mikecarper f11e160b73 Harden signed SD and bootloader OTA 2026-08-21 12:15:54 -07:00
mikecarper 30989a0133 Add MeshTower SD bootloader updates over LoRa 2026-08-21 09:55:15 -07:00
mikecarper c7bc7a0740 Compact flood filter persistence 2026-08-21 00:55:05 -07:00
mikecarper 3de5fddf47 Add shared-slot nRF52 bootloader updates 2026-08-21 00:55:01 -07:00
mikecarper b7c9e37d09 Add signed XIAO bootloader updates over LoRa 2026-08-20 22:05:11 -07:00
mikecarper eb45e9d4f8 Preserve nRF52 OTA boot result diagnostics 2026-08-20 20:32:20 -07:00
mikecarper fb78e0f55a Wake QSPI flash before controller activation 2026-08-20 19:17:10 -07:00
mikecarper 8eef42c937 Wait for QSPI flash operations to complete 2026-08-20 18:48:03 -07:00
mikecarper d29099666e Fix QSPI wake race during OTA staging 2026-08-20 18:12:09 -07:00
mikecarper e287a1ffa2 Add external QSPI staging for nRF52 OTA 2026-08-20 17:51:52 -07:00
mikecarper 4ebbdc3d9b Merge remote-tracking branch 'review/observer-firmware' into keymindCascade
# Conflicts:
#	MQTT_IMPLEMENTATION.md
#	examples/simple_repeater/MyMesh.cpp
#	examples/simple_room_server/MyMesh.cpp
#	examples/simple_sensor/SensorMesh.cpp
#	src/helpers/CommonCLI.h
#	src/helpers/MQTTPresets.h
#	src/helpers/bridges/MQTTBridge.cpp
#	src/helpers/bridges/MQTTBridge.h
#	src/helpers/radiolib/CustomLLCC68Wrapper.h
#	src/helpers/ui/SH1106Display.cpp
2026-08-19 13:45:47 -07:00
mikecarper 610eef7529 Avoid legacy OTA proof collisions 2026-08-19 11:43:25 -07:00
mikecarper dc4a8808c0 Harden and qualify compact RAK3401 OTA updates 2026-08-19 11:17:22 -07:00
mikecarper 47993d178e Update MeshCore features and OTA layout handling 2026-08-18 23:17:42 -07:00
mikecarper 0c4619bcc3 Expose Companion WiFi and radio power controls 2026-08-18 16:51:59 -07:00
mikecarper 818f610ba3 Fix Cascade power saving, USB Companion, and mOTA flows 2026-08-18 14:02:10 -07:00
mikecarper ba14fa1c32 Enable Companion power saving by default 2026-08-16 21:06:23 -07:00
mikecarper 8b4e57b1e5 Keep T-Beam companion available without radio 2026-08-15 22:34:45 -07:00
mikecarper bd2e668961 Add T-Beam WiFi button toggle 2026-08-15 18:12:09 -07:00
mikecarper 843d309e2b Fix Companion device power saving 2026-08-15 17:58:37 -07:00
mikecarper b8d274c90e Expose RX power saving in WebConfig 2026-08-15 09:07:41 -07:00
mikecarper a04a284a3f Merge remote-tracking branch 'review/observer-firmware' into keymindCascade
# Conflicts:
#	.github/workflows/build-observer-firmwares.yml
#	.gitignore
#	MQTT_IMPLEMENTATION.md
#	MQTT_INTERNALS.md
#	README.md
#	STABILITY_TESTABILITY_HANDOFF.md
#	docs/cli_commands.md
#	examples/companion_radio/MyMesh.cpp
#	examples/simple_repeater/MyMesh.cpp
#	examples/simple_repeater/UITask.cpp
#	examples/simple_room_server/MyMesh.cpp
#	examples/simple_room_server/UITask.cpp
#	examples/simple_sensor/SensorMesh.cpp
#	platformio.ini
#	scripts/generate_webconfig_html.py
#	scripts/webconfig_mock_server.py
#	src/helpers/CommonCLI.cpp
#	src/helpers/CommonCLI.h
#	src/helpers/JWTHelper.cpp
#	src/helpers/MQTTDefaults.h
#	src/helpers/MQTTMessageBuilder.cpp
#	src/helpers/MQTTPayloadBuilder.h
#	src/helpers/MQTTPresets.h
#	src/helpers/bridges/MQTTBridge.h
#	src/helpers/esp32/WebConfigServer.cpp
#	src/helpers/esp32/WebConfigServer.h
#	src/helpers/ui/SH1106Display.cpp
#	variants/lilygo_tbeam_SX1262/platformio.ini
#	variants/lilygo_tbeam_SX1276/platformio.ini
#	variants/lilygo_tlora_v2_1/platformio.ini
#	variants/thinknode_m7/platformio.ini
#	webui/index.html
2026-08-14 08:53:02 -07:00
mikecarper c2e64da695 Merge remote-tracking branch 'upstream/dev' into keymindCascade
# Conflicts:
#	examples/companion_radio/MyMesh.cpp
#	examples/companion_radio/NodePrefs.h
#	examples/simple_repeater/MyMesh.cpp
#	examples/simple_room_server/MyMesh.cpp
#	examples/simple_room_server/MyMesh.h
#	examples/simple_sensor/SensorMesh.cpp
#	src/Identity.cpp
#	src/MeshCore.h
#	src/Utils.cpp
#	src/helpers/CommonCLI.cpp
#	src/helpers/CommonCLI.h
#	src/helpers/radiolib/CustomLR2021Wrapper.h
#	src/helpers/radiolib/CustomSX1262Wrapper.h
#	src/helpers/radiolib/CustomSX1268Wrapper.h
#	src/helpers/radiolib/RadioLibWrappers.cpp
#	src/helpers/radiolib/RadioLibWrappers.h
#	src/helpers/ui/SH1106Display.cpp
#	variants/minewsemi_me25ls01/target.cpp
#	variants/minewsemi_me25ls01/target.h
#	variants/muziworks_r1_neo/target.cpp
2026-08-14 08:14:12 -07:00
agessaman 8818a67b14 merge: upstream/dev into observer-firmware-dev (v1.17.1)
Picks up upstream MeshCore 1.17.1.

Notable upstream content:
- 1.17.1 version/build-date bump in the example MyMesh headers.
- nRF52: combine radio entropy with CC310 RNG.
- Companion FEM prefs: load/save of fem_ properties commented out until they
  can be set from the client.
- Scoped reply routing: replies no longer dropped when flood.max.unscoped is
  low (RoutingPolicy + unit tests).
- nRF52 unused-pin sweep (T1, T-Echo Lite, MeshPocket).

No conflicts.
2026-08-14 08:09:07 -07:00
mikecarper 8c5262c6f8 Accelerate adaptive LoRa OTA transfers 2026-08-14 03:00:36 -07:00
Scott Powell e78bff0041 * unit test no longer valid 2026-08-14 16:42:54 +10:00
mikecarper cd824765b4 Prioritize and pace private TempRadio OTA 2026-08-13 17:53:33 -07:00
mikecarper f7c2d382c3 Speed up and harden LoRa OTA transfers 2026-08-13 14:43:59 -07:00