Commit Graph
102 Commits
Author SHA1 Message Date
mikecarper 2d6e546ba4 Maximize Zopfli mOTA transport compression 2026-09-19 20:12:37 -07:00
mikecarper 8d8c7e5885 Use Brotli and Zopfli for compressed assets 2026-09-18 12:37:46 -07:00
mikecarper ebee99af81 Consolidate companion components 2026-09-17 13:41:39 -07:00
mikecarper 9610cc4245 Add secure management reports and honor GPS off 2026-09-16 20:42:30 -07:00
mikecarper 4139e7e24d Merge meshcore-dev dev with companion and board integrations 2026-09-15 20:51:43 -07:00
mikecarper 170c2c44b1 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 9de1373bd9 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 b5440c75c7 Fix Companion USB clients and shared-port logging 2026-09-14 13:36:17 -07:00
mikecarper bd30388436 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 088c88507a 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 a25adbde64 Add SX1262 scan harness and mixed-profile hardware results 2026-09-12 21:06:58 -07:00
mikecarper 726598559a Add multi-tap channel navigation for messages 2026-09-08 22:47:15 -07:00
mikecarper 4c8aad5b16 Unify device controls and restore the WiFi console 2026-09-08 18:36:23 -07:00
mikecarper 1e5c65f22c Add spacing to reader button hints 2026-09-08 17:38:45 -07:00
mikecarper cf4dc13c62 Add button navigation hints to the hidden John reader 2026-09-08 17:31:18 -07:00
mikecarper e5f8eb46a3 Fix bootloader version discovery and tolerate legacy OTA probes 2026-09-08 16:17:43 -07:00
mikecarper aab46c7c84 Use native display resolution and adaptive typography 2026-09-08 16:02:16 -07:00
mikecarper 5c08db4311 Offer verified OTA source contact import with explicit approval 2026-09-08 15:33:19 -07:00
mikecarper b7d4ffdb4f Read Full Companion source identity from USB and TCP banners 2026-09-08 14:29:02 -07:00
mikecarper 3e710594d8 Check OTA build toolchains and bind sources by public key 2026-09-08 14:13:38 -07:00
mikecarper 5fe6f299f3 Avoid Python nesting limit in LoRa OTA preflight test 2026-09-08 13:51:20 -07:00
mikecarper 006bd53ead Merge remote-tracking branch 'origin/keymindCascade' into keymindCascade 2026-09-08 13:49:00 -07:00
mikecarper 8828fbc211 Offer private cryptography repair before bootloader OTA staging 2026-09-08 13:35:57 -07:00
mikecarper 543639bfe8 Support bootloader mOTA staging and guided host tool repair 2026-09-08 12:36:06 -07:00
mikecarper 6db10c3986 Cache Full Companion paths and shared secrets to recover RAM 2026-09-08 12:21:30 -07:00
mikecarper 023daebc5b Add standalone raw TCP CLI fallback for OTA scripts 2026-09-08 10:03:43 -07:00
mikecarper 2d50bad70a Add retained-RAM staging for nRF52 mOTA 2026-09-05 12:08:21 -07:00
mikecarper 36435b450f Test FEM gain across CLI firmware roles 2026-09-04 14:01:36 -07:00
mikecarper 0268c43d12 Add FEM noise-floor hardware test 2026-09-04 12:03:33 -07:00
mikecarper b199ba27bf Qualify GAT562 bootloader updates 2026-09-03 15:48:35 -07:00
mikecarper 8f8e8b411f Support 2 KiB DEFLATE OTA transport 2026-09-03 01:07:06 -07:00
mikecarper e2cd54b484 Limit OTA transport sizing to shortest route DAG 2026-09-02 23:05:07 -07:00
mikecarper bdefcb9995 Add exact LoRa OTA route cost objective 2026-09-02 22:49:16 -07:00
mikecarper 8ddeba6861 Normalize inflater backport assets 2026-09-02 22:48:22 -07:00
mikecarper b948729dd4 Build inflater-capable RAK3401 bridge inventory 2026-09-02 22:48:22 -07:00
mikecarper a9fae59840 Add compressed 171-byte OTA transport 2026-09-02 19:24:01 -07:00
mikecarper 2ce59b58ed Harden nRF52 contact and settings persistence 2026-09-02 17:32:43 -07:00
mikecarper 4d89de8544 Improve companion setup and USB session recovery 2026-09-02 03:44:28 -07:00
mikecarper 9816e21834 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 5af7b73ff9 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
mikecarper 8920c35da5 Harden marathon-tested OTA and hardware paths
Add durable TempRadio, ACL, clock, bridge, GPS/I2C, USB logging, and Indicator recovery safeguards together with expanded automation, build/profile contracts, release metadata, and the hardware validation ledger.
2026-08-30 19:26:15 -07:00
mikecarper e7962f9598 Fix release matrix gaps and add background builds 2026-08-29 14:55:07 -07:00
mikecarper 362e1005aa release: pin RAK3401 b40 mOTA chain 2026-08-29 09:10:24 -07:00
mikecarper 541980a82f fix: harden LoRa OTA chain and storage 2026-08-29 06:58:48 -07:00
mikecarper 2b3b93ab2f fix: harden ESP-NOW and full companion networking
Add selectable shared ESP-NOW channels, raw/wrapped bridge compatibility, and bounded fragmentation for maximum-size packets.\n\nGive ESP32 Full profiles WiFi coexistence, stabilize WebConfig and USB terminal lifecycles, and keep disabled bridges stopped during observer updates.\n\nUpdate generated UI, firmware selection, documentation, and regression coverage.
2026-08-28 16:36:34 -07:00
mikecarper c6476b8ba8 feat: consolidate full companion runtime profiles 2026-08-28 08:47:26 -07:00
mikecarper d17c250137 fix: port T-Beam 1W hardware corrections
Adapt the validated fan thermostat, battery ADC calibration, GPS baud, SX1262 register patch, and 1700us PA ramp behavior from mintylinux/Meshcore-T-beam-1W-Firmware to the current board architecture. Also make Arduino 3 full-build dependency switching reliable after standard ESP32 builds and guard the release hardware contract with regression coverage.
2026-08-27 18:58:37 -07:00
mikecarper 5a26d4ddd1 fix: stabilize Heltec RC32 startup 2026-08-27 17:06:20 -07:00
mikecarper 7676e4b1c2 feat: unify companion builds and USB runtime modes 2026-08-27 15:06:26 -07:00
mikecarper e5fd77e53f feat: add Bluetooth-controlled LoRa OTA
Add the framed BLE mOTA transport and companion control path, complete the full-profile build and runtime fixes, and document and test the OTA workflow.
2026-08-27 01:22:18 -07:00