Commit Graph
3430 Commits
Author SHA1 Message Date
ripplebiz b599bc5117 Merge pull request #3389 from jbrazio/fix/set-af-validation
Validate set af input to prevent out-of-range airtime factors
2026-09-11 21:25:31 +10:00
ripplebiz 0984111d62 Merge pull request #3395 from jbrazio/fix/serial-command-clamp
[HIGH] Ensure command buffers stay NUL-terminated to prevent overflow
2026-09-11 14:09:24 +10:00
ripplebiz 5c63e06a00 Merge pull request #3386 from tekk/fix/channel-data-payload-bound
fix(companion): gate CMD_SEND_CHANNEL_DATA payload on MAX_GROUP_DATA_LENGTH
2026-09-11 13:57:00 +10:00
João Brázio f722794e50 Validate set af input to prevent out-of-range airtime factors 2026-09-10 09:17:37 +01:00
tekk 0a82fcd20d fix(companion): gate CMD_SEND_CHANNEL_DATA payload on MAX_GROUP_DATA_LENGTH
Payloads of 166 or 167 bytes previously passed the frame-sized bound
(MAX_CHANNEL_DATA_LENGTH = 167) but were rejected by sendGroupData
against MAX_GROUP_DATA_LENGTH (165), causing ERR_CODE_TABLE_FULL (retry
later) to be returned instead of ERR_CODE_ILLEGAL_ARG.

Fixes #3345
2026-09-09 22:10:41 +02:00
Liam Cottle 1751783931 Merge pull request #3357 from skandragon/feat/picow-wifi-ble
Add WiFi to RPI PicoW (and perhaps others)
2026-09-09 21:55:22 +12:00
Liam Cottle 017fd09633 Merge pull request #2971 from YoshiWalsh/fix/projectconfigurationgit
Fix Git error during project configuration
2026-09-09 20:08:37 +12:00
Yoshi Walsh 82ea992d86 Fix Git error during project configuration
Previously project configuration would fail with "fatal: couldn't find remote ref d541301" (git v2.55.0)

Per https://git-scm.com/docs/git-fetch#Documentation/git-fetch.txt-refspec, the <src> needs to be either a ref or a "**fully spelled** hex object name"

This requirement is also mentioned in this SO answer: https://stackoverflow.com/a/30701724

After this change, project configuration now succeeds.
219812
2026-09-09 17:42:35 +10: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
ripplebiz ac7d88efe7 Merge pull request #3379 from oltaco/LR2021-preamble-arm-fix
fix: LR2021 to use correct macro for IRQ_DETECTED in startReceive()
2026-09-08 18:13:15 +10:00
taco 974f00ded0 fix: LR2021 to use correct macro for IRQ_DETECTED in startReceive() 2026-09-08 16:35:31 +10: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
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
Michael Graff d33fb4e9a7 Fix config parser aborting on an empty object
'custom:{}' (a DynamicConfigSerializer with nothing set) hits EXPECT_KEY
with a '}' and returns TOK_ERROR, so loadSerial stops there and silently
drops every property after it. Nothing follows 'custom' in NodePrefs
today, so it goes unnoticed until you add one.

Also include stdlib.h, which Arduino.h was providing on-device but not
in the native test build.
2026-09-05 23:15:13 -05: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
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
Liam Cottle 65aa1138ae Merge pull request #3319 from oltaco/w12_txpower
Fix Meshnology W12 TX power
2026-09-01 23:06:58 +12:00
Liam Cottle c57172687f Merge pull request #3329 from reinforce/tz_offset
companion: get/set timezone offset for clock
2026-09-01 22:56:19 +12:00
Aleksei Mamlin 1d9a62ca4a companion: get/set timezone offset for clock
* Add tz_offset companion prefs and get/set commands for companion cli
* Use tz_offset for clock on display

Signed-off-by: Aleksei Mamlin <mamlinav@gmail.com>
2026-08-31 09:08:22 +03:00
fdlamotte 307fc9ba01 Merge pull request #3279 from fdlamotte/node_discover_ui
Node discover UI
2026-08-30 19:51:02 -04:00
fdlamotte adbdcf00bb Merge branch 'dev' into node_discover_ui 2026-08-29 11:02:58 -04:00
taco e6897e8bb7 fix Meshnology W12 TX power 2026-08-29 15:22:54 +10:00
Scott Powell 65650bb192 New TXT_TYPE_CLI_COMMAND (3) 2026-08-28 13:12:59 +10:00
liamcottle e3d0f9fcaa fix cad cli command on companion 2026-08-27 19:05:18 +12:00
Liam Cottle 1c3248902a Merge pull request #3298 from meshcore-dev/companion-cli
Companion CLI
2026-08-27 18:17:10 +12:00
Scott Powell 9ab13158cb * fix for RPI Picow 2026-08-25 19:04:32 +10:00
Scott Powell 6dad3d5ab4 * companion: fix for setSpreadFactor(). "set cad ..." and "board" now implemented. 2026-08-24 20:44:17 +10:00
Scott Powell 8ccc9928a8 * DynamicConfigSerializer fixes, and unit tests 2026-08-24 19:42:55 +10:00
Liam Cottle 12998cba89 Merge pull request #3275 from liamcottle/gps/rak3401
Fix PA on RAK3401 when GPS missing
2026-08-24 19:52:10 +12:00
Scott Powell 845242f4aa * prefs, custom dirty state 2026-08-24 17:22:15 +10:00
Scott Powell 5a162ff4c6 * new DynamicConfigSerializer
* board/variant KeyValueStore now can write to 'custom' object in Json prefs
2026-08-24 17:12:56 +10:00
Huw Duddy b2499907c2 Merge pull request #3290 from liamcottle/feature/ui-no-hibernate
add UI_NO_HIBERNATE build flag to disable hibernate screen
2026-08-24 13:40:47 +10:00
liamcottle 7dc2d54818 add UI_NO_HIBERNATE build flag to disable hibernate screen on wio tracker l1 2026-08-24 13:45:19 +12:00
Scott Powell a1cf5bd806 * refactored 'FEM' commands for HeltecTrackerV2 & HeltecV4 2026-08-24 02:16:18 +10:00
Scott Powell 47b0b7b3b8 * T096, and Station G3: refactoring the 'FEM' prefs to variant-specific code
* CommonCLI: 'FEM' commands removed
* introduced static no-op attachDynamicPrefs() for all boards
2026-08-24 01:50:22 +10:00