Commit Graph
1617 Commits
Author SHA1 Message Date
mikecarper eb80ebafbc Support stock serial MQTT bridges on Full Companion 2026-10-04 14:14:53 -07:00
mikecarper a12f8605e5 Coalesce ESP background contact I/O and defer backup cleanup 2026-10-04 11:50:12 -07:00
mikecarper 9a74cdfb3b Batch ESP background contact CRC checks without growing scratch storage 2026-10-04 09:27:54 -07:00
mikecarper f0da74c34b Service ESP received advert cache writes between loop passes 2026-10-04 08:20:28 -07:00
mikecarper 1f71840989 Stage ESP contact transaction startup between loop passes
Heltec V4 timing measured 2.19 seconds for recovery checks, temporary-file cleanup, open and buffer configuration combined in one lazy-save pass. Defer those startup operations across guarded companion loops while explicit durability callers still initialize synchronously.

Track ownership only after attempting to create the temporary file, preserve unowned stale files on early cancellation, and reject premature writes or commits. Cover startup faults, interruption, mutation, cache pressure and synchronous-construction negative controls with native sanitizer tests.
2026-10-04 05:27:09 -07:00
mikecarper acfcfb6008 Keep ESP contact saves responsive on PSRAM boards
Extend the cooperative contact transaction to uncached ESP32 storage,
including the PSRAM policy used by the XIAO and V4. Preserve owned contact
copies, the 152-byte disk format, revision cancellation and synchronous
durability operations. Keep contact capacities unchanged.

Avoid SDK error logs when optional blob or transaction cleanup files are
absent, while preserving metadata and deletion failure handling.

Validate cached ESP/nRF and uncached PSRAM paths under ASan/UBSan,
including bounded writes, mutation cancellation, faults, recovery and
reboot readback. Update the existing uncached production fixture.
2026-10-04 04:01:40 -07:00
mikecarper 49a02f59d7 Service cached contact persistence between companion loop passes 2026-10-04 03:39:27 -07:00
mikecarper fbc1eae32e Retain oversized native USB commands until they can be rejected 2026-10-04 02:53:04 -07:00
mikecarper 8c164934bc Support reader commands through local Bluetooth and USB CLI 2026-10-04 02:16:04 -07:00
mikecarper dbcb400c74 Keep BLE contact sync from blocking other companion transports 2026-10-04 02:11:18 -07:00
mikecarper bd5b79c1cb Reduce notification settings stack usage without shared scratch storage 2026-10-04 02:07:26 -07:00
mikecarper 9a3774ad04 Merge observer OTA channel switching into keymindCascade 2026-10-04 00:26:46 -07:00
mikecarper 2e84512ba4 Retain and isolate delayed Companion results under backpressure 2026-10-03 23:22:34 -07:00
mikecarper 94daaf7e40 Share bounded STM32 Companion preference wire metadata 2026-10-03 23:16:37 -07:00
mikecarper 68153718bf Bound STM32 Companion preference image writes 2026-10-03 22:41:45 -07:00
mikecarper 45e7c066ed Copy only persisted Companion preference values during loading 2026-10-03 22:16:31 -07:00
mikecarper facc066389 Separate GPS UART ownership and collapse shared Companion ports 2026-10-03 21:42:54 -07:00
mikecarper 2362ae2f02 Ignore inactive discovery tags without clearing other requests 2026-10-03 21:28:40 -07:00
mikecarper 6a90697868 Use bounded frame transmission for Companion hardware UART 2026-10-03 21:23:14 -07:00
mikecarper 64890dc83e Preserve ACK ownership across contact relocation and retirement 2026-10-03 21:10:49 -07:00
mikecarper a4ec584e3b Retain Companion ACK notifications during host backpressure 2026-10-03 20:23:50 -07:00
mikecarper df5d009d3c Preserve USB mOTA ownership across deadlines and logging handoffs 2026-10-03 19:01:22 -07:00
mikecarper 0cf1fcead9 Preserve telemetry preferences and routes across storage failures 2026-10-03 18:34:12 -07:00
mikecarper 24fcbf3247 Merge USB session safety and preserve GPS preference compatibility 2026-10-03 16:12:32 -07:00
mikecarper 1ddca12a41 Add saved repeater trace exception while repeating is disabled 2026-10-03 15:48:44 -07:00
agessaman ebd562e2c8 Merge branch 'feat/ota-branch-switch' into merge/ota-branch-into-observer-firmware-dev
# Conflicts:
#	examples/simple_repeater/MyMesh.cpp
2026-10-03 15:47:01 -07:00
mikecarper d454250cab Fix USB logging session safety and add hourly GPS sync interval 2026-10-03 15:43:35 -07:00
mikecarper 4bec31b4e1 Merge origin/keymindCascade USB reconnect fixes 2026-10-03 15:37:49 -07:00
agessaman abc3b16665 fix(ota): flash the channel ota update checked, not a later ota branch
The deferred flash re-read the channel preference ~2.5 s after ota update
acknowledged its target; capture it when the update is scheduled.
2026-10-03 15:37:49 -07:00
mikecarper 6febd15ded Harden USB logging and persist watchdog events in management reports 2026-10-03 15:29:19 -07:00
agessaman 6e2c94e9b2 Merge branch 'feat/ota-branch-switch' into merge/ota-branch-into-observer-firmware-dev
# Conflicts:
#	.github/workflows/build-observer-firmwares.yml
#	examples/simple_repeater/MyMesh.cpp
#	examples/simple_room_server/MyMesh.cpp
#	src/helpers/ESP32Board.cpp
#	src/helpers/ESP32Board.h
#	test/test_config_serializer/test_config_serializer.cpp
2026-10-03 15:24:33 -07:00
Elektr0Vodka c9df204fb6 feat(ota): pass runtime manifest base through otaFromManifest
(cherry picked from commit 0bee84c0546780b2e7147148c32087e92d894ac0)
2026-10-03 15:17:36 -07:00
mikecarper 91d533bfff Fix USB logging ownership, persistence, and reconnect safety 2026-10-03 14:45:57 -07:00
mikecarper 4ca66c2ebb Persist Companion Bluetooth on-off preference across reboots 2026-10-03 03:09:20 -07:00
mikecarper 8519638367 Add Zira spoken button confirmations and opt-in G726 speech tests 2026-10-03 03:03:02 -07:00
mikecarper 29de7820e5 Integrate upstream fixes and paired nRF52 sensor OTA release profiles 2026-10-02 17:52:12 -07:00
mikecarper 202930de8f Fix Companion pairing PIN display and truthful identity startup 2026-10-02 12:42:26 -07:00
mikecarper a2854f8f43 Support 2+ path-hash width filters 2026-10-02 10:21:17 -07:00
mikecarper 52c163ad6f Add encoded path-hash width selectors to forwarding rules 2026-10-02 10:07:48 -07:00
mikecarper 8505361ebe Restore Companion boot display and default WiFi to opt-in 2026-10-01 23:19:48 -07:00
mikecarper 633e2ce832 Add opt-in nRF52 Bluetooth event diagnostics and USB capture 2026-10-01 02:19:45 -07:00
mikecarper a834882836 Keep Companion get radio compatible with upstream CSV 2026-09-30 23:48:47 -07:00
mikecarper b47e4c137e Fix official app WiFi commands and Full build qualification 2026-09-30 20:27:05 -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 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 11d64b3db3 Add configurable nRF52 battery profiles with LiFePO4 cutoff 2026-09-30 01:11:10 -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