Commit Graph
1186 Commits
Author SHA1 Message Date
mikecarper c95d227c83 Keep displays awake for two minutes on first installation 2026-10-28 18:31:01 -07:00
mikecarper d270cd611a Add split RX and TX repeater modes with source-based bridge routing 2026-10-28 15:34:42 -07:00
mikecarper 2fa1b63e14 Allow bridge ingress to target radio2 without primary fallback 2026-10-28 15:10:17 -07:00
mikecarper 67009e0d1e Add ESP32 app slot selection to the CLI 2026-10-28 14:03:31 -07:00
mikecarper 1d09ea4bde Expose board-aware setting capabilities and saved primary preamble 2026-10-28 12:52:48 -07:00
mikecarper 4518f3db81 Add daylight and daily operating hours to power scheduling 2026-10-28 12:09:40 -07:00
mikecarper 37b294dfd1 Record 1.18.0.2 Mercerwood radio checks 2026-10-28 10:23:45 -07:00
mikecarper c9acec474b Record final emergency power and constrained-profile build checks 2026-10-28 05:07:58 -07:00
mikecarper e86710eda2 Document emergency power controls and record three-board wake tests 2026-10-28 03:40:25 -07:00
mikecarper dfef59331c Merge remote-tracking branch 'origin/keymindCascade' into keymindCascade 2026-10-28 02:33:24 -07:00
mikecarper b18ba8288a Report the running firmware USB mode without disturbing logging 2026-10-28 02:14:11 -07:00
mikecarper f4f9453248 Suspend the RAK3401 amplifier during emergency sleep 2026-10-28 02:12:04 -07:00
mikecarper 0c7dec9f19 Add an hourly emergency battery sleep schedule for infrastructure nodes 2026-10-28 02:06:58 -07:00
mikecarper 744692fb93 Configure MediaMesh radio2 presets when joining Companion channels 2026-10-28 00:05:10 -07:00
mikecarper 05679aa741 Add a saved override to keep USB packet logging continuous 2026-10-27 18:47:05 -07:00
mikecarper b3df8bfd3f Quiet USB packet logs for five minutes after console commands 2026-10-27 18:19:19 -07:00
mikecarper ff1ccacb2a Support LR1121 RX duty-cycle power saving 2026-10-27 14:34:55 -07:00
mikecarper eab29a12cd Merge remote-tracking branch 'origin/keymindCascade' into keymindCascade 2026-10-27 14:11:07 -07:00
mikecarper 6ac2ec357a Let a new trace replace the previous attempt on its connection 2026-10-27 14:08:50 -07:00
mikecarper 61b584f946 Extend PSRAM offload to supported ESP32 boards after startup 2026-10-27 14:06:32 -07:00
mikecarper 2a6d59474d Report saved Bluetooth PIN settings to Companion apps 2026-10-27 13:50:40 -07:00
mikecarper 85fd38290b Show first-boot key progress with accumulating e-paper dots 2026-10-27 13:26:28 -07:00
mikecarper 74c03cb30f Move G3 repeater policy tables and MQTT WebSocket buffers to PSRAM 2026-10-27 13:14:28 -07:00
mikecarper a6d472ff9d Fix MQTT host test warnings and RAK report link 2026-10-27 12:46:09 -07:00
mikecarper 88bfaebb50 Reject incomplete WebConfig confirmations under memory pressure 2026-10-27 11:58:39 -07:00
mikecarper cefda42b53 Merge remote-tracking branch 'origin/keymindCascade' into keymindCascade 2026-10-27 11:51:32 -07:00
mikecarper 24e7ab1eaf Merge latest changes and retain TLS headroom during MQTT recovery 2026-10-27 11:45:03 -07:00
mikecarper 08b1c8826c Save RAK repeater flash while retaining fast field arithmetic
Use compact scalar crypto, reviewed GNSS version parsing and shared CLI reply copies for RAK3401/RAK4631 repeaters. Preserve keys, protocols, commands and configured capacities.

Both Reduced images save 11,580 bytes. SWD measurements on the RAK3401 found scalar-only signing still near 50.9 ms and key exchange near 38 ms. Keep compact field arithmetic off: its extra 4.3 KiB saving adds about a quarter second and delays radio servicing.

Validate Full and Reduced production OTA packages on both boards, focused crypto/GPS/CLI tests, and linked ARM crypto outputs. Include the RAM benchmark harness and scoped results. No live RF packet-loss qualification is claimed.
2026-10-27 11:41:32 -07:00
mikecarper 308fec1162 Keep only local OTA target names in reduced RAK builds 2026-10-27 10:45:24 -07:00
mikecarper d1a2fd74ba Protect MQTT publishing headroom and credit replies before disconnect 2026-10-26 23:48:23 -07:00
mikecarper 2be068cafa Merge remote-tracking branch 'origin/keymindCascade' into keymindCascade 2026-10-26 23:41:20 -07:00
mikecarper 7d413a6806 Fit direct OTA administration into RAK4631 Full 2026-10-26 23:41:20 -07:00
mikecarper 71e42b2e62 Manage MediaMesh forwarding region with saved radio2 profiles 2026-10-26 22:15:37 -07:00
mikecarper d64a4ef234 Preserve unread messages when the OTA wizard borrows queue space 2026-10-26 21:45:18 -07:00
mikecarper 02d15876e6 Fix compatible release selection and automatic delta preparation 2026-10-26 21:36:06 -07:00
mikecarper 735ab4b9be Add menus for GitHub firmware and OTA preparation 2026-10-26 20:50:08 -07:00
mikecarper 0a3a72984a Keep direct OTA support within each Companion's flash budget 2026-10-26 20:17:54 -07:00
mikecarper 4afad09048 Add a guided USB-to-LoRa updater for repeaters and companions 2026-10-26 19:46:05 -07:00
mikecarper f1feed086b Merge remote-tracking branch 'origin/keymindCascade' into keymindCascade 2026-10-26 18:36:04 -07:00
mikecarper 2369a3d28c Keep native Espressif USB boot control lines released in host tests 2026-10-26 18:17:30 -07:00
mikecarper 195dca93e4 Add collapsible differential OTA example for Ikoka Stick 2026-10-26 18:16:15 -07:00
mikecarper ec4aba8a1c Reserve Full host KISS codec RAM without reducing existing budgets 2026-10-26 17:53:39 -07:00
mikecarper 6f5acf4fbd Document Pi-connected Station G2 OTA to an Ikoka Stick 2026-10-26 17:52:58 -07:00
mikecarper 1aef6de288 Reserve USB KISS framing before normal parsers consume it 2026-10-26 17:49:20 -07:00
mikecarper 264a5a8b34 Preserve KISS ownership and wait for initial radio2 readiness 2026-10-26 17:23:38 -07:00
mikecarper cb3c92a8da Add saved raw radio2 KISS host sessions to Full firmware 2026-10-26 16:57:49 -07:00
mikecarper 8a8c80ee6a Unblock LR2021 retunes and add saved crystal calibration
Repeated preamble/header activity can keep a requested primary or TempRadio
change busy indefinitely. Bound unfinished-RX admission for accepted LR2021
changes while preserving completed packets, TX, BUSY and exclusive owners.
Ordinary scans and CAD keep their existing admission rules. Expose the failing
stage and native status through get radio.apply.

Add saved radio.xtrim capacitor calibration and measured radio.freqerror in
signed Hz from the last valid LoRa packet. Preserve native trim by default,
restore explicit calibration after resets/Morse, verify saves before applying,
wait two seconds for the acknowledgement, and roll back failed changes.

Calibration motivation and prior upstream work:
https://github.com/meshcore-dev/MeshCore/issues/3365
https://github.com/recrof/MeshCore/tree/lr2021-trim
Packet-status format follows Semtech's LR20xx driver and RadioLib staging.

Tests execute production activity/admission and transaction paths with noisy
RX, completion races, protected owners, failed setters, RX restart and save
rollback. Physical W12 retuning and RF calibration still require confirmation.
2026-10-26 15:55:36 -07:00
mikecarper b00d346df7 Unify Heltec V4 OLED, TFT and headless display selection
Detect OLED or the original stock TFT touch assembly in ordinary V4.2/V4.3
images. Add saved live display.type auto/oled/tft/off selection and report
the active selection in board output. Keep sensors on primary I2C, preserve
shared power, and isolate TFT FSPI from radio HSPI through sleep and changes.

Consolidate future picker/build choices only with application capability
proof. Retain exact legacy OTA identities and separate R8 hardware images.
Document controls and physical qualification limits.

Validation: five serialized Full builds with capability/size/RAM checks;
focused host tests, existing R8/T-Deck/OLED regressions, build-profile suite,
and picker/provider tests. V4.3 OLED live changes and off/auto reboot
persistence passed on Mercerwood. Physical TFT qualification remains pending.
2026-10-26 15:19:17 -07:00
mikecarper 5b5708283d Record Tower 2.4.9 embedded updater and signed SD tests 2026-10-26 13:55:19 -07:00
mikecarper f36beae97a Document Tower 2.4.3 bootloader upgrade test 2026-10-26 13:30:39 -07:00