Commit Graph
107 Commits
Author SHA1 Message Date
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 3a5ebc998d test: cover stock config GUI startup handshake deadline 2026-10-05 14:08:24 -07:00
mikecarper 30464b022d Guard startup resets in the pinned Arduino 3.1.3 HWCDC driver 2026-10-05 13:08:55 -07:00
mikecarper 4b95a288ca Capture HWCDC startup resets in the pinned Arduino 3.3.11 driver 2026-10-05 12:59:37 -07:00
mikecarper 47f4581056 Complete browser OTA responses before reboot and allow HTTP restarts 2026-10-05 11:52:24 -07:00
mikecarper 8e449136ca Restore ordinary WiFi protocols for browser OTA hotspots 2026-10-05 11:23:01 -07:00
mikecarper f349d1d416 Preserve healthy OTA access points and drain stopping uploaders safely 2026-10-05 10:44:50 -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 e2543c012a Support pinned Arduino 3 filesystem buffer checks 2026-10-05 05:33:09 -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 8a7fe7ff42 Keep hardware CDC packet log lines whole under congestion 2026-10-04 21:40:43 -07:00
mikecarper 1ec9234d3c Test hardware CDC capacity and stalled-host writes in CI 2026-10-04 21:22:51 -07:00
mikecarper 0e25a1f15e Reduce ESP ACL save metadata opens while preserving verified recovery 2026-10-04 15:57:10 -07:00
mikecarper 3f1252af28 Update remote CLI identity fixture for ACL reply admission 2026-10-04 15:24:29 -07:00
mikecarper 3a016dd13b Fit padded ACL replies through the Companion frame envelope 2026-10-04 14:57:15 -07:00
mikecarper 1d96725e73 Test radio and Access Control against pinned official app code 2026-10-04 14:47:10 -07:00
mikecarper e3033b364e Keep Companion replies alive for the official app timeout window 2026-10-04 14:34:28 -07:00
mikecarper f515e19a7a Fit Access Control replies to encrypted packet route budgets 2026-10-04 14:24:03 -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 32ea186f9f Reduce ESP contact save backend work with bounded buffering 2026-10-04 08:20:28 -07:00
mikecarper e5dccbce9e Reject unhonored ESP filesystem buffer sizes before I/O 2026-10-04 08:20:16 -07:00
mikecarper 6955dad820 Preserve ESP native USB bytes across short FIFO writes
Backport the pinned Arduino 2.0.17 HWCDC suffix and interrupt handling into a build-local source copy. Preserve unsent bytes, serialize ISR and producer rearm, and include FIFO, suffix and active writers in transport cleanup proofs without changing the loop stack allocation.

Validate zero and short writes, producer races, quarantine and stale cleanup with sanitizer-backed native tests and negative controls. Keep other frameworks and USB modes on their existing drivers; update the watchdog file mock for the existing buffer API.
2026-10-04 06:49:31 -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 764eb496fb Bound ESP contact transaction file buffers between loop passes
Arduino defaults to 4 KiB stdio buffering, so small record writes and CRC
reads could still trigger large SPIFFS batches. Set the newly opened ESP
writer buffer to one 152-byte contact record and verifier buffer to 64
bytes before I/O. Fail closed if either setup fails; keep other platforms
unchanged.

Model backend buffering separately from logical File operations. Validate
mutation cancellation, durability, setup failures, and negative controls
which restore the hidden default writer or reader batching. Update API
seams in existing uncached, radio and telemetry fixtures.
2026-10-04 04:32:37 -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 8c164934bc Support reader commands through local Bluetooth and USB CLI 2026-10-04 02:16:04 -07:00
mikecarper 728b16c5d5 Start radio liveness watchdog when loop service begins 2026-10-04 02:05:32 -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 2fa9a96cce Inspect received ACK route before clearing its header 2026-10-03 21:28:24 -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 22360f4392 Share lossless voice prefixes across companion announcements 2026-10-03 19:11:15 -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 645c8a1119 Reduce radio preamble validation overhead with equivalent math 2026-10-03 18:31:46 -07:00
mikecarper 30b18beecd Harden management report persistence and CLI input handling 2026-10-03 18:26:26 -07:00
mikecarper 2a3b7e3d3e Keep USB watchdog snapshots coherent and fail-safe 2026-10-03 18:22:32 -07:00
mikecarper d3a0637cda Finalize USB watchdog management format as MGR2 2026-10-03 16:34:37 -07:00
mikecarper 24fcbf3247 Merge USB session safety and preserve GPS preference compatibility 2026-10-03 16:12:32 -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
mikecarper 6febd15ded Harden USB logging and persist watchdog events in management reports 2026-10-03 15:29:19 -07:00
mikecarper 91d533bfff Fix USB logging ownership, persistence, and reconnect safety 2026-10-03 14:45:57 -07:00
mikecarper 29de7820e5 Integrate upstream fixes and paired nRF52 sensor OTA release profiles 2026-10-02 17:52:12 -07:00