Commit Graph
194 Commits
Author SHA1 Message Date
mikecarper ebd40d1e92 Bound Ethernet receive work to the entry byte budget 2026-10-16 03:14:37 -07:00
mikecarper 829d9d819a Keep OTA-only Companions on inherited foreign callbacks 2026-10-16 03:01:34 -07:00
mikecarper 114a0d98c5 Keep RAK Companion Ethernet waits off the mesh loop
Run DHCP and renewal in a cooperative worker, bound socket commands, and retain SPI ownership until cleanup is safe. Preserve framing deadlines, response ownership and whole-frame replay, including pending-ACK queue pinning.

Budget the worker additively and retain all OTA names with an exact-checked Full-only compact index. Add full-driver, sanitizer, queue, shutdown, storage and memory regression coverage.
2026-10-16 02:23:03 -07:00
mikecarper 19d36daf50 Preserve non-SD OTA staging during card maintenance 2026-10-16 01:43:48 -07:00
mikecarper b11cb44e06 Restore RX power saving after deferred calibration cleanup 2026-10-16 01:42:37 -07:00
mikecarper 41405ee01b Merge remote-tracking branch 'origin/keymindCascade' into keymindCascade 2026-10-16 01:27:24 -07:00
mikecarper 339079c439 Bound failed RX retries without blocking power-saving sleep 2026-10-16 01:27:24 -07:00
mikecarper 73a4c97e8c Merge remote-tracking branch 'origin/keymindCascade' into keymindCascade 2026-10-16 01:21:48 -07:00
mikecarper 862260de17 Reject AGC intervals that would wrap or silently disable resets 2026-10-16 01:19:09 -07:00
mikecarper e8ac3ddc6b Merge remote-tracking branch 'origin/keymindCascade' into keymindCascade 2026-10-16 01:18:26 -07:00
mikecarper 774c2adc80 Add adaptive RAK4631 SD storage to full firmware profiles 2026-10-16 01:18:26 -07:00
mikecarper 6a90229d9a Preserve folder OTA staging when resume reads fail 2026-10-16 00:54:49 -07:00
mikecarper 6614be22f2 Retain USB commands until required replies can be queued 2026-10-16 00:53:06 -07:00
mikecarper d5cc73c43d Validate beacon power without stranding saved settings 2026-10-16 00:39:07 -07:00
mikecarper edf3f85199 Reject ambiguous management firmware versions without scanf 2026-10-16 00:15:55 -07:00
mikecarper 4846191fff Never roll beacon IDs back to an unrelated stale backup 2026-10-16 00:10:57 -07:00
mikecarper 9181e3e0ec Keep BLE transmit queues and recovery bound to their connection session 2026-10-16 00:01:28 -07:00
mikecarper 7df52f5260 Add opt-in decoded-channel Meshtext rebroadcasting 2026-10-15 23:39:05 -07:00
mikecarper e0f46a5014 Restore GPS control shutdown for externally started receivers 2026-10-15 23:34:34 -07:00
mikecarper 36ec9b8bd3 Seed a quiet local emergency-channel notice on Companion joins 2026-10-15 23:16:27 -07:00
mikecarper 4b465f9966 Close GPS-owned UARTs before sleeping receivers 2026-10-15 23:07:37 -07:00
mikecarper 7dcdae3b08 Serialize nRF52 BLE receive frames across link resets 2026-10-15 23:04:40 -07:00
mikecarper a7828d5342 Bound CommonCLI arguments before scratch copies 2026-10-15 23:02:05 -07:00
mikecarper 8eced48d34 Fix peripheral power shutdown and auto-detect Station G3 radio slots 2026-10-15 22:30:37 -07:00
mikecarper 690ffe5601 Keep bridged OTA retries resumable across profile handoffs
Let the mesh timed OTA retry guard own byte-identical requests instead of the permanent bridge FIFO. Bind bridge ingress to its primary profile generation and preserve UART reflection/liveness protections. Verified a LoRa to ESP-NOW to LoRa update with outage recovery and install.
2026-10-15 21:05:23 -07:00
mikecarper bc1b414af0 Fix Meshtext metadata lifecycle and radio2 readiness refresh
Delay automatic GPS-free NodeInfo until a quiet TX gap, invalidate stale metadata after durable node renames, and refresh the profile when same-tuple publication releases its busy guard. Cover the real Companion methods and document the behavior.
2026-10-15 21:05:14 -07:00
mikecarper 8f2bbbab19 Announce MeshTalk identity after first chat and retry until heard 2026-10-15 17:57:34 -07:00
mikecarper 755895c7e0 Control Wio Tracker L2 GPS power and reserve display runtime RAM 2026-10-15 17:37:54 -07:00
mikecarper fb5ed7e4ee Stop nRF52 automatic LEDs before shutdown and sleep 2026-10-15 17:37:53 -07:00
mikecarper eebba0cb9a Add opt-in RAK15002 SD firmware seeder with isolated SPI and cache regression tests 2026-10-15 15:10:44 -07:00
mikecarper 23c9648789 Share radio2 raw transport for Ethernet and negotiated direct LoRa OTA 2026-10-15 11:05:21 -07:00
mikecarper e57ab1309f Preserve BLE command replies and respect negotiated mOTA MTU 2026-10-15 11:05:00 -07:00
mikecarper 9363ad4f95 Add safe ESP32 WiFi compatibility controls and unified status 2026-10-15 11:04:07 -07:00
mikecarper 3347a62780 Recover stalled MQTT transports and broker acknowledgments 2026-10-14 10:34:40 -07:00
mikecarper 009bfff383 Add staggered transmit-only channel text beacons 2026-10-14 09:58:24 -07:00
mikecarper 8049754de9 Synchronize Ethernet fixture wakeups with predicate updates 2026-10-14 04:12:46 -07:00
mikecarper d43bc23f5a Release OLED power ownership when initialization fails 2026-10-14 00:21:23 -07:00
mikecarper 6a2fd182d3 Avoid stopping unstarted nRF UARTs during bridge wake 2026-10-14 00:21:04 -07:00
mikecarper 3d539b0a8d Add actual Companion device-query handshake regression harness 2026-10-13 17:05:37 -07:00
mikecarper 80c93f20f1 Prevent WiFi handshake starvation and blocking Companion TCP sends 2026-10-13 17:03:10 -07:00
mikecarper 20929a598f Recover Companion WiFi TCP listener failures and expose diagnostics 2026-10-13 16:24:34 -07:00
mikecarper 368770656f Fix WisBlock GPS power policy and preserve shared peripherals 2026-10-13 09:55:32 -07:00
mikecarper 9079d6f47e Correct Morse human spacing and harden speed qualification 2026-10-13 05:25:07 -07:00
mikecarper b1198b6e3e Improve Morse timing adaptation and repair CI regression coverage 2026-10-13 03:02:52 -07:00
mikecarper 1b2c1cf2b3 Coordinate Reader output with Morse and enforce HIL flash safety
Preserve Reader streaming during Morse timing and block synchronous inflate/progress interleaving. Fail closed on uncertain port ownership and enforce application-only DFU packages before querying USB. Cover the guards in CI and clarify experimental benchmark scope.
2026-10-13 01:51:27 -07:00
mikecarper ca9caece53 Add bounded Morse receive and negotiated RS232 autosleep
Add native narrow-band CW capture, ACK-first remote sessions, retained LoRa-readable pages, checked restoration and transport-safe progress. Add stock-compatible negotiated heartbeat/autosleep and recovery. Include host regressions and identity-bound HIL runners; keep unverified faster tuning HIL-only and document outstanding hardware validation.
2026-10-13 01:24:39 -07:00
mikecarper d2bea5fb10 Reduce nRF52 Companion flash and stream Reader chapters
Use a 960-byte constant-time Ed25519 base table, compact hash/scalar code and unused-library trims while retaining Reader, BLE P-256 and the 8 KiB stack. RAK4631 Full saves 57,496 flash bytes and 3,152 static RAM bytes versus preview3.

Support complete chapters and verse ranges with bounded app continuation replies and cooperative terminal output. Use nonblocking TCP writes under reader backpressure. Add scalar/signature comparisons and a linked ARM crypto/stack CI gate.

Validated clean RAK4631, T1000-E, T096 and V4 Full builds, host regressions, and physical RAK chapter/reconnect and signing comparisons. Physical signing averages 35.9 ms versus 14.4 ms with the original table.
2026-10-13 01:02:30 -07:00
mikecarper 42e5c0c07b Repair WiFi power-policy CI fixtures and run ownership checks earlier 2026-10-12 15:55:04 -07:00
mikecarper 05a675a57a Suspend failed ESP32 MQTT and NTP uplinks for power saving
Share one bounded WiFi outage and recovery schedule across MQTT, automatic NTP, Companion station ownership and WebConfig. Preserve enabled settings and foreground access while allowing normal sleep after confirmed physical shutdown.

Honor failed SDK client stops before handing off WiFi, protect clean teardown and reconfiguration, and retry transient ESP-NOW channel restoration without repeated disconnects. Add production-method, SDK failure and real sleep regressions to CI.

Validation: native MQTT/NTP/clock/reconnect suites; production power and wrapper failure tests; browser, room HTTP, OTA and combined bridge regressions; Full Heltec V4 repeater, room and companion builds with capability, flash and linked-memory checks.
2026-10-12 14:57:01 -07:00
mikecarper 05907f49e0 Add Meshtext Companion channel chat and automatic radio2 setup 2026-10-11 02:08:02 -07:00