Commit Graph
41 Commits
Author SHA1 Message Date
mikecarper 9ce2a076eb Include and qualify Meshtext in RAK4631 Full Companion
Port Meshtext settings to verified atomic nRF52 storage and use the existing radio RNG and hardware entropy. Keep the ExtraFS boundary, GPS, contacts, channel count and 8 KiB stack unchanged; omit unused library data to fit the image. Require linked codec and Companion transport evidence and build the real RAK Full profile in CI. Add configuration and storage-failure regression coverage.
2026-10-12 22:39:00 -07:00
mikecarper f304b8ff77 Add Meshtext Companion channel chat and automatic radio2 setup 2026-10-11 02:08:02 -07:00
mikecarper 3e8c637866 Add Companion lost-status replies and repair room mailbox test adapters
Save an opt-in off/no/yes answer to private Am I lost questions from known
chat contacts. Keep reply traffic and ACK state bounded, preserve pending
user delivery, and expose the setting through local CLI and ESP32 WebConfig.

Retain compact STM32 application/filesystem boundaries, qualify the Tag BLE
queue allowance, and exercise saved-image compatibility and browser controls.
Fix stale room mailbox protocol dependencies in the ACL/route test fixtures.

Validation: ten Companion builds, sanitized production-path regressions,
preference fault/compatibility tests, browser tests, and 86 capacity/build
recipe checks passed. No live radio was flashed for this feature.
2026-10-10 19:24:42 -07:00
mikecarper ddf625e9d0 Fix packet, delivery, clock and radio stability regressions
Reject truncated anonymous reply paths and advert metadata before copying,
while preserving timestamp-only empty-password logins. Limit room posting to
read-write/admin ACL roles, retain inbox frames until the requesting transport
accepts them, and lock raw LittleFS traversal against concurrent writes.

Separate ISR event generations from main-loop radio state. Confirm RX/TX IRQs,
detach concrete wrapper callbacks safely, and discard inconsistent LR2021 FIFO
snapshots before rearming. Preserve bridge RX frames through packet-pool
exhaustion and bound ESP-NOW retries and missing-callback recovery. Screen RTC
register layouts without losing DS1307 startup, and ignore poisoned future
contact timestamps during clock bootstrap.

Keep the nRF52 loop stack at 8 KiB while reducing the OTA listing call chain
from 7,832 to 6,056 static bytes. Retain all target names through lossless Full
Companion compression and the canonical size optimizer. Preserve constrained
STM32 filesystems and bind corrected ESP32 UART/OLED budgets to source size
assertions. Document the separately measured preexisting W12 package limits.

Adapted for this branch from meshcore-dev/MeshCore PRs #3521, #3340, #3362,
#2062, #3503, #3038, #3534, #3544 and #3512.

Validation: 1,829 native tests; sanitized parser, inbox, LittleFS, ACL, clock,
RTC, IRQ/FIFO and bridge fault tests; 332 additional Companion cases; real
RAK4631 Full and both repeater profiles, G2 Full/standard, V3 Full and both
constrained STM32 release recipes. Radio-family compile coverage continues
separately; W12 full/portable package guards remain enforced.
2026-10-09 19:56:08 -07:00
mikecarper d6ec787ba7 Honor explicit resume for ordinary firmware builds 2026-10-06 11:29:52 -07:00
mikecarper 9202fc2a96 Simplify firmware selection and canonical build menus 2026-10-06 10:46:11 -07:00
mikecarper 08bf174ea3 Merge branch 'keymindCascade' of github.com:mikecarper/MeshCore into keymindCascade 2026-10-06 10:23:28 -07:00
mikecarper db42a998f8 Publish Full-only ESP32 node releases and separate migration tools 2026-10-06 10:14:54 -07:00
mikecarper 7581fa3abd Cover WiFi scan fixes across every ESP32 recipe 2026-10-06 09:58:40 -07:00
mikecarper 2ad479ce0e Merge branch 'keymindCascade' of github.com:mikecarper/MeshCore into keymindCascade 2026-10-06 09:43:16 -07:00
mikecarper 2ee62b9814 Fix V4 setup AP startup and pre-AP network scans 2026-10-06 09:40:28 -07:00
mikecarper 24a223314c Identify failed resume qualification gates safely 2026-10-06 09:29:48 -07:00
mikecarper ba6e48b5ce Fix Room and Sensor requests and add G3 Sensor builds
Bound ACL replies for encrypted routes, authorize Sensor ACL access using the actual Admin role, and preserve request retries after failed queue admission. Validate stored paths for replies, while keeping Room keep-alives direct-only.

Add both G3 RF-slot Sensor profiles, suppress battery alarms on unavailable measurements, and remove the unsupported Sensor WebConfig capability. Add executable regression coverage and CI checks.
2026-10-06 09:20:05 -07:00
mikecarper 3baa169fc6 Preserve qualified release artifacts across resumed builds 2026-10-06 09:19:02 -07:00
mikecarper 8af0511f54 Preserve separate TLora Full transports within RAM budget 2026-10-05 18:33:34 -07:00
mikecarper 51d74a200e Retain independent RS232 in Full MQTT repeaters 2026-10-05 18:21:42 -07:00
mikecarper 5f10e7d601 Include runtime ESP-NOW in Full ESP32 repeaters 2026-10-05 17:33:02 -07:00
mikecarper 7ef67c49f5 Combine MKE S3 repeater bridge modes at runtime 2026-10-05 17:12:10 -07:00
mikecarper 30fe0d617b Unify Tower repeater builds on SD-primary OTA storage
Keep the deployed SD target and layout, select qualified internal delta storage when no card is usable, and retain exact SD bootloader-update gates. Add storage, capability, transfer, recipe, and release-selection regression coverage.

Also preserve mandatory runtime packet logging in canonical XIAO images when verbose build debugging is disabled, fixing the four stopped release-matrix qualification failures.
2026-10-05 16:38:30 -07:00
mikecarper efed592fdb Qualify ESP-NOW RAM and Wio Mini release capacity 2026-10-05 07:18:22 -07:00
mikecarper 19d02c0dfa Preserve flood policies across qualified RAM capacity changes 2026-10-05 03:33:44 -07:00
mikecarper cc4bcb9cad Qualify 1.17.1.9 memory limits and exact release asset routing 2026-10-05 01:14:02 -07:00
mikecarper 63f4642252 Merge observer OTA channel switching into keymindCascade 2026-10-04 00:26:46 -07:00
mikecarper e368b52f7d Bind resumed firmware packages to their effective build recipe 2026-10-03 20:48:49 -07:00
mikecarper 326f8cdf78 Default optional debug flags safely in strict shells 2026-10-03 19:55:57 -07:00
mikecarper a02554dd69 Protect build cleanup from unsafe output paths 2026-10-03 19:31:10 -07:00
mikecarper 43f474a806 Integrate upstream fixes and paired nRF52 sensor OTA release profiles 2026-10-02 17:52:12 -07:00
mikecarper 42d6bfd560 Reduce nRF52 infrastructure flash usage without trimming sensors
Keep Companion and Terminal Chat profiles unchanged; retain full-sensor and reduced-sensor OTA builds. Add compact crypto and OTA names, qualified display asset compression, font license packaging, and scope regression tests.
2026-10-02 15:52:23 -07:00
mikecarper a72b561ee6 Qualify compact Full queues and align Indicator canvas allocation 2026-10-01 08:07:41 -07:00
mikecarper e02b798296 Preserve Indicator PSRAM capacities with the proven compact canvas 2026-10-01 07:53:21 -07:00
mikecarper e904464af9 Keep Indicator queue metadata aligned with its PSRAM recipe 2026-10-01 07:46:21 -07:00
mikecarper 29f9e616af Fit constrained Full Companion RAM and STM32 USB flash budgets 2026-10-01 07:44:55 -07:00
mikecarper d5853b9ca2 Fix official app WiFi commands and Full build qualification 2026-09-30 20:27:05 -07:00
mikecarper 267773df7d Merge PR #13 with gzip-only WebConfig assets
Keep the graceful final-ACK TCP close and optional FEM control guards from
pixitha's browser compatibility fixes. Replace Brotli negotiation and duplicate
page assets with one gzip representation compressed by Google Zopfli 0.4.3
using 1,000 iterations. Compress the bootstrap, captive success, compact OTA,
and static WiFi setup pages with the same validated build cache.

Honor gzip quality values and wildcard precedence. Validate compressed OTA
page evidence in the firmware capability gate, and add native and Python
regressions plus CI coverage. Remove the unused Brotli build dependency.

Validation: 54 native tests, 56 Python/browser checks, full V4.3 build and
verified application flash. Actual V4 WiFi responses matched the generated
gzip assets; 30 repeat downloads completed without reboot. Chromium loaded
the setup and settings pages without script or transfer errors. Physical
Android testing is pending because the Pi detects no phone over USB or mDNS.
2026-09-30 18:55:17 -07:00
mikecarper bb24681188 Prepare 1.17.1.7 Cascade release catalogs and STM32WL USB images 2026-09-27 10:20:43 -07:00
mikecarper f215792162 Enable LoRa OTA room and nRF52 sensor variants 2026-09-26 09:58:43 -07:00
mikecarper df19760c85 Publish one ordinary ESP32 Full image per board role 2026-09-26 09:29:18 -07:00
mikecarper b0b9e53dd7 Keep G2 migration Full images out of ordinary release matrix 2026-09-26 08:59:29 -07:00
mikecarper 72afac9a40 Unify RAK repeater storage firmware and bootloader handoff 2026-09-25 10:35:04 -07:00
mikecarper aa4598f739 Bound nRF52 UF2 images and reduce repeater BLE DFU memory 2026-09-25 08:09:38 -07:00
mikecarper cc707bdd79 Add local complete firmware release build entry point 2026-09-25 01:36:44 -07:00