Commit Graph
616 Commits
Author SHA1 Message Date
mikecarper 0938da5ea6 Default all USB Companions to ASCII across host sessions 2026-09-13 17:13:51 -07:00
mikecarper 794cf15395 Preserve Full USB packet logging and verify packaged firmware 2026-09-13 15:34:00 -07:00
mikecarper e183101afe Add Companion tempradio2 cross-transmit instructions to picker 2026-09-13 14:04:48 -07:00
mikecarper 1761c20f22 Add Companion picocom connection and recovery instructions to picker 2026-09-13 13:44:43 -07:00
mikecarper db3991c154 Document completed 1.17.1.6 release and repaired profiles 2026-09-13 13:18:21 -07:00
mikecarper a7f58dd437 Refresh 1.17.1.6 picker metadata and preserve capacity directions 2026-09-13 12:51:12 -07:00
mikecarper fff92f0588 Report portable-slot exclusions alongside release failures 2026-09-13 11:31:05 -07:00
mikecarper 1274956f86 Keep Full Tracker MQTT builds within internal RAM budget 2026-09-13 11:00:02 -07:00
mikecarper 283acd27f5 Repair constrained nRF52 release builds and retain size-failure diagnostics 2026-09-13 09:37:50 -07:00
mikecarper 2dcc8ac6d7 Publish qualified partial release matrices with explicit failure reports 2026-09-13 09:19:17 -07:00
mikecarper 306feebe6d Document 1.17.1.6 release and validation scope
Firmware Builder / create-release (push) Canceled after 0s
Firmware Builder / build (push) Canceled after 0s
Firmware Builder / generate-build-matrix (push) Canceled after 0s
Build Repeater Firmwares / build-repeater-firmwares (push) Canceled after 0s
2026-09-13 08:46:22 -07:00
mikecarper 3b6c894ee2 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
mikecarper b87e86e10f Add SX1262 scan harness and mixed-profile hardware results 2026-09-12 21:06:58 -07:00
mikecarper 12a3a467e1 Make repeater RX watchdog MeshCore-aware and tune temporary radio
Use RX-only radio recovery and feed the repeater reboot watchdog after MeshCore parsing. Default to 24 hours, apply temporary watchdog and advert intervals in RAM, and report temporary durations as days, hours, and minutes. Add regression coverage and an ESP-NOW bridge setup guide.
2026-09-11 22:10:13 -07:00
mikecarper bc0fb2c335 Record PR 7 review and Indicator hardware validation 2026-09-10 22:25:30 -07:00
mikecarper 01cc7b8ae4 Separate Companion message history from pending inbox
Default to retained history with a separate pending count, and add persistent display.inbox CLI modes for history, pending, and unread. Preserve browsing while clients are connected and show the active USB or Bluetooth connection.

Fixes #5
2026-09-10 21:42:57 -07:00
mikecarper a814a00ce7 Add configurable battery and USB display behavior
Persist separate display modes and timeouts in seconds for battery and USB power, expose four controls in WebConfig and CLI, and apply one shared policy across display-equipped roles.

Detect R8 external power from a USB host or calibrated battery voltage above 4.21 V, with cached sampling and hysteresis. Add policy, persistence, browser, and R8 power-detection regression coverage.
2026-09-10 21:03:15 -07:00
mikecarper d83153e935 Restore clearing all neighbors with an empty prefix
Accept the upstream empty-prefix neighbor.remove command after whitespace normalization while preserving invalid-key checks. Cover repeater and room-server removal paths with regression tests.

Fixes #8
2026-09-10 19:33:54 -07:00
mikecarper 2bc6847a1a Consolidate duplicate Full infrastructure builds 2026-09-10 19:33:54 -07:00
mikecarper d6869b0af9 Default Cascade profiles to CAD off 2026-09-10 17:44:55 -07:00
mikecarper 53aa72a48b Clarify sampling and recovery mode check cadences 2026-09-10 14:22:12 -07:00
mikecarper 0ed8167d02 Reject standby RSSI during noise calibration 2026-09-10 14:17:51 -07:00
mikecarper 2b66e8284c Keep sustained off-SF traffic out of the background noise estimate
Hardware captures show that a median and lower quartile can follow the interferer while the 12.5th percentile retains the quiet floor. Use that estimate with existing weighting and bounded rise recovery. Wait for settling after every RX re-arm and allow thirty seconds for a complete idle-sample block.

Add captured-sample, low-tail limitation, and real CLI setter regressions. Preserve RXPS intent when parsing an off command with trailing whitespace. All 162 native cases and 24 Python regressions pass.
2026-09-10 13:52:21 -07:00
mikecarper 581b82fa51 Merge PowerSaving-v17 and harden noise calibration and RX recovery
Port the measured RXPS model without changing Cascade wire preambles or automatically enabling experimental levels. Use a spaced weighted median with bounded calibration windows, preserve packet ownership across CAD, and check actual SX126x receive mode before recovery.

Preserve Cascade sleep and radio fixes, integrate the new sensor and board profiles, and correct BSEC script inheritance and the MKE UART pin conflict. Native regressions, production-method/SPI harnesses, and ESP32, nRF52, and STM32 builds pass. Hardware comparison and fault-injection validation are recorded privately.
2026-09-10 13:19:22 -07:00
mikecarper 3cd23f6175 Escalate coding rate on hop-zero flood retries 2026-09-10 11:17:58 -07:00
mikecarper 7dd48ff0e2 Allow authenticated LoRa admins to read paged ACLs 2026-09-10 07:40:34 -07:00
mikecarper 00163f2c2b Add CLI listings for rate-limited flood adverts
List limited public-key prefixes, reasons, and wait times in bounded pages, with full-key details for targeted clearing. Queries preserve quotas and recovery timers.

Validated with 71 native tests, Full repeater and room-server builds, and a 909.500 MHz RF test covering 10 forwarded adverts, 2 blocked adverts, and forwarding after targeted clear.
2026-09-10 04:18:17 -07:00
mikecarper 602dbfe3d9 Fix inherited nRF52 USB READY hang in build-local TinyUSB driver 2026-09-10 02:37:15 -07:00
mikecarper 14796e6573 Fix touchscreen navigation and add runtime touch diagnostics 2026-09-09 17:38:41 -07:00
mikecarper 23fe7c8a9d Limit flood advert forwarding and persistent abuse 2026-09-09 17:16:00 -07:00
mikecarper 27ff4b9063 Fix PIN spacing and keep message navigation hints visible
Use measured text rows for companion and repeater layouts, retain the V4 6px footer, and add overlap and navigation regressions. Correct the MQTT logging sleep documentation contract test.
2026-09-09 10:20:22 -07:00
mikecarper f778d14c76 Add multi-tap channel navigation for messages 2026-09-08 22:47:15 -07:00
mikecarper c690f65376 Allow frequency changes over authorized LoRa CLI 2026-09-08 22:07:30 -07:00
mikecarper b9138c13b2 Allow local CLI maintenance across direct connections 2026-09-08 21:44:57 -07:00
mikecarper 99ff7bd693 Allow explicit contact imports with discovery filters enabled 2026-09-08 20:07:25 -07:00
mikecarper d178cf1474 Share the Companion terminal with the WiFi console 2026-09-08 19:48:15 -07:00
mikecarper cb79dcd4e3 Preserve MQTT settings across slot changes 2026-09-08 18:55:00 -07:00
mikecarper aa8caa4ed2 Unify device controls and restore the WiFi console 2026-09-08 18:36:23 -07:00
mikecarper b2ce8a8c0a Add spacing to reader button hints 2026-09-08 17:38:45 -07:00
mikecarper 1b3e5daa02 Add button navigation hints to the hidden John reader 2026-09-08 17:31:18 -07:00
mikecarper 05fd0a4794 Merge origin/keymindCascade with companion button hints 2026-09-08 17:24:27 -07:00
mikecarper 74d87c8d13 Show button controls on companion home and message screens 2026-09-08 17:11:43 -07:00
mikecarper ac694d536e Place setup AP status below the WiFi address 2026-09-08 16:56:10 -07:00
mikecarper 42a8795db6 Show connected WiFi address on the V4 setup screen 2026-09-08 16:47:19 -07:00
mikecarper 4c1ed2593a Fix bootloader version discovery and tolerate legacy OTA probes 2026-09-08 16:17:43 -07:00
mikecarper 846282adf4 Use native display resolution and adaptive typography 2026-09-08 16:02:16 -07:00
mikecarper 0058f72192 Offer verified OTA source contact import with explicit approval 2026-09-08 15:33:19 -07:00
mikecarper 8f5614c958 Merge remote-tracking branch 'origin/keymindCascade' into keymindCascade 2026-09-08 14:33:02 -07:00
mikecarper 0651e1cdb8 Record 6px font build and V4 hardware results 2026-09-08 14:31:36 -07:00
mikecarper 4112671a75 Read Full Companion source identity from USB and TCP banners 2026-09-08 14:29:02 -07:00