Commit Graph
2372 Commits
Author SHA1 Message Date
mikecarper 9181e3e0ec Keep BLE transmit queues and recovery bound to their connection session 2026-10-16 00:01:28 -07:00
mikecarper 55373f692e Merge remote-tracking branch 'origin/keymindCascade' into keymindCascade 2026-10-15 23:50:05 -07:00
mikecarper 7c8edf5ff1 Honor shared foreign radio ownership before beacon admission 2026-10-15 23:48:38 -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 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 c6e43c5530 Add guarded Meshtext, radio2 and multi-hop OTA hardware tests
Add identity-bound app flash adapters, exact-receipt radio2 sweeps through preamble 384, measured packet-window goodput, stock-peer delivery probes, Zopfli1000 USB OTA serving and bridge outage/recovery checks. Keep dwell experiments opt-in, production timing unchanged, generated artifacts outside Git, and wire offline safety tests into CI.
2026-10-15 21:05:40 -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 8f2bbbab19 Announce MeshTalk identity after first chat and retry until heard 2026-10-15 17:57:34 -07:00
mikecarper 0a6658a47f Refresh compressed WebConfig page for current source 2026-10-15 17:37:56 -07:00
mikecarper 0eace6b694 Apply wildcard deny and hop limits to zero-scope floods 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 9a451dc160 Add configuration-preserving Waveshare observer partition migration 2026-10-15 17:37:52 -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 b5e493996c Merge observer firmware with persistent opt-in advert signature verification
Add Waveshare LR1121 observer recipes. Adapt observer advert verification to existing transactional CLI, append-only binary preferences and Companion NVS, preserving default file lengths and WiFi credentials. Reject oversized unsigned advert tails consistently with Mesh::onRecvPacket. Keep current BLE recovery and GPS claim accounting.
2026-10-15 13:45:27 -07:00
mikecarper 285267e3a1 Merge meshcore-dev dev with routing, WiFi and power-policy compatibility
Integrate upstream 1.18.0, delayed direct ACK forwarding, zero-scope routing, Waveshare LR1121 and dynamic WiFi variants. Preserve fork chemistry-aware power management and bounded multi-interface UI; retain retry/dedup safety while adding upstream ACK delay. Qualify LR1121 band power and HP-only Morse handling with native regressions.
2026-10-15 13:30:41 -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 6b75ad07d3 Preserve MeshCore preambles with Meshtext and allow MQTT upload 2026-10-15 11:04:38 -07:00
mikecarper 9363ad4f95 Add safe ESP32 WiFi compatibility controls and unified status 2026-10-15 11:04:07 -07:00
mikecarper d3bbd5a4d0 Protect ESP32 identities during interrupted partition migration 2026-10-15 11:03:43 -07:00
mikecarper 3347a62780 Recover stalled MQTT transports and broker acknowledgments 2026-10-14 10:34:40 -07:00
mikecarper 8a49a98709 Support Meshtext beacons across LoRa radio families
Add checked protocol adapters for every project LoRa family and enable Indicator LoRa TX. Preserve normal modem restoration, LR1110 fast hops, LR2021 side detectors and physical-band power limits.

Fix SX1276 beacon CAD completion dispatch, concrete-chip validation on multi-chip variants, no-GPS sensor hook linkage and STM32 file construction. Add fault, negative-control and preset coverage to CI. Keep flash-constrained STM32 artifacts disabled after measured opt-in overflows.
2026-10-14 10:22:04 -07:00
mikecarper 009bfff383 Add staggered transmit-only channel text beacons 2026-10-14 09:58:24 -07:00
mikecarper 457e403017 Adapt AGC maintenance cadence during device power saving 2026-10-14 04:11:10 -07:00
mikecarper d7c8a3a104 Reduce routine RX power-saving noise-floor refreshes 2026-10-14 01:37:55 -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 32e920250a Keep power-saving sleep within queued work deadlines 2026-10-14 00:20:04 -07:00
agessaman 7bab7e0e73 Merge upstream/dev into observer-firmware-dev
Preserve observer discovery when forwarding is disabled while honoring hidden-node settings. Keep GPS power ownership paired and incorporate upstream GPS diagnostics.
2026-10-13 19:10:10 -07:00
ripplebiz d86cad8a82 Merge pull request #3575 from agessaman/feat/lr1121-dual-band-power
LR1121: keep TX power valid across sub-GHz and 2.4 GHz
2026-10-14 12:04:47 +11:00
ripplebiz 97113a7050 Merge pull request #3574 from agessaman/feat/waveshare-esp32s3-lr1121
feat(variants): add Waveshare ESP32-S3-LR1121
2026-10-14 12:00:11 +11: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 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 65820d0dd2 Include and qualify Meshtext in RAK4631 Full Companion
Port Meshtext settings to verified atomic nRF52 storage and use the existing radio RNG and hardware entropy. Keep the ExtraFS boundary, GPS, contacts, channel count and 8 KiB stack unchanged; omit unused library data to fit the image. Require linked codec and Companion transport evidence and build the real RAK Full profile in CI. Add configuration and storage-failure regression coverage.
2026-10-12 22:39:00 -07:00
ripplebiz b47fd54905 Merge pull request #3573 from meshcore-dev/ack-timing-fix
ACK forwarding timing fix
2026-10-13 15:48:29 +11: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
agessaman eac6e66b1b fix(radiolib): keep LR1121 tx power valid across sub-GHz and 2.4 GHz
- Clip requested power to the active PA's range instead of failing. A
  stored 22 dBm was rejected at 2.4 GHz (HF PA max 13 dBm), and since
  setTxPower ignores errors the sub-GHz PA stayed configured.
- Re-apply the requested power after every successful retune: PA choice
  depends on the band, and set radio / tempradio only call setParams.
2026-10-11 21:07:05 -07:00
agessaman 3d1a5d4c64 feat(variants): add Waveshare ESP32-S3-LR1121
ESP32-S3FH4R2 (4MB flash, 2MB PSRAM, native USB-CDC) with an LR1121.
Pins, the DIO5/DIO6 RF switch table and the 1.8 V TCXO follow the HF
schematic and Waveshare's examples. Envs: repeater, room server,
companion USB/BLE and KISS modem, all on min_spiffs so roles share one
partition layout.

Only RFO_HP_LF is wired (R4 on RFO_LP_LF is not fitted), so the new
opt-in LR1121_FORCE_HP_PA flag keeps RadioLib on the HP PA at <= 14 dBm,
where it would otherwise select the unconnected LP PA.
2026-10-11 20:51:18 -07:00
Scott Powell 6df5aaed43 * ACK forwarding (in direct mode) had zero delay 2026-10-12 10:44:42 +11:00
mikecarper 5d6081feee Add verified USB-only ESP32 partition migration bridges 2026-10-11 13:28:23 -07:00
mikecarper 05907f49e0 Add Meshtext Companion channel chat and automatic radio2 setup 2026-10-11 02:08:02 -07:00