Commit Graph
6254 Commits
Author SHA1 Message Date
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 5e72d42ede Resolve shared MQTT memory policy in PlatformIO library builds 2026-10-27 11:50:22 -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 2fc2f409d4 Keep MQTT and WebConfig stable under internal memory pressure 2026-10-27 11:28:47 -07:00
mikecarper 308fec1162 Keep only local OTA target names in reduced RAK builds 2026-10-27 10:45:24 -07:00
mikecarper 0cba0c3afa Refresh host fixtures for current Companion and USB interfaces
Declare fixture feature boundaries and SDK mocks explicitly, retain USB recovery ownership checks, and recognize the unified V4 display and read-only diagnostics in contract tests.
2026-10-27 08:17:24 -07:00
mikecarper c650278fa7 Share constrained STM32 code while preserving firmware features
Omit unbound forwarding-region callbacks only for exclusive Companion source roles. Reuse the compact neighbor sorter in repeaters for every RPC order and the CLI list, removing duplicate sort implementations while preserving storage and size gates.
2026-10-27 08:17:23 -07:00
mikecarper 2b55ff6a62 Recover RAK RAM without reducing OTA or sensor capacities
Cache each validated OTA descriptor field once and size manifest reassembly to the admitted wire format. Compile reviewed read-only VL53L0X tuning data in flash through a private dependency copy, retaining the original implementation for unknown revisions.
2026-10-27 08:17:23 -07:00
mikecarper cfcfc832b1 Keep Full C3 Companion queues within the DRAM budget
Place 32 existing retained frames in RTC FAST without changing the 224 normal or 128 active-OTA queue capacities. Keep the default backing layout unchanged for other boards and cover ownership, wraparound and OTA transfers.
2026-10-27 08:17:23 -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 7321f858d8 Omit unused forwarding region automation from Full Companions 2026-10-26 22:21:35 -07:00
mikecarper cf0628d3db Merge remote-tracking branch 'origin/keymindCascade' into keymindCascade 2026-10-26 22:15:37 -07:00
mikecarper 3dac9b3168 Refresh KISS ingress negative controls for guarded OTA reads 2026-10-26 22:15:37 -07:00
mikecarper 71e42b2e62 Manage MediaMesh forwarding region with saved radio2 profiles 2026-10-26 22:15:37 -07:00
mikecarper 9d2f7a3e27 Run RTC terminal input regressions in CI 2026-10-26 21:56:07 -07:00
mikecarper b0b18eaa22 Keep Wireless Paper terminal input in unused RTC memory 2026-10-26 21:55:27 -07:00
mikecarper a301820be3 Match Indicator memory test to its ESP-NOW-only transport 2026-10-26 21:45:18 -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 bb7ebaa1d9 Finalize interrupted OTA downloads before restoring automatic updates 2026-10-26 21:36:06 -07:00
mikecarper dedae3d5ca Keep OTA replies separate from Companion messages and contacts 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 67a291bbbd Preserve scheduled radio windows on older OTA destinations 2026-10-26 20:23:25 -07:00
mikecarper c8778bbc9c Merge remote-tracking branch 'origin/keymindCascade' into keymindCascade
# Conflicts:
#	test/test_companion_fleet_control.py
2026-10-26 20:20:57 -07:00
mikecarper 0a3a72984a Keep direct OTA support within each Companion's flash budget 2026-10-26 20:17:54 -07:00
mikecarper 2536791f6c Update fleet rescue fixture for optional host KISS guards 2026-10-26 20:03:51 -07:00
mikecarper c3a28e9ab8 Use the existing nRF52 layout for custom source builds 2026-10-26 19:59:56 -07:00
mikecarper d434a2b5ba Update fleet CLI tests for USB modem ownership 2026-10-26 19:59:56 -07:00
mikecarper 64251f9d9b Keep updater USB connections clear of boot and modem controls 2026-10-26 19:54:27 -07:00
mikecarper ebf2717171 Pause serial OTA reads while USB belongs to the modem 2026-10-26 19:50:44 -07:00
mikecarper bd8e6a73d4 Keep late OTA replies inside the shared USB source 2026-10-26 19:47:22 -07:00
mikecarper 4afad09048 Add a guided USB-to-LoRa updater for repeaters and companions 2026-10-26 19:46:05 -07:00
mikecarper c313658b88 Wait for the radio from the repeater's own loop 2026-10-26 19:46:05 -07:00
mikecarper 435c740e5a Let USB repeaters and Full Companions manage direct OTA updates 2026-10-26 19:46:05 -07:00
mikecarper 5741006b3e Fix RX activity test fixture after measurement module split 2026-10-26 19:43:23 -07:00
mikecarper f1feed086b Merge remote-tracking branch 'origin/keymindCascade' into keymindCascade 2026-10-26 18:36:04 -07:00
mikecarper c392ca806f Preserve Nordic KISS transmit entry for executable capability checks 2026-10-26 18:36:04 -07:00
mikecarper b4bec19e88 Fit Nordic Full KISS with lossless assets and firmware lifetime trimming 2026-10-26 18:21:18 -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 ff51126508 Merge remote-tracking branch 'origin/keymindCascade' into keymindCascade 2026-10-26 17:42:58 -07:00
mikecarper 27adc606c8 Ignore unsupported RXPS when applying radio parameters 2026-10-26 17:26:53 -07:00
mikecarper 264a5a8b34 Preserve KISS ownership and wait for initial radio2 readiness 2026-10-26 17:23:38 -07:00