Commit Graph
195 Commits
Author SHA1 Message Date
mikecarper ba6e48b5ce 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 3baa169fc6 Preserve qualified release artifacts across resumed builds 2026-10-06 09:19:02 -07:00
mikecarper 95913c5301 Retry saved WebConfig WiFi when the MQTT worker is absent 2026-10-05 22:10:36 -07:00
mikecarper 51d74a200e Retain independent RS232 in Full MQTT repeaters 2026-10-05 18:21:42 -07:00
mikecarper 28023c7302 Install crypto dependency for OTA unit tests 2026-10-05 17:54:31 -07:00
mikecarper 5f10e7d601 Include runtime ESP-NOW in Full ESP32 repeaters 2026-10-05 17:33:02 -07:00
mikecarper 7ef67c49f5 Combine MKE S3 repeater bridge modes at runtime 2026-10-05 17:12:10 -07:00
mikecarper 30fe0d617b Unify Tower repeater builds on SD-primary OTA storage
Keep the deployed SD target and layout, select qualified internal delta storage when no card is usable, and retain exact SD bootloader-update gates. Add storage, capability, transfer, recipe, and release-selection regression coverage.

Also preserve mandatory runtime packet logging in canonical XIAO images when verbose build debugging is disabled, fixing the four stopped release-matrix qualification failures.
2026-10-05 16:38:30 -07:00
mikecarper 631f2ad973 Check boot filesystem lifetime and ordinary ESP32 build inclusion 2026-10-05 14:12:59 -07:00
mikecarper 49f698b452 Run stock setup GUI and ESP32 startup recovery checks in CI 2026-10-05 14:09:01 -07:00
mikecarper c8c5f87ab9 Keep ESP32 USB startup responsive during optional GPS discovery 2026-10-05 13:31:28 -07:00
mikecarper 163364e528 Guard startup resets in the pinned Arduino 3.1.3 HWCDC driver 2026-10-05 13:08:55 -07:00
mikecarper a4e3a530cb Capture HWCDC startup resets in the pinned Arduino 3.3.11 driver 2026-10-05 12:59:37 -07:00
mikecarper 68a27a2ebb Preserve the first HWCDC console session after flashing 2026-10-05 12:42:58 -07:00
mikecarper e95cf6d618 Complete browser OTA responses before reboot and allow HTTP restarts 2026-10-05 11:52:24 -07:00
mikecarper ec83da079d Merge branch 'keymindCascade' into fix/web-console-1.17.1.9 2026-10-05 10:40:13 -07:00
mikecarper c38ba5f8d0 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 2c806f19f9 Add WiFi OTA lifecycle regression coverage 2026-10-05 09:47:11 -07:00
mikecarper efed592fdb Qualify ESP-NOW RAM and Wio Mini release capacity 2026-10-05 07:18:22 -07:00
mikecarper 19d02c0dfa Preserve flood policies across qualified RAM capacity changes 2026-10-05 03:33:44 -07:00
mikecarper cc4bcb9cad Qualify 1.17.1.9 memory limits and exact release asset routing 2026-10-05 01:14:02 -07:00
mikecarper 835c7a8e6e 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 672e0ae777 Test hardware CDC capacity and stalled-host writes in CI 2026-10-04 21:22:51 -07:00
mikecarper 841571a7d8 Cache verified nRF52 metadata for OTA status displays 2026-10-04 17:34:16 -07:00
mikecarper a14a0ad81d Reduce ESP ACL save metadata opens while preserving verified recovery 2026-10-04 15:57:10 -07:00
mikecarper c747c15ffc Test radio and Access Control against pinned official app code 2026-10-04 14:47:10 -07:00
mikecarper e4420519a4 Fit Access Control replies to encrypted packet route budgets 2026-10-04 14:24:03 -07:00
mikecarper 9268c57f8c Support stock serial MQTT bridges on Full Companion 2026-10-04 14:14:53 -07:00
mikecarper 6516c719e1 Fix watchdog test timing and run hardware regression fixtures in CI
Arm the test watchdog through initial loop service and assert both recovery boundaries. Update cooperative contact negative controls for the current background APIs and run the existing USB, contact persistence, and startup regressions in Actions.

Validation: 1762 native tests, 48 added-workflow fixture tests, and 18 related persistence/logging checks passed locally.
2026-10-04 12:53:37 -07:00
mikecarper 63f4642252 Merge observer OTA channel switching into keymindCascade 2026-10-04 00:26:46 -07:00
mikecarper c3d3c4e294 Retain and isolate delayed Companion results under backpressure 2026-10-03 23:22:34 -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 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 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 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 eeb25a8b5f Merge USB session safety and preserve GPS preference compatibility 2026-10-03 16:12:32 -07:00
mikecarper 7803d4fb07 Add saved repeater trace exception while repeating is disabled 2026-10-03 15:48:44 -07:00
mikecarper 65512661c3 Fix USB logging session safety and add hourly GPS sync interval 2026-10-03 15:43:35 -07:00
mikecarper 9b82c74275 Merge origin/keymindCascade USB reconnect fixes 2026-10-03 15:37:49 -07:00
mikecarper 3add4695cc Harden USB logging and persist watchdog events in management reports 2026-10-03 15:29:19 -07:00
agessaman ee88192acb 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
agessaman 65d80bc908 ci(ota): verify each published binary's native channel by tag
Every observer build now carries both channel URLs, so checking for a URL's
presence or absence can no longer tell prod from beta (and the old checks would
reject every build). Read the ota-base-* tags from every .bin in out/ instead
of a single ELF, with URLs shared by build.sh and both workflows.
2026-10-03 15:24:11 -07:00