Commit Graph
1680 Commits
Author SHA1 Message Date
mikecarper 6db10c3986 Cache Full Companion paths and shared secrets to recover RAM 2026-09-08 12:21:30 -07:00
mikecarper f090cf19d7 Avoid nested MQTT preference copies on the Companion loop stack 2026-09-08 10:05:59 -07:00
mikecarper d88b162f28 Restore the V4 WiFi setup QR with a one-pixel border 2026-09-08 09:30:31 -07:00
Kevin Le e96495327a Added default MCU temperature for sensors 2026-09-08 21:34:55 +07:00
liamcottle cee43752c7 add new ENABLE_WIFI_INTERFACE build flag for companions without providing ssid and pwd 2026-09-08 22:54:50 +12:00
liamcottle cced091b0c tidy comments 2026-09-08 22:18:22 +12:00
liamcottle 6809fed159 simplify and remove 2 as a wifi enabled state 2026-09-08 21:30:17 +12:00
mikecarper 0d7ca2d343 Gate every firmware build on runtime RAM and share nRF52 mOTA storage 2026-09-08 02:09:26 -07:00
mikecarper 2ea493994e Share T096 Full mOTA memory with the offline queue 2026-09-08 01:15:19 -07:00
Scott Powell 8660d1c973 * refactor: LPP helpers moved to LPPData class 2026-09-08 17:55:02 +10:00
mikecarper d28535f503 Add independent Companion Bluetooth stealth flag
Keep stealth separate from custom, saved-random and rotating MAC policies without migrating the development MAC mode. Persist authenticated peer state, guard advertising transitions and recovery, and expose the setting through the CLI and WebConfig.

Add regression and CI checks and record exact XIAO BLE pairing, reconnect, reboot and address-rotation hardware results.
2026-09-07 23:46:55 -07:00
liamcottle 87a05e1589 allow remote management of wifi as user has cli permission 2026-09-08 18:33:37 +12:00
liamcottle bf64fafe90 simplify response message 2026-09-08 18:30:00 +12:00
liamcottle 790680e4d1 allow toggling wifi enabled regardless of stored ssid 2026-09-08 18:25:34 +12:00
mikecarper 8d72c3e3da Add configurable Companion Bluetooth addresses 2026-09-07 18:29:00 -07:00
mikecarper 09639d7e02 Fix G3 USB sleep and two-minute button wake 2026-09-07 16:28:02 -07:00
Scott Powell d71a54cd3d * CLI: removed "sub" and "unsub" (cannot support via command line)
* _SUBSCRIBE: binary req/resp payload changes (now keeps supplied 'push_tag')
* Sensor: added MCU temperature support in telemetry
2026-09-07 13:56:47 +10:00
Michael Graff 7c2b4d88be WiFi on/off tri-state: on when SSID set unless explicitly disabled; PicoW ships no default SSID 2026-09-06 22:18:00 -05:00
Michael Graff dac171b49c Default wifi.enabled to 0 2026-09-06 22:05:29 -05:00
Michael Graff eb2ab10de0 Add wifi.enabled pref and CLI; skip WiFi when disabled or SSID blank 2026-09-06 21:56:25 -05:00
Michael Graff 98cf4f3332 Add get wifi.status and get wifi.ip CLI commands 2026-09-06 21:44:47 -05:00
Michael Graff b11a779843 Address review: per-variant wifi src, real SSID reply, rename PicoW env 2026-09-06 21:28:04 -05:00
Michael Graff b9fa450f52 Fix review findings on Pico W WiFi/BLE 2026-09-06 20:43:37 -05:00
Michael Graff 88cc014f55 Add BLE companion support for Pico W 2026-09-06 20:15:45 -05:00
ripplebiz 89ef200efa Merge pull request #3366 from recrof/companion-cli-fix-2
Companion CLI: fixed txdelay, direct.txdelay, agc.reset.interval, int.thresh
2026-09-07 10:42:48 +10:00
Rastislav Vysoky 5d82ed352c Companion CLI: fixed txdelay, direct.txdelay, agc.reset.interval, int.thresh 2026-09-06 15:14:35 +02:00
IoTThinks e76da0fefa Merge pull request #17 from Dom4n/rxps_v2
RXPS v2
2026-09-06 14:32:56 +07:00
Michael Graff a4ac85a0d6 Address review findings on WiFi companion support
- scope the serial config CLI to RP2040; it was exposing the rescue CLI
  (cat/rm/erase) on every ESP32 WiFi build, which gates it behind a
  physical long-press
- bound and space out RP2040 rejoins: the core's join busy-waits, so cap
  it at 5s and retry every 30s instead of every 10s
- stamp the reconnect timer in setup(), so the first loop() doesn't tear
  down an association that is still finishing DHCP
- treat stored credentials as a pair, and pass NULL (not "") for an open
  network
- teach build_as_lib.py where SerialWifiInterface moved
2026-09-05 23:15:13 -05:00
Michael Graff 58181bb8a2 Fix blocking WiFi connect on RP2040, log link state
arduino-pico's WiFi.begin() blocks for up to 2x its 15s timeout, which
stalled the mesh loop on every reconnect attempt; use beginNoBlock().
Log the IP when the link comes up, and the status code when retrying.
2026-09-05 23:15:13 -05:00
Michael Graff 739a67c9f1 Allow WiFi credentials to be set at runtime
Store ssid/pwd in NodePrefs and set them with 'set wifi.ssid' /
'set wifi.pwd' over USB serial; build-time WIFI_SSID/WIFI_PWD stay as
the fallback. Headless WiFi builds get the config CLI on Serial, which
is otherwise unused there.
2026-09-05 23:15:13 -05:00
Michael Graff 0b2c47a932 Add WiFi companion support for Pico W
SerialWifiInterface has no ESP32-specific code, so move it to
helpers/wifi and reuse it on RP2040. Guard the ESP32-only WiFi
event/auto-reconnect calls and poll link state on RP2040 instead.
2026-09-05 23:15:13 -05:00
mikecarper a2c3761700 Prepare 1.17.1.5 USA Cascade release and verify update capabilities 2026-09-05 08:59:50 -07:00
mikecarper 8995675e1c Enforce classic ESP32 memory budgets and safe image merging 2026-09-05 08:22:56 -07:00
Scott Powell 62d0556a70 * added region load/save support
* SUBSCRIBE now with timeout param (default 30 mins, max ~18 hours)
2026-09-05 15:59:29 +10:00
mikecarper b724d19d6f Protect ESP32 HWCDC console sessions 2026-09-04 17:18:54 -07:00
Jarosław Domański 6bbd34a296 RXPS: use measured preamble-symbol capture model 2026-09-05 00:02:13 +02:00
João Brázio 95214e8c40 Ensure command buffers stay NUL-terminated to prevent overflow
The serial command buffers must stay NUL-terminated within their
bounds: if they ever aren't, strlen() can return >= sizeof(command)
and the read loop would index past the buffer. Additionally, a full
buffer now becomes a completed line (end-of-line marker placed
inside the buffer, NUL terminator kept) instead of overwriting the
terminator and silently corrupting the buffer for the next pass.

Applies to the serial CLI readers of the repeater, room server,
sensor and secure chat examples, and to the CLI rescue reader of
the companion example.
2026-09-04 20:01:39 +01:00
agessaman a0188bd174 fix(network): harden Ethernet-preferred lifecycle 2026-09-04 08:42:46 -07:00
Scott Powell 3a5a6b90ab * sensor: CLI "sub" and "unsub" commands 2026-09-04 22:02:49 +10:00
mikecarper 65a53285d9 Make uf2reset available across nRF52 CLI roles 2026-09-04 02:01:40 -07:00
mikecarper e36b092aa3 Fix USB radio stalls and add durable replay timestamp recovery 2026-09-03 23:58:32 -07:00
Scott Powell 9bc6060831 * new: REQ_TYPE_SUBSCRIBE and REQ_TYPE_UNSUBSCRIBE 2026-09-04 15:13:17 +10:00
agessaman 0c65fc79db feat(network): implement hostname configuration for automatic interfaces 2026-09-03 17:16:30 -07:00
mikecarper 73f10f3fc3 Automatically recover internal Companion ExtraFS on boot 2026-09-03 15:15:23 -07:00
mikecarper 3443fc88ef Hide message footer on compact displays 2026-09-03 09:12:06 -07:00
Kevin Le e125d375ff Added PowerSaving for sensor firmware 2026-09-03 22:54:02 +07:00
mikecarper 9d920c4061 Give Full builds exclusive USB mOTA ownership 2026-09-03 02:33:23 -07:00
agessaman 3e3eec8d5d feat(mqtt): add link diagnostics and improve network logging 2026-09-02 21:37:30 -07:00
Scott Powell b4e37044ed * default and reply scopes now applied 2026-09-03 14:09:15 +10:00
mikecarper da774e9e75 Add observed login path commands 2026-09-02 19:23:56 -07:00