Commit Graph
1792 Commits
Author SHA1 Message Date
mikecarper 5e25faa3d0 Add station-only WiFi UDP bridge with eight authenticated peers 2026-10-22 12:20:43 -07:00
mikecarper 281f1a5199 Add runtime RS232 bridge diagnostics and wired link probes 2026-10-22 11:51:56 -07:00
mikecarper 14682de00e Add runtime ESP-NOW bridge diagnostics and link probes 2026-10-22 11:30:28 -07:00
mikecarper 9b70827d03 Add opt-in bounded ESP32 radio timing capture 2026-10-22 03:46:43 -07:00
mikecarper d08e5f51ef Show the world map when no node locations are available 2026-10-22 01:15:07 -07:00
mikecarper 25a98ae9f5 Allow MeshPocket map zoom without node locations 2026-10-22 01:02:17 -07:00
mikecarper f6747ae55c Fix MeshPocket panel refreshes and match the Reader font to the UI 2026-10-22 00:47:36 -07:00
mikecarper 882c927185 Clean MeshPocket page changes and extend e-paper idle timeout 2026-10-22 00:21:36 -07:00
mikecarper 5d31a839c5 Add MeshPocket message board and worldwide map 2026-10-21 23:57:14 -07:00
mikecarper 7d0709bf03 Park paused UART sessions and timestamp ESP32 sleep calls 2026-10-21 23:24:07 -07:00
mikecarper bee8cf7c4e Fill Reader pages with numbered subsections 2026-10-21 22:22:52 -07:00
mikecarper 6236eec386 Reject torn timezone records colliding with CPU metadata 2026-10-21 22:16:52 -07:00
mikecarper 6e599d1709 Add ESP32 clock selection and bounded power test controls 2026-10-21 21:06:42 -07:00
mikecarper f8b5b8301e Zero pad fixed-width Companion channel names in USB and BLE replies 2026-10-21 19:22:04 -07:00
mikecarper 61eecbd971 Enable reversible ESP32 BLE shutdown and bounded radio2 CPU sleep 2026-10-21 17:53:57 -07:00
mikecarper 9aa7974567 Enable SolarXiao Room Server power profiles and late-detection history 2026-10-21 17:02:01 -07:00
mikecarper e6b08cafab Add explicit SolarXiao Advanced carrier selection and capability reporting 2026-10-21 16:18:18 -07:00
mikecarper 70b8db9388 Scope native SolarXiao power controls to qualified repeater targets 2026-10-21 15:32:23 -07:00
mikecarper 2dcc1caccb Add native SolarXiao MPPT and battery telemetry and controls 2026-10-21 15:25:53 -07:00
mikecarper 6c3bf00691 Fix unit test fixtures and fit constrained firmware builds 2026-10-21 14:09:51 -07:00
mikecarper 329ec3848c Expose radio2 profile in optional repeater discovery trailer 2026-10-21 13:36:42 -07:00
mikecarper f68d4ca544 Add recent repeater login history with short key prefixes 2026-10-21 13:31:03 -07:00
mikecarper c433b40e51 Default repeater guest login off and expose guest sessions 2026-10-21 11:11:07 -07:00
mikecarper 53c7bb141a Add MediaMesh radio2 presets and automatic media routing 2026-10-21 10:35:14 -07:00
mikecarper c37742152d Fix reply bounds and portable browser test fixtures 2026-10-21 04:30:03 -07:00
mikecarper db1c4704e0 Fix firmware budget regressions and flood alias delimiters
Share nRF52 checked-record reads and command-family lookups without changing
storage formats, error protection, fleet authorization, or delegated scopes.
Use the existing bounded Merkle proof workspace for qualified ESP32 repeaters
while retaining source capacity, wire format, and every enabled feature.
Restore advert tab/CRLF delimiters and expose nested qualification build logs.

Validation: all 1932 native CI test cases; exact canonical RAK4631 Full,
Wio-E5 Mini, Station G3 Full MQTT, and Wireless Tracker Full wrappers;
linked RAK crypto/workspace checks and retained Reader code equivalence;
focused persistence, authorization, source-proof, and RAM policy regressions.
2026-10-21 03:02:46 -07:00
mikecarper 953ad6defb Extend forwarding filters and save moderation rules atomically 2026-10-21 01:10:12 -07:00
mikecarper 631c670ba7 Announce ready OTA catalogs through the existing data connection 2026-10-21 00:06:57 -07:00
mikecarper 300b889bca Add saved OLED controller selection on RAK boards
Allow Auto, SSD1306 or SH1106 through display.controller on display-enabled RAK4631 and RAK3401 roles. Persist the choice before restart without changing the active screen policy, and let saved Auto override legacy build defaults.

Share checked settings I/O and the existing atomic writer to keep Full Companion within its flash boundary while retaining features and existing record formats. Cover save failures, backup recovery, startup selection and ambiguous OLED replies.

Validation: 35 targeted host tests passed. RAK4631 Full Companion and RAK3401 unified LoRa OTA repeater build and package checks passed with release-length version strings.
2026-10-20 21:14:49 -07:00
mikecarper 2fbc075aaa fix: bound Companion help writes and refresh runtime fixtures 2026-10-20 12:31:48 -07:00
mikecarperandR0ck f57dffa2be Add saved Companion sound and vibration controls
Default fresh settings to sound off and vibration on, and keep existing saved choices. Apply changes immediately across all three UIs and make custom notification patterns respect the same mute controls.

Keep the Wio Mini Companion within its existing flash boundary by storing its LED switch in a reserved preference byte and shortening CLI help without removing commands. Add coverage for live output changes, persistence, and storage failures.

Adapted from https://github.com/meshcore-dev/MeshCore/pull/3603.

Co-authored-by: R0ck <develop@hectospark.co.uk>
2026-10-20 09:33:43 -07:00
9d52b1fd68 Add saved LED controls across supported boards
Add get leds and set leds on|off for Companion, repeater, room server and
sensor builds. Preserve the setting across reboots and cover GPIO, RGB,
Bluetooth, notification and expander indicators without changing radio
amplifier controls or screen backlights.

RAK Companions blink while advertising and keep the Bluetooth LED off once
connected, including late timer callbacks.

Adapted from meshcore-dev/MeshCore#3605 and #2694.
Validated with host regressions and firmware builds for SenseCAP Solar,
RAK4631, T096, Heltec V4, T-Beam, Xiao S3, Pico W and Wio E5 Mini.

Co-authored-by: R0ck <develop@hectospark.co.uk>
Co-authored-by: Nick Dunklee <nick@dunklee.org>
2026-10-20 08:59:39 -07:00
mikecarper 0fc7f377aa fix(t1000): give USB data priority over Bluetooth 2026-10-20 07:52:37 -07:00
mikecarper 40a4161782 fix: keep unavailable radios out of identity and settings recovery 2026-10-19 17:44:48 -07:00
mikecarper 61dc5ca3f1 Wake XIAO QSPI flash and preserve access after failed resets 2026-10-19 13:25:04 -07:00
mikecarper d34d84460b Warn on radio2 spectral overlap and suggest a clear center 2026-10-19 10:44:39 -07:00
mikecarper c604a1a165 Pack unchanged Reader text more tightly for Full firmware 2026-10-18 21:26:44 -07:00
mikecarper c2998ae8d9 Preserve regulator recovery through planned resets and storage failures 2026-10-18 21:17:44 -07:00
mikecarper c4a1d485ff Add saved regulator modes and battery-gated crash recovery 2026-10-18 21:10:58 -07:00
mikecarper 9c78ccde57 Unify optional hardware variants and add runtime R8 TFT rotation 2026-10-18 20:25:13 -07:00
mikecarper 1ce3f0cdd7 Make T114 screen detection the default firmware and picker choice 2026-10-18 16:20:27 -07:00
mikecarper 22ab02caf7 Fix G3 gain transitions, slot commands and radio restore 2026-10-18 14:29:19 -07:00
mikecarper cd02e55824 Share the saved admin password across ESP32 management services
Use the committed node credential for setup WiFi, WebConfig and browser OTA. Add persistent ESP32 WiFi Companion management credentials without changing preferences layouts, revoke stale browser sessions on rotation, retain scoped save receipts, and coordinate credential changes with flash uploads. Keep external-service credentials and trusted TCP protocol compatibility independent. Update live join QR codes, failure handling and documentation.

Validated 51 native cases, 158 related host and browser methods, and serial Full V4 Companion, Station G3 Repeater, ESP32-C6 Room Server and V4 Sensor firmware builds.
2026-10-18 13:09:48 -07:00
mikecarper 6ce784bbd6 Fit all STM32 Companions with checked fractional preferences
Stage STM32 preference prefixes and checked footers in one atomic image, reject declared tails that encounter premature EOF, and share the typed CLI rollback helper. Use the proven Wio Mini code-layout flags on Wio E5 and Tiny Relay without changing features or memory boundaries. All four STM32 targets and RAK4631 Full pass at the full 1.18.0.1 release version length.
2026-10-18 09:11:51 -07:00
mikecarper 59b0ab93d0 Keep fractional timezones within constrained flash budgets
Deduplicate validation and preserve the published preference bytes and transactional saves. Correct Ikoka Handheld Companion flash bounds and document QSPI Room migration. Qualify STM32 and RAK4631 at the full 1.18.0.1 release version length.
2026-10-18 08:46:20 -07:00
mikecarper 7088096abf Merge upstream dev through 428a95c64
Integrate fractional Companion timezones and conditional Bluetooth pages while preserving the existing preference byte layout, transactional saves, and Full transport selector. Add migration, rollback, invalid-value, and UI profile regressions.
2026-10-18 08:30:50 -07:00
mikecarper 48bad8ddfb Reduce room board recovery stack use under sustained reads 2026-10-18 00:00:47 -07:00
mikecarper f88b9e65ed Expose broker acknowledgment diagnostics on Full Companion 2026-10-17 23:54:15 -07:00
mikecarper 68f45e5cf5 Fix room browser stack overflow and bound response bodies 2026-10-17 23:31:24 -07:00
mikecarper 040182e8ec Merge remote-tracking branch 'origin/pr-21' into codex/integrate-open-prs-17-21 2026-10-17 21:13:27 -07:00