Qualify Full Meshtext builds and share cold storage on constrained companions

This commit is contained in:
mikecarper committed 2026-10-23 18:08:25 -07:00
1 parent 127d1bec24
commit ab5de10e79
10 files changed
+860 -14

No files matched your search

+4 -4
View File
@@ -152,10 +152,10 @@ class ESPNowRawReassemblerT {
public:
static_assert(SlotCount > 0, "ESP-NOW reassembly needs at least one slot");
explicit ESPNowRawReassemblerT(uint32_t timeout_ms = 2000)
: _timeout_ms(timeout_ms) {
reset();
}
// Constant initialization also lets the linker discard the primary-radio
// workspace when this shared source is compiled into a LoRa-only image.
explicit constexpr ESPNowRawReassemblerT(uint32_t timeout_ms = 2000)
: _timeout_ms(timeout_ms), _slots{} {}
void reset() {
memset(_slots, 0, sizeof(_slots));
+3
View File
@@ -24,6 +24,9 @@
// Qualified Full Companions stream host-provided firmware and need no permanent
// mOTA workspace. Apply the same policy to build.sh and direct PlatformIO builds.
// Other qualified recipes, including the constrained ESP32 224-frame queue, opt in through
// OTA_SHARED_COMPANION_QUEUE. The queue checks the complete context size against
// its actual upper region and retains the same 128 frames during explicit OTA.
#if defined(OTA_SEEDER_ONLY) && defined(COMPANION_RADIO_FULL) && \
(defined(NRF52_PLATFORM) || \
(defined(ESP32_PLATFORM) && defined(HELTEC_WIRELESS_PAPER)))