Commit Graph
1517 Commits
Author SHA1 Message Date
mikecarper 78eb7d52c9 Merge upstream dev into keymindCascade 2026-09-24 00:51:07 -07:00
mikecarper 960936183c Refresh nRF52 Companion BLE name without reboot 2026-09-23 14:12:37 -07:00
mikecarper e6b002759d fix(build): clear matrix failures while preserving features 2026-09-22 23:23:25 -07:00
mikecarper 49ceda27ba Fix fallback RNG seed for recoverable Companions 2026-09-22 16:35:44 -07:00
mikecarper 80f37d4374 Harden nRF52 filesystem recovery and flash writes 2026-09-22 15:17:39 -07:00
mikecarper 3ce499a700 Fix nRF52 flash completion and preserve recoverable ExtraFS 2026-09-22 09:29:05 -07:00
mikecarper 6fb8e430ff fix(usb): preserve platform startup ordering 2026-09-22 07:49:40 -07:00
mikecarper 8ecdd31585 fix(t1000e): restore single-port usb logging 2026-09-22 07:46:11 -07:00
mikecarper 04e6aa38f2 fix(nrf52): stabilize full companion bluetooth 2026-09-22 05:54:46 -07:00
Scott Powell 560fb847d5 missing board.loop() in companion, room server, kiss modem. 2026-09-22 18:01:15 +10:00
mikecarper bea968b4fa feat(radio): calibrate dual-profile preambles from live switch timing 2026-09-22 00:09:37 -07:00
ripplebiz a76d511ff4 Merge pull request #3131 from liekmarflow/feature/board-api-hooks
Add board loop hook for periodic work
2026-09-22 16:43:18 +10:00
Wolfram Keil 61be70849a Add board loop hook for periodic work 2026-09-22 08:01:48 +02:00
mikecarper a95f7b3d16 feat(ui): page radio and system status 2026-09-21 15:35:46 -07:00
Blake Latchford 0c3fe356d0 Constrain agc.reset.interval and allow intervals > 255s 2026-09-21 12:26:36 -04:00
ripplebiz 65737d48f4 Merge pull request #3402 from meshcore-dev/sensor-improvements
Sensor improvements
2026-09-21 19:03:18 +10:00
mikecarper 01ad5ca8a8 feat(kiss): add dual-profile radio2 support for OpenHop 2026-09-20 07:59:43 -07:00
ripplebiz b37e7dd955 Merge pull request #3431 from meshcore-dev/abstract-ui-overhaul
Abstract UI overhaul
2026-09-20 18:08:29 +10:00
mikecarper 9844982b00 Add Wi-Fi OTA partition migration support 2026-09-19 20:14:37 -07:00
liamcottle 73afe3a0f5 allow fetching configured wifi password via companion cli 2026-09-20 14:22:13 +12:00
Scott Powell 64434c5326 * misc 2026-09-19 20:13:18 +10:00
Kevin Le c425648bfc Off LED before powering off for repeater 2026-09-19 11:26:42 +07:00
mikecarper 9d91b039bf Fit Wio companion USB logging 2026-09-18 11:24:18 -07:00
Scott Powell 843598724c * fix for X1 2026-09-18 19:03:20 +10:00
mikecarper e708d0d14e Fix capacity matrix build regressions 2026-09-17 23:54:11 -07:00
Liam Cottle 166f75c1b6 Merge pull request #3442 from liamcottle/feature/companion-cli-commands
added reboot, shutdown and poweroff to companion cli commands
2026-09-18 18:25:33 +12:00
liamcottle 242e401a2c added reboot, shutdown and poweroff to companion cli commands 2026-09-18 18:17:52 +12:00
Blake Latchford 1077331e31 Extend WiFi disconnect logging to specify reason
Today if a user builds firmware with an incorrect WiFi SSID or password,
they get a generic `WiFi disconnected.` error message.

Extend logging to descirbe the reason that WiFi was disconnected.

I gathered the updated logs for the 3 scenarios below.

```
WiFi: Attempting manual WiFi reconnect...
WiFi: WiFi disconnected (reason=ASSOC_LEAVE). Flagging for reconnect...
WiFi: WiFi disconnected (reason=4WAY_HANDSHAKE_TIMEOUT). Flagging for reconnect...
WiFi: WiFi disconnected (reason=4WAY_HANDSHAKE_TIMEOUT). Flagging for reconnect...
WiFi: WiFi disconnected (reason=4WAY_HANDSHAKE_TIMEOUT). Flagging for reconnect...
```

```
WiFi: WiFi disconnected (reason=NO_AP_FOUND). Flagging for reconnect...
```

```
WiFi: WiFi connected successfully!
WiFi: Got connection
```
2026-09-17 19:39:51 -04:00
mikecarper ee3390d628 Merge IoTThinks PowerSaving-v17 changes
# Conflicts:
#	examples/companion_radio/main.cpp
#	src/helpers/TxtDataHelpers.cpp
2026-09-17 14:39:06 -07:00
mikecarper ab18216718 Consolidate companion components 2026-09-17 13:41:39 -07:00
mikecarper 30067cb5cd Split MQTT and ESP-NOW controls in Full ESP32 builds 2026-09-17 01:13:10 -07:00
mikecarper 9a149eaea1 Combine ESP-NOW and MQTT in ESP32 Full builds 2026-09-17 00:37:32 -07:00
Scott Powell b3b17025e3 * more MyMesh::Listener interface hooks 2026-09-17 17:33:36 +10:00
mikecarper aaa2b8b4e3 Sync repeater GPS weekly in power saving mode 2026-09-16 22:42:51 -07:00
mikecarper fd920624a2 Limit repeater GPS acquisition and repair CI tests 2026-09-16 21:27:15 -07:00
Scott Powell 30dd723c26 * MyMesh::begin() refactor, removing last display concepts 2026-09-17 14:25:41 +10:00
Scott Powell 5c3d9281ff * refactored the UI_DISCOVER_* feature 2026-09-17 13:45:33 +10:00
mikecarper 4ba26ff4af Add secure management reports and honor GPS off 2026-09-16 20:42:30 -07:00
Kevin Le 9c728e6b64 Disabled auto light sleep in USB Companion 2026-09-16 23:20:47 +07:00
Scott Powell 3caf033de2 * refactor: removed UITask dependency from MyMesh. New MyMesh::Listener interface
* UITask's are now a MyMesh task Listener
2026-09-16 21:03:44 +10:00
mikecarper 439dc7da3c Complete upstream transport integration and regression coverage 2026-09-15 21:08:10 -07:00
mikecarper 476aac92de Merge meshcore-dev dev with companion and board integrations 2026-09-15 20:51:43 -07:00
mikecarper 8ef2d41fb7 Report CLI save failures and validate advert intervals
Roll back failed password and advert changes, propagate identity-store results, and report unsaved common and observer settings. Correct observer filter persistence and KISS OTA capability claims. Add fault-injection and packaging regressions.
2026-09-15 20:05:30 -07:00
mikecarper b847b46ef7 Retry identity startup and harden replay state and permissions
Read identities up to three times before allowing replacement, publish only complete reads, and require new startup keys to be saved with bounded retries.

Use authoritative replay-file metadata throughout persistence and clock recovery. Validate setperm input before narrowing or mutating roles, and add production-path regression coverage.
2026-09-15 17:33:50 -07:00
mikecarper 24b1b1167f Fix storage recovery and deferred runtime state
Recover usable ESP32 preferences and channels before permitting replacement; keep identity and ACL persistence transactional and complete.

Preserve MQTT commit boundaries, restore OTA identity and policy after deferred allocation, retain radio gain retries, and reject invalid flood limits. Add production-path fault regressions and CI coverage.
2026-09-15 16:46:17 -07:00
mikecarper b4315dabdb Harden storage transactions and deferred radio settings 2026-09-15 16:01:46 -07:00
mikecarper 8f09daaad8 Improve Companion, repeater, and OTA reliability 2026-09-15 15:15:45 -07:00
mikecarper e70f4f9030 Fix OTA resume, CLI identity, radio persistence, and network sessions
Distinguish OTA read failures from missing blocks and select unique raw-flash checkpoints by MID and target. Keep deferred CLI requests and replies bound to immutable command identity and full authenticated keys.

Gate radio mutations on their exact reply delivery, recover coding-rate restoration, and roll back failed Companion preference writes. Preserve accepted low duty cycles across reboot.

Retain partial network writes, cancel displaced client operations, and reject malformed or stalled framed input. Add regression and CI coverage, and size-optimize the RAK4631 Ethernet build without dropping features.
2026-09-15 14:32:40 -07:00
mikecarper 56f0835d75 Preserve Wi-Fi reconnect backlogs by client IP
Retain same-IP replies and park one displaced IP backlog for 30 seconds using existing fixed buffers. Cancel old route-owned operations on takeover, preserve partial TCP frames, and cover reconnect isolation and queue limits with regression tests.
2026-09-15 13:13:36 -07:00
mikecarper 8ad8eeae88 Fix Wi-Fi restart during asynchronous shutdown 2026-09-15 12:22:53 -07:00