Commit Graph
236 Commits
Author SHA1 Message Date
mikecarper f1d281a766 Allow safe nRF52 MCU idle between radio2 scan deadlines 2026-10-17 13:21:05 -07:00
mikecarper 2fb4d2e793 Preserve millisecond power-saving deadlines across roles 2026-10-17 11:21:48 -07:00
mikecarper dd7a10f9aa Sleep between noise-floor samples and reduce idle refreshes 2026-10-17 10:18:14 -07:00
mikecarper 8a5f735bba Reuse active Sensor tracker wake deadlines 2026-10-17 02:25:37 -07:00
mikecarper 629557fcfe Fix nRF52 idle sleep event and CryptoCell handling 2026-10-17 02:22:26 -07:00
mikecarper 756d887bad Add on-demand power-saving diagnostics 2026-10-17 01:15:54 -07:00
mikecarper 4348fdcc56 Keep UI startup and rescue windows closed after observed expiry 2026-10-16 19:00:45 -07:00
mikecarper 8e13fccdd1 Retire expired tracker awake leases before foreground deferrals 2026-10-16 18:37:24 -07:00
mikecarper eda70c832b Format infrastructure startup version labels without allocating 2026-10-16 18:27:08 -07:00
mikecarper a24f9d5ef8 Keep sensor UI polling and refresh working across uptime rollover 2026-10-16 17:56:45 -07:00
mikecarper 422b6f3ff2 Compare Sensor subscription deltas in exact LPP units 2026-10-16 05:03:22 -07:00
mikecarper 21ab0b9d40 Use packet radio settings for forwarding delays 2026-10-16 04:43:12 -07:00
mikecarper fc91b6e75c Preserve exact LPP bytes in Sensor telemetry snapshots 2026-10-16 04:40:44 -07:00
mikecarper 92b9a1cc64 Separate tracker RF leases from timed maintenance wakes 2026-10-16 04:03:34 -07:00
mikecarper 8eced48d34 Fix peripheral power shutdown and auto-detect Station G3 radio slots 2026-10-15 22:30:37 -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
Scott Powell 07a833bbbe * version 1.18.0 2026-10-15 19:42:01 +11:00
mikecarper 457e403017 Adapt AGC maintenance cadence during device power saving 2026-10-14 04:11:10 -07:00
mikecarper 32e920250a Keep power-saving sleep within queued work deadlines 2026-10-14 00:20:04 -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 1f1a499482 Add opt-in low power Sensor dog tracking
Acquire fresh GPS and validated UTC, check an authenticated owner Companion, and apply saved lost-status cadence with bounded awake windows. Persist request tags, routes, and six-hour flood reservations; preserve the four-day cutoff across sleep and restart.

Keep Dispatcher recovery active after a failed radio wake, honor denied flood retries after lost TxDone, and qualify GPS ownership and clock corrections. Add executable regression tests and nRF52/ESP32 Sensor build jobs.

Validation: six firmware builds, 1829 native test cases, sanitized tracker/storage/GPS/sleep/recovery tests, and strict documentation build. Bluetooth Find My advertising and automatic Room mailbox polling remain separate work.
2026-10-10 20:08:58 -07:00
mikecarper 58f5d7f794 Bound telemetry replies and preserve Sensor send retries 2026-10-06 09:56:00 -07:00
mikecarper 7babdbc518 Fix Room and Sensor requests and add G3 Sensor builds
Bound ACL replies for encrypted routes, authorize Sensor ACL access using the actual Admin role, and preserve request retries after failed queue admission. Validate stored paths for replies, while keeping Room keep-alives direct-only.

Add both G3 RF-slot Sensor profiles, suppress battery alarms on unavailable measurements, and remove the unsupported Sensor WebConfig capability. Add executable regression coverage and CI checks.
2026-10-06 09:20:05 -07:00
mikecarper 24fcbf3247 Merge USB session safety and preserve GPS preference compatibility 2026-10-03 16:12:32 -07:00
mikecarper d454250cab Fix USB logging session safety and add hourly GPS sync interval 2026-10-03 15:43:35 -07:00
mikecarper 6febd15ded Harden USB logging and persist watchdog events in management reports 2026-10-03 15:29:19 -07:00
mikecarper 29de7820e5 Integrate upstream fixes and paired nRF52 sensor OTA release profiles 2026-10-02 17:52:12 -07:00
mikecarper 202930de8f Fix Companion pairing PIN display and truthful identity startup 2026-10-02 12:42:26 -07:00
mikecarper a19dcb3ded Merge IoTThinks PowerSaving-v17 into keymindCascade
Integrate PowerSaving-v17 through a27e78e4 (six new commits).
Use its 10-minute awake / 30-minute asleep companion GPS profile and
separate requested GPS state from receiver power in CLI diagnostics.
Include its nRF52 sensor debug-console settle delay and debug option.

Resolve overlapping GPS v2 changes using the current sensor callbacks,
which already implement live power-saving transitions, user-off control,
telemetry acquisition, wrap-safe sleep/wake timers and retained Airoha
RTC backup. Preserve preference persistence, telemetry cache/holds and
UART/shared-rail ownership safeguards across all four GPS drivers.

Add a compiled production GPS status regression test and run it in CI.
Validated 23 native GPS/power tests, preference and nRF52 pin contracts,
and firmware builds for T1000-E BLE Companion, MeshTracker X1 USB
Companion, Heltec Tracker Repeater, Mesh Solar Room and RAK4631 Sensor.
2026-09-30 15:51:07 -07:00
mikecarper 062a835f09 Merge upstream dev through 5846fa19
Import Airoha GPS RTC backup sleep, 24 contact search results, and the T-Echo Lite USB companion target. Preserve existing GPS telemetry and power-saving controls, crypto alignment checks, ESP32 RTC recovery, and RAK11310 dynamic-preference compatibility.

Validate GPS sleep acknowledgments with their NMEA checksum and add six native regression tests covering retry, drain, corruption, grace timeout, and timer rollover.

Verified: 1648 native and KISS modem tests; targeted nRF52, companion routing, one-key DM, and clock checks; T1000-E BLE, MeshTracker X1 USB, and T-Echo Lite USB companion builds.
2026-09-30 02:13:25 -07:00
Kevin Le 1aa8ae90fb GPS PowerSaving v2: Added GPS wake up upon telemtry requests for companions. Bug fixes for "gps" CLI. 2026-09-25 22:37:04 +07:00
mikecarper c31a0e5ed5 Merge upstream dev into keymindCascade 2026-09-24 00:51:07 -07:00
Scott Powell f9e70426ae increased MAX_SEARCH_RESULTS to 24. (was 8)
Closes #3243
2026-09-24 13:35:27 +10:00
mikecarper 47af95b4b2 Harden nRF52 filesystem recovery and flash writes 2026-09-22 15:17:39 -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 b089b745fa feat(ui): page radio and system status 2026-09-21 15:35:46 -07:00
ripplebiz 65737d48f4 Merge pull request #3402 from meshcore-dev/sensor-improvements
Sensor improvements
2026-09-21 19:03:18 +10:00
Kevin Le aa1593340e Added RXPSv2 for sensor firmware 2026-09-19 08:00:55 +07:00
mikecarper 9610cc4245 Add secure management reports and honor GPS off 2026-09-16 20:42:30 -07:00
mikecarper 4139e7e24d Merge meshcore-dev dev with companion and board integrations 2026-09-15 20:51:43 -07:00
mikecarper 4fb7b83ac9 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 24f707c7a0 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 a07f39c6dd Add per-profile TX routing and bridge filtering
Persist Companion TX preferences per contact and channel. Default repeater,
room, and sensor replies to both active TX profiles, with a reply-only force
option for an RX-only secondary profile. Track both reply copies before a
temporary-radio handoff and account for OTA copies under queue backpressure.

Add bridge/crossover filter modes and the third built-in wardriving filter,
plus compact filter CLI syntax, documentation, and CI coverage.

Fix quoted target names being interpreted as slot/key selectors, partial
recovery of invalid saved reply settings, filter suspension during tempradio2,
and unnecessary packet allocation while OTA traffic is throttled.

Validation: 1,477 native tests, 52 Python integration tests, 29 filter UI tests,
and five firmware builds covering ESP32, nRF52, and STM32 passed.
2026-09-15 01:58:43 -07:00
Scott Powell 3819a0bd89 * subscribe response now returns expiry_secs (not timestamp) 2026-09-15 17:17:48 +10:00
Scott Powell bc8ccefafe * fix for telemHasChanged() 2026-09-14 20:23:10 +10:00
mikecarper 088c88507a Add two-profile LoRa operation and radio CLI regression coverage
Implement radio2, tempradio2, radioat2 and tempradioat2 across Mesh roles,
with RX-only/RX+TX operation, optional preambles and persistent cross-TX
policy. Keep temporary OTA traffic on its profile by default and maintain
independent retry ownership and backoff for each profile.

Use slow-first receive scanning with 4.8-symbol visits and automatic
preambles rounded up in steps of eight. Preserve pending RX, restore power
saving on exit, and discard work bound to changed or expired profiles.

Restore the infrastructure path.hash.mode setter and report unsupported
extra.sf settings consistently. Add CLI, scheduling, scan and retry tests,
setup documentation, and the V4/XIAO hardware validation results.

Validation: 1,422 native tests, eight KISS tests, 63 final focused profile
tests, 18 checks from the staged source, sanitizer-enabled OTA transfers,
and builds for V4 Mesh roles, Full XIAO Companion and nRF52 T1000-E.
Hardware checks cover reception, cross-TX policy, expiry, reboot and OTA
discovery while receiving main-channel adverts.
2026-09-13 08:25:00 -07:00
Scott Powell df82dc2339 * min_deltas now mandatory 2026-09-13 11:05:38 +10:00
Scott Powell d69ae98b5a * telemHasChanged() mod, so that only _specified_ min_delta values are considered. 2026-09-12 16:53:45 +10:00
mikecarper 1a074116e8 Merge PR #7 with reviewed ExpressLRS power and memory fixes
Integrate ExpressLRS TX module support and its stacked ESP32 heap changes.
Use the approved Linkflow calibration (17-30 dBm), preserve the PA drive
and output path after radio recovery, and keep LoRa OTA enabled.

Preserve stored ACLs and filters on allocation failure, release owned
client/filter buffers, service heap OTA contexts on Companions, release
self-serving workspaces after TempRadio, and reset staged-resume state
when a context is released. Keep manual staging and active operations
alive. Account for all moved allocations in the runtime RAM gate.

Validation: 1,393 native cases; radio-power, heap-context, ACL persistence,
shared-queue transfer, display/inbox, radio receive, and memory regressions.
Firmware builds passed for Linkflow, Heltec V2 Companion, T-Beam MQTT
repeater, Heltec V4 R8 MQTT repeater, RAK4631 repeater, and Indicator Full.
Physical verification awaits access to the currently offline lab Pi.
2026-09-10 22:06:16 -07:00