Commit Graph
1132 Commits
Author SHA1 Message Date
mikecarper 73c5f572eb Apply busy radio settings and recover service starts automatically
Save valid busy RX, fast-switch and Companion tuple changes once, then
apply the latest accepted intent at a safe radio gap. Preserve checked-save
rollback, runtime RXEN intent, TempRadio ownership and exact remote reply
delivery. Repair failed preamble compensation without hiding uncertain saves.

Retry WebConfig, MQTT and NimBLE startup failures automatically. Preserve
explicit off choices, OTA ownership and the latest WiFi credentials through
cooperative shutdown. Add regression coverage and update command guides.

Validation: focused host transaction, rollback, ownership and lifecycle suites;
Full RAK4631, Heltec V4 R8 TFT and RC32 packages; representative room, sensor,
LR1110, LR2021, SX1276, STM32WL and ESP-NOW builds. Linked RAK crypto and OTA
workspace checks pass; its complete OTA image uses 712644/712704 bytes.
2026-10-25 15:20:55 -07:00
mikecarper fb73e3afac Add automatic red and black night mode for color screens
Default to one hour after sunset through sunrise, using fresh cached GPS or recent direct RF neighbor locations. Provide saved CLI and WebConfig controls with a small integer solar approximation and no additional framebuffer.
2026-10-25 14:41:14 -07:00
mikecarper 65928aae95 Apply saved TX power automatically across firmware roles 2026-10-25 14:08:15 -07:00
mikecarper 59445066fe Expose Companion RXPS settings through the app console 2026-10-25 12:05:39 -07:00
mikecarper 8dfdba3f6d Defer busy Companion TX-power updates without interrupting RX
A settings save could reach the power setter while RX, TX, duty cycling or a
profile transition owned the radio, returning BAD_STATE after earlier settings
had already saved. Distinguish busy admission from a hardware rejection and
reuse the existing command route, storage and three-second deadline for power.
Acknowledge only after hardware acceptance and a successful preference save.

Skip hardware work for verified unchanged power. Invalidate that verification
after failed writes or radio initialization, retaining rollback and exclusive
beacon/Morse ownership. Keep the existing firmware memory limits and features.

Cover retries, captured routes, timeout/rollover, disconnect, partial writes,
failed saves and recovery. Keep ESP-NOW/simulation adapters compatible and add
ESP-NOW Companion compilation to the existing sequential smoke job.
2026-10-25 11:57:03 -07:00
mikecarper af69918094 Honor saved WebUI off during unconfigured boot setup
An enabled MQTT bridge without a saved SSID forced WebConfig back on at boot,
even after set webui off. Its setup AP also suspended an enabled ESP-NOW bridge.

Use first-time MQTT setup as the default only when no WebUI choice is saved.
Apply the saved on/off setting afterward in Repeater and Room Server. Preserve
first-time provisioning and explicit starts.

Add executable boot regressions for both roles with unset, on and off WebUI
settings and configured/unconfigured WiFi. Update setup and picker guidance.
2026-10-25 09:07:47 -07:00
mikecarper 6bcedc7344 Merge PR #24: report Companion receive profiles
Pull in https://github.com/mikecarper/MeshCore/pull/24.

Preserve reserved fallback bytes for single-profile operation and UDP ingress. Clarify the protocol documentation and validate both UDP-enabled and UDP-disabled builds of the receive-profile helper.

Validation: receive-profile tags, response bounds, UART sessions, UDP packet origins, and bridge ingress tests passed.
2026-10-25 01:01:17 -07:00
mikecarper 4c94d6b4e4 Default Cascade Companions to two-byte path hashes 2026-10-24 23:52:54 -07:00
mikecarper 4fd3358a45 Add saved node and region discovery response switches 2026-10-24 20:37:51 -07:00
mikecarper 1ab4091a05 Remove Reader from the release feature overview 2026-10-24 19:43:31 -07:00
mikecarper 30d71aa26f Include WiFi UDP in the combined bridge feature guide 2026-10-24 19:38:50 -07:00
mikecarper 4a3a859b9c Open the full feature list from prominent release links 2026-10-24 19:27:19 -07:00
mikecarper b9c0ede82a Refresh LoRa OTA guides for 1.18.0.1 2026-10-24 19:12:11 -07:00
mikecarper 86463059c1 Add collapsed overview of features beyond mainline MeshCore 2026-10-24 19:08:40 -07:00
mikecarper da08008893 Clarify 1.18.0.1 changes and firmware download choices 2026-10-24 18:41:29 -07:00
Claude 0e756bf24a Companion: say which profile raw and channel data arrived on
MeshCore Open TAK labels a MediaMesh photo or voice clip "Received via
MediaMesh", "via main mesh" or both. Wadamesh standalones tell the
app the profile in a frame byte stock firmware leaves reserved; a
Cascade companion left it unset, so the app showed nothing.

While radio2 is on (rx or rxtx):
- PUSH_CODE_RAW_DATA (0x84) byte 3: 0xA0 primary, 0xA1 radio2
  (stock 0xFF).
- RESP_CODE_CHANNEL_DATA_RECV (0x1B) byte 2: the same (stock 0).
With radio2 off, or for a packet from the UDP bridge, the stock values
stay, so existing clients see no change.

Test: test/test_companion_rx_via.py (in run-unit-tests); the two
harnesses that compile these handlers get a stub.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011i5tJJtj95MB4oUgncCUe5
2026-10-24 17:31:53 -07:00
mikecarper 042cdce888 Hide separate bootloader downloads when firmware includes one 2026-10-24 15:35:40 -07:00
mikecarper 3a2d3ecf7a Distinguish T-LoRa picker profiles and check all board choices 2026-10-24 15:31:14 -07:00
mikecarper e0028d9630 Fix RAK firmware picker bootloader variants 2026-10-24 15:23:09 -07:00
mikecarper ec478c30ed Publish 1.18.0.1 release catalogs and bootloader picker choices 2026-10-24 13:58:25 -07:00
mikecarper 98c2858087 Warn admins on login while the default password is unchanged 2026-10-24 01:05:49 -07:00
mikecarper 0d93f73837 Include OTAFIX bootloader variants in complete release builds 2026-10-23 22:04:20 -07:00
mikecarper bbe29fbf95 Add saved telemetry packet type controls 2026-10-23 21:32:47 -07:00
mikecarper 553957fff8 Space telemetry batch packets 90 seconds apart 2026-10-23 19:52:01 -07:00
mikecarper cf98125c65 Record Full build qualification and outstanding witness recovery 2026-10-23 18:57:57 -07:00
mikecarper 590d0258e5 Refresh preference test API and hosted documentation links 2026-10-23 18:45:04 -07:00
mikecarper 1f1d98eed8 Cover Full Meshtext board families in CI and record RF qualification 2026-10-23 18:14:58 -07:00
mikecarper 170c1761d0 Merge remote-tracking branch 'origin/keymindCascade' into keymindCascade 2026-10-23 18:08:25 -07:00
mikecarper ab5de10e79 Qualify Full Meshtext builds and share cold storage on constrained companions 2026-10-23 18:08:25 -07:00
mikecarper fc1e721a84 Scope automatic bootloader updates to each firmware image 2026-10-23 17:52:16 -07:00
mikecarper 127d1bec24 Enable Meshtext on all supported Full Companion boards 2026-10-23 17:41:12 -07:00
mikecarper 3226e208bf Automatically check embedded bootloader after 70 seconds with reboot protection 2026-10-23 17:34:57 -07:00
mikecarper 881d8e58a5 Simplify embedded bootloader updates and skip current versions 2026-10-23 17:16:32 -07:00
mikecarper 9da754b137 Support SenseCAP Solar P1 bootloader identity separately from XIAO 2026-10-23 16:51:34 -07:00
mikecarper d808d964d2 Add nRF52 Repeater and Room variants with embedded OTAFIX 2.4.12 2026-10-23 16:36:18 -07:00
mikecarper 9b0e013f4b Merge PowerSaving-v18 into keymindCascade
Integrate the ESP32 power-saving core and RXPS recovery/status updates while preserving radio2, telemetry and saved settings.
2026-10-23 16:11:49 -07:00
mikecarper 84cae8a774 Show last completed telemetry transmission age 2026-10-23 15:12:42 -07:00
mikecarper ea4b53ceee Enable direct-route echo retries for telemetry snapshots 2026-10-23 15:00:42 -07:00
mikecarper 437afbdda1 docs: use two-day telemetry analyzer lookback 2026-10-23 14:29:46 -07:00
mikecarper 8912576eab docs: remove telemetry analyzer size restriction 2026-10-23 14:19:14 -07:00
mikecarper e63b329a80 docs: add seven-day analyzer telemetry filter 2026-10-23 14:14:44 -07:00
mikecarper 837847f891 Record SPI9 hardware checks and fix idle sleep test fixture 2026-10-23 13:18:04 -07:00
mikecarper d6853f4521 Add saved 9 MHz alias for supported 8.889 MHz SPI clocks 2026-10-23 12:54:54 -07:00
mikecarper 30ee411e14 Record V3 and V4 SPI clock switching comparison [skip ci] 2026-10-23 12:39:40 -07:00
mikecarper fb1c8acf7b Record successful compact STM32 firmware builds 2026-10-23 11:28:32 -07:00
mikecarper 6811a9d909 Clarify RXPS watchdog scope in saved control results 2026-10-23 11:25:33 -07:00
mikecarper 73789a64e8 Pack STM32WL Companion help while retaining every command 2026-10-23 11:25:33 -07:00
mikecarper cebd0fdbeb Fix hosted documentation links and record linked Reader validation 2026-10-23 11:04:11 -07:00
mikecarper 901a8c4cd5 Record saved radio controls and physical SPI validation 2026-10-23 10:52:29 -07:00
mikecarper 4c0f2acf64 Merge remote-tracking branch 'origin/keymindCascade' into keymindCascade 2026-10-23 10:41:27 -07:00