Commit Graph
112 Commits
Author SHA1 Message Date
mikecarper a74a09da56 Complete ESP32 partition expander and adaptive LoRa OTA pacing 2026-09-24 17:13:22 -07:00
mikecarper 89a458ceba Update pair timing contract for zero loop reserve 2026-09-23 19:43:30 -07:00
mikecarper a7c4370d3d Keep nRF52 Full Companion BLE subscriptions across reconnects 2026-09-23 03:19:58 -07:00
mikecarper 4c645b0d14 Apply nRF52 flash completion fix to every build target 2026-09-22 09:53:58 -07:00
mikecarper 8ecdd31585 fix(t1000e): restore single-port usb logging 2026-09-22 07:46:11 -07:00
mikecarper 04e6aa38f2 fix(nrf52): stabilize full companion bluetooth 2026-09-22 05:54:46 -07:00
mikecarper 1707967196 fix(ci): seed measured switch timing in pair test 2026-09-22 01:35:39 -07:00
mikecarper bea968b4fa feat(radio): calibrate dual-profile preambles from live switch timing 2026-09-22 00:09:37 -07:00
mikecarper 79fe4362f8 feat(radio): enable fast profile switching across direct SX1262 boards
Add acknowledged SetFs and packet-cache shortcuts for SX1262, extend the LR1110 FS-mode fast path with buffered SPI, and keep the expander-backed Indicator on its previous path. Include HIL fixtures, validation notes, and regression tests.
2026-09-21 22:57:22 -07:00
mikecarper 032b41afeb fix(ci): cover standalone images with RAM checks 2026-09-20 20:46:16 -07:00
mikecarper 69681a2db6 Maximize Zopfli mOTA transport compression 2026-09-19 20:12:37 -07:00
mikecarper a7e22955cd Use Brotli and Zopfli for compressed assets 2026-09-18 12:37:46 -07:00
mikecarper ab18216718 Consolidate companion components 2026-09-17 13:41:39 -07:00
mikecarper 4ba26ff4af Add secure management reports and honor GPS off 2026-09-16 20:42:30 -07:00
mikecarper 476aac92de Merge meshcore-dev dev with companion and board integrations 2026-09-15 20:51:43 -07:00
mikecarper 091c8d8324 Preserve radio lab experiments and reuse unchanged SX1262 modulation
Skip redundant modulation writes during owned fast RX retunes when the last
acknowledged SF/BW/CR/LDRO tuple matches. Invalidate that cache after ordinary
setters, failed writes, and lifecycle changes.

Include the remaining scan, preamble, settling, and memory-soak experiments,
their collectors, validation notes, and original capture records. Preserve
capture bytes across checkouts and keep private soak credentials local.

Run lab collector and compiled contract tests in CI. Update the expectation,
profile mapping, and result-buffer tests for the extended lab tools, and make
the private WiFi override header optional for ordinary soak diagnostics.

Validation: 145 host tests passed from the staged source snapshot. Clean
heltec_v4_repeater and Xiao_S3_WIO_companion_radio_usb builds passed their
RAM/flash gates. All 229 staged capture files retain their original bytes;
all 75 local documentation links resolve in the clean snapshot.
2026-09-14 22:34:17 -07:00
mikecarper 9dd9881d52 Add timed cw and cw2 commands for SX1262 and LR1110
Support fractional seconds, guard active packet work, keep the MCU awake, and restore reception after carrier tests. Include regression coverage and independent-radio RF validation for the V4 and T1000-E.
2026-09-14 19:23:23 -07:00
mikecarper 2b5a6f2098 Fix Companion USB clients and shared-port logging 2026-09-14 13:36:17 -07:00
mikecarper 0e5955f889 Speed up SX1262 profile switching and verify radio lab behavior
Keep TCXO warm during owned dual-profile retunes, batch modulation setup, and enable guarded fast RX with buffered 8 MHz SPI on XIAO S3 WIO and Indicator LoRa. Preserve lifecycle invalidation, packet guards, rollback, and existing scheduling budgets.

Add reliable sequence-scoped USB lab transport, native regression coverage, bounded channel and preamble diagnostics, and byte-exact measurement records including failed experiments and qualification limits.
2026-09-14 01:22:09 -07:00
mikecarper 3b6c894ee2 Add two-profile LoRa operation and radio CLI regression coverage
Implement radio2, tempradio2, radioat2 and tempradioat2 across Mesh roles,
with RX-only/RX+TX operation, optional preambles and persistent cross-TX
policy. Keep temporary OTA traffic on its profile by default and maintain
independent retry ownership and backoff for each profile.

Use slow-first receive scanning with 4.8-symbol visits and automatic
preambles rounded up in steps of eight. Preserve pending RX, restore power
saving on exit, and discard work bound to changed or expired profiles.

Restore the infrastructure path.hash.mode setter and report unsupported
extra.sf settings consistently. Add CLI, scheduling, scan and retry tests,
setup documentation, and the V4/XIAO hardware validation results.

Validation: 1,422 native tests, eight KISS tests, 63 final focused profile
tests, 18 checks from the staged source, sanitizer-enabled OTA transfers,
and builds for V4 Mesh roles, Full XIAO Companion and nRF52 T1000-E.
Hardware checks cover reception, cross-TX policy, expiry, reboot and OTA
discovery while receiving main-channel adverts.
2026-09-13 08:25:00 -07:00
mikecarper b87e86e10f Add SX1262 scan harness and mixed-profile hardware results 2026-09-12 21:06:58 -07:00
mikecarper f778d14c76 Add multi-tap channel navigation for messages 2026-09-08 22:47:15 -07:00
mikecarper aa8caa4ed2 Unify device controls and restore the WiFi console 2026-09-08 18:36:23 -07:00
mikecarper b2ce8a8c0a Add spacing to reader button hints 2026-09-08 17:38:45 -07:00
mikecarper 1b3e5daa02 Add button navigation hints to the hidden John reader 2026-09-08 17:31:18 -07:00
mikecarper 4c1ed2593a Fix bootloader version discovery and tolerate legacy OTA probes 2026-09-08 16:17:43 -07:00
mikecarper 846282adf4 Use native display resolution and adaptive typography 2026-09-08 16:02:16 -07:00
mikecarper 0058f72192 Offer verified OTA source contact import with explicit approval 2026-09-08 15:33:19 -07:00
mikecarper 4112671a75 Read Full Companion source identity from USB and TCP banners 2026-09-08 14:29:02 -07:00
mikecarper b40fcd37ef Check OTA build toolchains and bind sources by public key 2026-09-08 14:13:38 -07:00
mikecarper 03e42830b0 Avoid Python nesting limit in LoRa OTA preflight test 2026-09-08 13:51:20 -07:00
mikecarper 26aa8118c3 Merge remote-tracking branch 'origin/keymindCascade' into keymindCascade 2026-09-08 13:49:00 -07:00
mikecarper f6fba1da91 Offer private cryptography repair before bootloader OTA staging 2026-09-08 13:35:57 -07:00
mikecarper f2f93c4660 Support bootloader mOTA staging and guided host tool repair 2026-09-08 12:36:06 -07:00
mikecarper be41d9dd79 Cache Full Companion paths and shared secrets to recover RAM 2026-09-08 12:21:30 -07:00
mikecarper 966ab823f0 Add standalone raw TCP CLI fallback for OTA scripts 2026-09-08 10:03:43 -07:00
mikecarper 49dcba5c6e Add retained-RAM staging for nRF52 mOTA 2026-09-05 12:08:21 -07:00
mikecarper ecb84a54d0 Test FEM gain across CLI firmware roles 2026-09-04 14:01:36 -07:00
mikecarper e95d0b30c8 Add FEM noise-floor hardware test 2026-09-04 12:03:33 -07:00
mikecarper f2c15225cc Qualify GAT562 bootloader updates 2026-09-03 15:48:35 -07:00
mikecarper e2da2701da Support 2 KiB DEFLATE OTA transport 2026-09-03 01:07:06 -07:00
mikecarper 066f1abca6 Limit OTA transport sizing to shortest route DAG 2026-09-02 23:05:07 -07:00
mikecarper ff28ec3a8d Add exact LoRa OTA route cost objective 2026-09-02 22:49:16 -07:00
mikecarper e022ce25ed Normalize inflater backport assets 2026-09-02 22:48:22 -07:00
mikecarper ecbe02c28c Build inflater-capable RAK3401 bridge inventory 2026-09-02 22:48:22 -07:00
mikecarper 3f6eddd5c2 Add compressed 171-byte OTA transport 2026-09-02 19:24:01 -07:00
mikecarper 66894f9958 Harden nRF52 contact and settings persistence 2026-09-02 17:32:43 -07:00
mikecarper cf70478c51 Improve companion setup and USB session recovery 2026-09-02 03:44:28 -07:00
mikecarper ecaa5ac2a0 Harden nRF52 OTA, USB sessions, and T096 controls
Bind Companion replies to request transports, make dual-CDC USB sessions nonblocking and reconnect-safe, and harden nRF52 watchdog/OTA storage paths. Fix T096 button debounce, display wake, sleep races, and the compact message layout; add exact WisBlock OTA profiles plus expanded native/static/HIL documentation.
2026-09-01 20:51:43 -07:00
mikecarper 1629725d7d Add safe ESP32 transports and Indicator UI
Reserve board-specific GPIOs, make ESP-NOW channel/format handling configurable, and coordinate WiFi, BLE, NTP, MQTT, and host actions safely.

Add the Indicator message page, exclusive transport selector, dynamic 480/320 rendering, larger transport typography, pairing cleanup, and corresponding tests and documentation.
2026-08-31 14:29:42 -07:00