Record 1.18.0.1 risk matrix passes and remaining Mini limit
This commit is contained in:
1 parent
b2a8245199
commit
4575da82fe
1 file changed
+88
-12
@@ -149,14 +149,17 @@ DMA free heap, largest DMA block and allocation failures throughout that
|
||||
workload. Host admission tests and passing ELF checks provide engineering
|
||||
evidence without claiming that hardware validation has been performed.
|
||||
|
||||
The W12 Full MQTT profile remains unqualified: the current linked image has
|
||||
182,768 internal bytes available against 198,432 required, including the
|
||||
unchanged 16 KiB transient margin. Its standard repeater compiles and passes
|
||||
the RAM check, but the 1,322,304-byte application exceeds the 1,310,720-byte
|
||||
portable LoRa-OTA slot. Both limits also occur in the pre-stability baseline
|
||||
(Full: 182,800 available against 200,480 required under the earlier OLED
|
||||
estimate; standard application: 1,321,088 bytes). LR2021 compile and fault-test
|
||||
coverage does not qualify either package for release.
|
||||
The earlier W12 Full MQTT RAM failure (182,768 available against 198,432
|
||||
required) and standard portable-slot overflow (1,322,304 against 1,310,720
|
||||
bytes) are historical measurements, not the current expanded Full result.
|
||||
The 2026-10-18 UTC recheck at `060119af8` passes with 200,640 internal bytes
|
||||
available against 198,432 required, retaining the 16 KiB transient margin.
|
||||
Its largest region is 167,872 bytes against 18,464 required; the packaged
|
||||
2,280,072-byte application fits the expanded 6,553,600-byte OTA slots.
|
||||
MQTT is enabled and all ten declared capability checks pass, without declared
|
||||
reductions. This establishes linked capacity and packaged capabilities, not
|
||||
physical boot/soak or maximum TLS/WSS/outbox-load qualification. It also does
|
||||
not qualify an independently built compact portable-slot recipe.
|
||||
|
||||
The experimental RAK4631 combined Ethernet/UART2/adaptive-storage config adds
|
||||
an explicit 2,560-byte allowance for the UART bridge and its TX semaphore.
|
||||
@@ -270,10 +273,11 @@ boot or physical Ethernet/OTA soak results.
|
||||
The five changes pass representative repeater builds for RAK4631 combined
|
||||
Full, Heltec V4 (ESP32-S3), Heltec V2 (classic ESP32), and Seeed XIAO RP2040.
|
||||
RAK4631 room-server and Heltec V4 sensor builds also pass while retaining
|
||||
their complete ACL session layouts. Wio E5 Mini repeater compilation passes,
|
||||
but linking exceeds flash capacity: the baseline already overflowed by
|
||||
27,200 bytes, and these changes add 224 bytes for a 27,424-byte overflow.
|
||||
That STM32 image is unqualified and is not release-ready.
|
||||
their complete ACL session layouts. At that measurement, Wio E5 Mini repeater
|
||||
compilation passed but linking exceeded flash capacity: the baseline already
|
||||
overflowed by 27,200 bytes, and those changes added 224 bytes for a 27,424-byte
|
||||
overflow. The newer 1.18.0.1 check below still fails; this cable-only STM32
|
||||
image remains unqualified and is not release-ready.
|
||||
|
||||
Regression coverage includes unchanged ACL/FPF file bytes, full capacities,
|
||||
timestamp rollover, flag combinations, ARM access widths/alignment, streamed
|
||||
@@ -452,6 +456,7 @@ Run PlatformIO commands sequentially in this checkout:
|
||||
|
||||
```sh
|
||||
python3 -B test/test_firmware_ram.py
|
||||
python3 -B test/test_sh1106_memory.py
|
||||
python3 -B test/test_t096_full_memory.py
|
||||
python3 -B test/test_st7735_framebuffer.py
|
||||
python3 -B test/test_nrf52_ble_startup.py
|
||||
@@ -487,3 +492,74 @@ exchange Bluetooth messages, visit every screen, wake with the button, enable
|
||||
logging/MQTT, transfer mOTA, and monitor heap during a sustained workload.
|
||||
See [memory monitoring](https://github.com/mikecarper/MeshCore/blob/keymindCascade/MEMORY_MONITORING.md)
|
||||
for runtime diagnostics.
|
||||
|
||||
## 1.18.0.1 known-risk matrix, 2026-10-18 UTC
|
||||
|
||||
The targeted recheck used `v1.18.0.1-halo-keymind-cascade-dev`,
|
||||
`usa-cascade-fixed`, the Cascade profile, and release-default debug/logging
|
||||
policy (`DISABLE_DEBUG=0`). PlatformIO ran sequentially; new artifacts and
|
||||
logs were isolated from existing `out/` builds. Exact-identity expanded Full
|
||||
profiles were selected for ESP32 infrastructure. Required nRF52 receiver
|
||||
pairs built both Full and Reduced; a Reduced pass did not replace a Full pass.
|
||||
|
||||
Twenty-five selections passed, producing 31 verified profiles:
|
||||
|
||||
| Selections | Passing profiles |
|
||||
| --- | ---: |
|
||||
| RAK3401 and RAK4631 Full Companion | 2 |
|
||||
| Wio L1 Full/BLE; T096 Full/BLE, each FEM-on/off | 6 |
|
||||
| RAK4631 canonical and unified Repeater, Full/Reduced | 4 |
|
||||
| RAK3401 unified and RAK13302/W25Q16 Repeater, Full/Reduced | 4 |
|
||||
| MeshTower SD and T096 Repeater, Full/Reduced | 4 |
|
||||
| RAK3x72, Wio-E5 Mini, Wio-E5 Dev and Tiny Relay USB Companion | 4 |
|
||||
| W12 expanded Full Repeater, Room and MQTT Repeater | 3 |
|
||||
| G2 Full Companion/MQTT Repeater, G3 r2 MQTT Repeater, V4 Full FEM-on | 4 |
|
||||
|
||||
The separate 26th selection, `wio-e5-mini_repeater`, was an explicitly
|
||||
cable-only control using `--allow-no-ota`, not an eligible wireless release
|
||||
target. Its baseline at `3059d7994` overflows the existing 245,760-byte app
|
||||
region by 38,040 bytes. A private compact-crypto/unused-timer trial recovered
|
||||
18,544 bytes but still overflowed by 19,496. That unqualified trial was not
|
||||
retained. The 16 KiB filesystem, host CLI and existing features were not cut
|
||||
to manufacture a pass; no failing image was published.
|
||||
|
||||
Three reproduced release-target failures were fixed:
|
||||
|
||||
- `975521645`: Wio-E5 Dev Companion, 16,468-byte overflow to 508 bytes free.
|
||||
- `3059d7994`: Tiny Relay Companion, 16,424-byte overflow to 452 bytes free.
|
||||
- `29787c0b2`: G3 Full MQTT, 232-byte RAM-budget deficit to 1,816 bytes above
|
||||
the required budget. The SH1106 wrapper now releases its previous BusIO
|
||||
adapter before initialization/retry. Source assertions bound its fixed
|
||||
1,024-byte framebuffer, complete display object, adapter and allocation
|
||||
metadata within 2 KiB. Only the ESP32 SH1106 estimate changes; other
|
||||
reserves remain intact. Linked available RAM remains 200,248 bytes.
|
||||
|
||||
The STM32 changes reuse equivalent fixed-loop crypto and omit unused Arduino
|
||||
PWM/tone wrappers while retaining the low-level TIM HAL, 100 contacts, eight
|
||||
channels, GPIO/ADC interfaces and 32 KiB filesystems. CI now links all four
|
||||
small STM32 Companions serially at release-version length (`2ae109fea`) and
|
||||
the exact G3 Full MQTT profile. Display tests cover repeated successful and
|
||||
failed initialization, recovery, destruction, addressing and rendering under
|
||||
ASan/UBSan, including a missing-cleanup negative control.
|
||||
|
||||
Passes retain their individual source SHAs (`060119af8`, `3059d7994`,
|
||||
`2ae109fea`, `29787c0b2`) and file-bound memory/capability reports. The affected
|
||||
G2/Wio L1 selections in this matrix and all four STM32 Companions were rebuilt
|
||||
at `29787c0b2`.
|
||||
The final 95 related host tests and artifact-hash checks pass.
|
||||
|
||||
Margins remain narrow: RAK4631 Full Companion has 932 flash bytes free;
|
||||
canonical/unified RAK4631 Full Repeater have 548/540 bytes above their RAM
|
||||
budgets. W12/G2/G3 Full MQTT have 2,208/2,176/1,816 bytes above their budgets.
|
||||
These are linked-capacity margins, not measured running free heap.
|
||||
|
||||
No new feature reductions were introduced. Existing declarations remain:
|
||||
RAK3401 unified has 47 flood rules, T096 Repeater has four, Reduced profiles
|
||||
omit selected optional sensor drivers, and nRF52 Full Companions loan half
|
||||
their 256-frame offline queue while mOTA is active. STM32 Companions remain
|
||||
cable-only; nRF52 Full Companion source support is not LoRa self-update
|
||||
receiver qualification. Exact storage/bootloader requirements still apply.
|
||||
|
||||
This is a targeted build/capacity pass, not the complete canonical release
|
||||
matrix at one frozen commit, physical hardware/upgrade/soak qualification,
|
||||
or publication of a 1.18.0.1 release.
|
||||
Reference in new issue
Block a user