Commit Graph
5329 Commits
Author SHA1 Message Date
mikecarper a71b99fd62 Service cached contact persistence between companion loop passes 2026-10-04 03:39:27 -07:00
mikecarper b9b7a7b7e1 Share production USB input limits with the handoff fixture 2026-10-04 03:03:24 -07:00
mikecarper 1e03eb3056 Retain oversized native USB commands until they can be rejected 2026-10-04 02:53:04 -07:00
mikecarper 67408ffd13 Support reader commands through local Bluetooth and USB CLI 2026-10-04 02:16:04 -07:00
mikecarper 638e8cf3b7 Keep BLE contact sync from blocking other companion transports 2026-10-04 02:11:18 -07:00
mikecarper c316e9fb3c Reduce notification settings stack usage without shared scratch storage 2026-10-04 02:07:26 -07:00
mikecarper b128ac9a70 Start radio liveness watchdog when loop service begins 2026-10-04 02:05:32 -07:00
mikecarper 0d5a6e6fc8 Reduce SHA-512 stack usage with a rolling message schedule 2026-10-04 02:04:16 -07:00
mikecarper 057f1824a0 Fix hardware test serial controls and offline DM queue matching 2026-10-04 01:55:10 -07:00
mikecarper 8586ef5f51 Fix nRF52 loop stack allocation under LTO 2026-10-04 01:54:01 -07:00
mikecarper 63f4642252 Merge observer OTA channel switching into keymindCascade 2026-10-04 00:26:46 -07:00
mikecarper 72eb37c229 Merge latest PowerSaving-v17 BOOT button support 2026-10-03 23:56:38 -07:00
mikecarper 30de48d27e Document Companion Bluetooth pairing PIN CLI 2026-10-03 23:44:23 -07:00
mikecarper c3d3c4e294 Retain and isolate delayed Companion results under backpressure 2026-10-03 23:22:34 -07:00
mikecarper 46df653dbc Share bounded STM32 Companion preference wire metadata 2026-10-03 23:16:37 -07:00
mikecarper 38563a9828 Update preference snapshot CI contract for bounded value copies 2026-10-03 22:44:03 -07:00
mikecarper 54e5b0b996 Bound STM32 Companion preference image writes 2026-10-03 22:41:45 -07:00
mikecarper 59e761262d Copy only persisted Companion preference values during loading 2026-10-03 22:16:31 -07:00
mikecarper 2817e180ec Separate GPS UART ownership and collapse shared Companion ports 2026-10-03 21:42:54 -07:00
mikecarper 9693c87002 Ignore inactive discovery tags without clearing other requests 2026-10-03 21:28:40 -07:00
mikecarper 161600b4b7 Inspect received ACK route before clearing its header 2026-10-03 21:28:24 -07:00
mikecarper 399464ea37 Use bounded frame transmission for Companion hardware UART 2026-10-03 21:23:14 -07:00
mikecarper ea938e8e84 Preserve ACK ownership across contact relocation and retirement 2026-10-03 21:10:49 -07:00
mikecarper d29cba046b Align OTA profile prefix regression with frozen source identity 2026-10-03 20:51:14 -07:00
mikecarper e368b52f7d Bind resumed firmware packages to their effective build recipe 2026-10-03 20:48:49 -07:00
mikecarper eab6676316 Use resolved PlatformIO directories for migration packaging 2026-10-03 20:35:27 -07:00
mikecarper 7945d5bf5a Retain Companion ACK notifications during host backpressure 2026-10-03 20:23:50 -07:00
mikecarper 326f8cdf78 Default optional debug flags safely in strict shells 2026-10-03 19:55:57 -07:00
mikecarper eee4fa9e98 Treat public identity as a read-only CLI preference 2026-10-03 19:52:37 -07:00
mikecarper 72898f7dd5 Update USB startup fixture for retained mOTA responses 2026-10-03 19:45:06 -07:00
mikecarper 4fca38363d Update CLI identity regression for captured reply routing 2026-10-03 19:39:58 -07:00
mikecarper a02554dd69 Protect build cleanup from unsafe output paths 2026-10-03 19:31:10 -07:00
mikecarper f0828e025a Share lossless voice prefixes across companion announcements 2026-10-03 19:11:15 -07:00
mikecarper d4f88680e7 Run USB and persistence regression suites in CI 2026-10-03 19:01:37 -07:00
mikecarper 4837265648 Preserve USB mOTA ownership across deadlines and logging handoffs 2026-10-03 19:01:22 -07:00
mikecarper ecdaacdd58 Reject oversized USB frames and bound serial receive work 2026-10-03 18:55:23 -07:00
mikecarper d9088f9e86 Preserve telemetry preferences and routes across storage failures 2026-10-03 18:34:12 -07:00
mikecarper 1d05ef9e86 Reduce radio preamble validation overhead with equivalent math 2026-10-03 18:31:46 -07:00
mikecarper 81676be25c Validate management CLI captures and authenticated ACL snapshots 2026-10-03 18:29:12 -07:00
mikecarper 071ea533b0 Fix management browser authentication and stale decode results 2026-10-03 18:27:49 -07:00
mikecarper 581339efe7 Harden management report persistence and CLI input handling 2026-10-03 18:26:26 -07:00
mikecarper 06fc2d58d1 Fix radio profile reconfiguration transaction results 2026-10-03 18:25:22 -07:00
mikecarper 18f7edcf82 Keep USB watchdog snapshots coherent and fail-safe 2026-10-03 18:22:32 -07:00
Adam Gessaman a928498c46 Merge pull request #63 from agessaman/merge/ota-branch-into-observer-firmware-dev
feat(ota): ota branch channel switch (dev)
2026-10-03 16:41:52 -07:00
mikecarper 5ee6059564 Finalize USB watchdog management format as MGR2 2026-10-03 16:34:37 -07:00
mikecarper eeb25a8b5f Merge USB session safety and preserve GPS preference compatibility 2026-10-03 16:12:32 -07:00
agessaman 45d8f15098 Merge branch 'feat/ota-branch-switch' into merge/ota-branch-into-observer-firmware-dev 2026-10-03 15:52:39 -07:00
agessaman 8ec31dda71 fix(ota): skip the bare compat search literal when scanning an image
Every image also holds "ota-compat:" with no value (the search string);
finding it first made every channel switch look untagged.
2026-10-03 15:52:21 -07:00
mikecarper 7803d4fb07 Add saved repeater trace exception while repeating is disabled 2026-10-03 15:48:44 -07:00
agessaman a0856bed72 feat(ota): dev stores /mqtt.json, so its state generation is 2
Builds that only read /mqtt_prefs (gen 1) are refused as channel-switch
targets until they can read /mqtt.json.
2026-10-03 15:47:01 -07:00