Commit Graph
1639 Commits
Author SHA1 Message Date
mikecarper c01d6ce581 Merge upstream dev while preserving local GPS and USB recovery 2026-10-06 12:56:19 -07:00
mikecarper c06ddb76ae Preserve requested ESP-NOW across manual setup and master restore 2026-10-06 11:46:10 -07:00
mikecarper d0859f925d Fix ESP32 Full idle radio teardown and compact AP startup 2026-10-06 11:46:10 -07:00
mikecarper bac70385da Scope charger controls to T-Beam and Mesh Solar flash budgets 2026-10-06 11:22:03 -07:00
mikecarper 613d9d7c43 Add persistent T-Beam charge voltage controls and report Mesh Solar limits 2026-10-06 10:56:32 -07:00
mikecarper f442a10c56 Use C6L native USB and recover diagnostics-only Companion sessions 2026-10-06 10:14:59 -07:00
mikecarper 58f5d7f794 Bound telemetry replies and preserve Sensor send retries 2026-10-06 09:56:00 -07:00
mikecarper 7babdbc518 Fix Room and Sensor requests and add G3 Sensor builds
Bound ACL replies for encrypted routes, authorize Sensor ACL access using the actual Admin role, and preserve request retries after failed queue admission. Validate stored paths for replies, while keeping Room keep-alives direct-only.

Add both G3 RF-slot Sensor profiles, suppress battery alarms on unavailable measurements, and remove the unsupported Sensor WebConfig capability. Add executable regression coverage and CI checks.
2026-10-06 09:20:05 -07:00
mikecarper 526a3d1aa4 Retry saved WebConfig WiFi when the MQTT worker is absent 2026-10-05 22:10:36 -07:00
mikecarper f05524a4a2 Keep the console responsive during MQTT shutdown 2026-10-05 19:05:58 -07:00
mikecarper 6765100c3a Retain independent RS232 in Full MQTT repeaters 2026-10-05 18:21:42 -07:00
mikecarper 69d9ac84bc Include runtime ESP-NOW in Full ESP32 repeaters 2026-10-05 17:33:02 -07:00
mikecarper 6cd1289c8b Combine MKE S3 repeater bridge modes at runtime 2026-10-05 17:12:10 -07:00
mikecarper a0de63ab5e Avoid repeated missing SPIFFS scans during ESP32 startup 2026-10-05 14:12:44 -07:00
mikecarper 54d204b418 Keep OTA headers aligned with the checked-out vendored source 2026-10-05 11:56:00 -07:00
mikecarper 865f7dd669 Keep automatic ESP-NOW retries paused during browser OTA 2026-10-05 11:06:30 -07:00
mikecarper 47135e081c Make ESP32 OTA startup handle WiFi and WebConfig automatically
Report the upload address and required network, honor AP switches on an existing uploader, and keep delayed WebConfig cleanup from disabling OTA WiFi. Preserve actionable startup errors and account for OTA in wireless state controls.

Exercise the production OTA lifecycle and stock website console, including power-saving idle sessions, in host regression tests.
2026-10-05 10:31:43 -07:00
mikecarper f6c911da23 Preserve flood policies across qualified RAM capacity changes 2026-10-05 03:33:44 -07:00
mikecarper 0a9a3e93c7 Avoid Companion request tag collisions after login 2026-10-05 01:47:05 -07:00
mikecarper 3ed1c5a26e Migrate ESP32 native USB roles to bounded hardware CDC
Switch eight S3 board defaults and 78 remaining TinyUSB recipes to hardware Serial/JTAG while preserving UART and other platforms. Restore retained S3 PHY ownership after a TinyUSB OTA restart and prepare KISS queues before enabling the driver.

Add real recipe resolution, Companion/KISS transport sanitizer coverage, and RF lifecycle reset regressions to CI. Native tests pass 1765/1765; SDK, transport, recipe and USB watchdog checks pass. Board and role cross-compilation and physical OTA qualification continue.
2026-10-04 23:36:54 -07:00
mikecarper f515e19a7a Fit Access Control replies to encrypted packet route budgets 2026-10-04 14:24:03 -07:00
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
Scott Powell f19733e478 * don't respond to DISCOVER requests if node has adverts turned off. (isHiddenNode()) 2026-10-04 15:02:00 +11: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