mikecarper
cd824765b4
Prioritize and pace private TempRadio OTA
2026-08-13 17:53:33 -07:00
mikecarper
f7c2d382c3
Speed up and harden LoRa OTA transfers
2026-08-13 14:43:59 -07:00
mikecarper
4a3d86ef98
Add guarded nRF52 OTA rescue and SF5 test mode
2026-08-13 09:31:26 -07:00
mikecarper
8ffafddd6a
Add scheduled telemetry history packets
2026-08-13 00:52:17 -07:00
mikecarper
c0aeb8fc3a
Pipeline OTA downloads and adapt relay timing
2026-08-13 00:38:17 -07:00
mikecarper
a65769c96a
Harden ESP32 identity entropy handling
2026-08-11 14:25:52 -07:00
mikecarper
4d51d49660
Improve Companion terminal routing and controls
2026-08-11 12:19:41 -07:00
mikecarper
71619934fc
Fix USB terminal backspace handling
2026-08-10 23:47:09 -07:00
mikecarper
48a5d5b4cd
Fix trace TX stalls from invalid radio airtime
2026-08-10 23:47:02 -07:00
mikecarper
2ff1166c15
Fix BLE pairing display and RX gain defaults
2026-08-10 19:42:44 -07:00
mikecarper
968ca3363b
Add runtime FEM control and fix full Companion boot
2026-08-10 17:10:18 -07:00
mikecarper
f40615ab56
Add full Companion builds and terminal path routing
2026-08-10 16:10:13 -07:00
mikecarper
4e91cc9487
Expand full Companion terminal tooling
2026-08-10 14:53:39 -07:00
mikecarper
88ba5b26cb
Add full Companion OTA source builds
2026-08-10 12:39:07 -07:00
mikecarper
54dbffdedc
Recover and retry stalled LR1110 transmissions
2026-08-09 21:24:47 -07:00
mikecarper
26d6e0f99a
Harden message retry replacement and seed testing channel
2026-08-07 23:22:31 -07:00
mikecarper
bf62afa240
Add companion terminal mode and LoRa OTA tooling
2026-08-07 19:19:44 -07:00
mikecarper
cfdf33b7ca
Expand repeater FPF7 to 63 rules
2026-08-07 17:22:21 -07:00
mikecarper
5b0af29ad1
Unify repeater flood policy persistence
2026-08-07 17:01:55 -07:00
mikecarper
11b692abfa
Harden firmware recovery and retries
...
Improve companion BLE delivery and idempotent remote CLI retries, make FPF7 persistence atomic with FPF6 migration, verify staged OTA data on resume, and clarify filter policy wildcard and BlackHole semantics.
2026-08-07 16:24:53 -07:00
mikecarper
7f56da7a34
Extend flood policy and harden message retries
2026-08-07 14:26:31 -07:00
mikecarper
df2dd41512
Scope preference saves to changed settings
2026-08-06 15:33:40 -07:00
mikecarper
81ff965c7c
Add recent repeater prefix search
2026-08-05 17:54:52 -07:00
mikecarper
6ddbaf3274
Fix LR2021 side detectors and W12 shutdown
2026-08-05 17:33:20 -07:00
mikecarper
eed6581299
Add persistent SD OTA archive support
2026-08-04 17:33:17 -07:00
mikecarper
3ba0fb1847
Add configurable repeater telemetry history
2026-08-04 15:35:15 -07:00
mikecarper
44ec918303
Harden WiFi and LR1110 recovery
2026-08-03 16:23:23 -07:00
mikecarper
61cb8d6e96
Merge upstream dev into keymindCascade
...
# Conflicts:
# docs/payloads.md
# examples/companion_radio/DataStore.cpp
# examples/companion_radio/DataStore.h
# examples/companion_radio/MyMesh.cpp
# examples/companion_radio/MyMesh.h
# examples/companion_radio/NodePrefs.h
# examples/companion_radio/main.cpp
# examples/simple_room_server/MyMesh.cpp
# examples/simple_room_server/MyMesh.h
# examples/simple_sensor/SensorMesh.cpp
# platformio.ini
# src/Utils.cpp
# src/helpers/CommonCLI.cpp
# src/helpers/CommonCLI.h
# src/helpers/NRF52Board.cpp
# src/helpers/nrf52/SerialEthernetInterface.cpp
# src/helpers/radiolib/CustomLLCC68.h
# src/helpers/radiolib/CustomLLCC68Wrapper.h
# src/helpers/radiolib/CustomLR1110.h
# src/helpers/radiolib/CustomSTM32WLxWrapper.h
# src/helpers/radiolib/CustomSX1262.h
# src/helpers/radiolib/CustomSX1268.h
# src/helpers/radiolib/CustomSX1268Wrapper.h
# src/helpers/ui/ST7735Display.cpp
# test/mocks/Stream.h
# variants/minewsemi_me25ls01/target.h
# variants/wio-tracker-l1/platformio.ini
2026-08-03 14:53:59 -07:00
mikecarper
4ed3307c6c
Add MeshTower V2 SD-backed LoRa OTA
2026-08-03 12:49:36 -07:00
mikecarper
9b8c68d926
Extend GPIO timers and status reporting
2026-08-03 02:07:03 -07:00
mikecarper
1e009abe4c
Add user-controlled GPIO commands
2026-08-02 22:57:17 -07:00
mikecarper
86160e9323
Relay opaque flood packets through repeaters
2026-07-31 13:28:45 -07:00
mikecarper
c19f248d97
Fix firmware matrix build failures
2026-07-30 01:18:21 -07:00
ripplebiz
57ddada3ba
Merge pull request #3004 from axhoff/agent/preserve-utf8-advert-names
...
Preserve UTF-8 boundaries in advert names
2026-07-30 12:59:59 +10:00
mikecarper
a6ace6076c
Add WebConfig CLI and standalone WiFi controls
2026-07-29 13:13:37 -07:00
mikecarper
e6abf3ea7d
Share WiFi OTA seeding across full ESP32 builds
2026-07-29 01:51:01 -07:00
mikecarper
44faf158b2
Add path-qualified channel scope buckets
2026-07-28 23:33:42 -07:00
mikecarper
586423d0d2
Extend repeater flood control and logging reliability
2026-07-28 16:05:52 -07:00
mikecarper
ae2af7ef4d
Harden observer preferences and portable controls
2026-07-25 07:59:44 -07:00
mikecarper
c1caa5ad81
Merge observer firmware and webconfig updates
...
# Conflicts:
# MQTT_INTERNALS.md
# build.sh
# docs/cli_commands.md
# examples/simple_repeater/MyMesh.cpp
# examples/simple_repeater/MyMesh.h
# examples/simple_repeater/UITask.cpp
# examples/simple_room_server/MyMesh.cpp
# examples/simple_room_server/MyMesh.h
# examples/simple_room_server/UITask.cpp
# examples/simple_sensor/SensorMesh.cpp
# platformio.ini
# scripts/generate_webconfig_html.py
# src/MeshCore.h
# src/helpers/CommonCLI.cpp
# src/helpers/CommonCLI.h
# src/helpers/CommonCLI_Observer.cpp
# src/helpers/ESP32Board.h
# src/helpers/MQTTMessageBuilder.cpp
# src/helpers/MQTTPresets.h
# src/helpers/NRF52Board.cpp
# src/helpers/NRF52Board.h
# src/helpers/bridges/MQTTBridge.cpp
# src/helpers/bridges/MQTTBridge.h
# src/helpers/esp32/WebConfigServer.cpp
# src/helpers/esp32/WebConfigServer.h
# src/helpers/radiolib/RadioLibWrappers.cpp
# src/helpers/radiolib/RadioLibWrappers.h
# variants/lilygo_tbeam_SX1262/platformio.ini
# variants/lilygo_tbeam_SX1276/platformio.ini
# variants/lilygo_tlora_v2_1/platformio.ini
# webui/index.html
2026-07-24 02:16:47 -07:00
mikecarper
566ef08f25
Merge upstream dev into keymindCascade
2026-07-24 01:23:20 -07:00
mikecarper
455b3f97e0
Scale CAD scan timeouts to radio settings
2026-07-24 01:13:14 -07:00
mikecarper
c1752f2db1
Defer remote commands outside receive stack
2026-07-24 00:18:35 -07:00
Scott Powell
ee79df4c4f
Merge branch 'dev' into config-serializer
...
# Conflicts:
# test/mocks/Arduino.h
# test/mocks/Stream.h
2026-07-24 15:06:48 +10:00
mikecarper
468e7846bd
Collect edge clock samples with repeat off
2026-07-23 11:00:21 -07:00
mikecarper
6c99ae39a9
Add edge clock sync diagnostics
2026-07-23 10:40:45 -07:00
mikecarper
371d86c4b1
Normalize tracked text to ASCII
2026-07-22 00:43:38 -07:00
agessaman
675bc6b55b
feat(webconfig): manage the admin password from the portal
...
Adds an admin-password field to the setup wizard and the LAN editor, so a
node's password can be set during onboarding and rotated later without a
serial console.
The key maps to the top-level `password` CLI command rather than a `set`
handler, so it is classified separately from WC_ALLOWED_SET_KEYS. It is the
only key granted that treatment, which keeps the allowlist the sole route to
`set` and leaves no general path from a batch to arbitrary CLI commands.
Accepted in both modes: MODE_OFF is refused earlier in handleConfigPost, LAN
required a login to get that far, and the setup AP implies physical proximity.
Restricting rotation to the AP would have forced a bridge outage (`set bridge
off` + `start webconfig ap`) just to change a password.
First onboarding is gated server-side: while the setup AP is up and no WiFi is
configured, a batch that reboots or sets wifi.ssid must also carry a password,
so neither the Advanced editor nor a crafted request can save WiFi and strand
the node on the factory password. The flag is latched at AP start, so a save
that fails partway cannot drop the requirement on retry.
The CLI's `password` command echoes the new secret back in its reply, and
replies are served to the client over the open setup AP, so the reply is
overwritten with "OK" before it can be serialized.
UI: the field lives with the other NodePrefs settings (wizard step 2, and the
Node card on the Radio tab) rather than beside the WiFi password, which is a
different credential. Confirm fields mirror their password twin and are cleared
whenever it is, so a stale confirm value cannot fail a later save as a spurious
mismatch. Validation runs ahead of the WiFi-changed split so a password-only
save is still checked, and reveals the Radio tab before reporting, since the
save bar spans every tab.
2026-07-21 19:00:18 -07:00
agessaman
5bf6d3a0e3
fix(mqtt): make preference saves power-loss recoverable
2026-07-21 16:45:39 -07:00
mikecarper
bda0722ad8
Harden nRF52 storage and hardware recovery
2026-07-21 00:01:01 -07:00