mirror of
https://github.com/mikecarper/MeshCore.git
synced 2026-09-16 01:45:41 +00:00
Merge PR #7 with reviewed ExpressLRS power and memory fixes
Integrate ExpressLRS TX module support and its stacked ESP32 heap changes. Use the approved Linkflow calibration (17-30 dBm), preserve the PA drive and output path after radio recovery, and keep LoRa OTA enabled. Preserve stored ACLs and filters on allocation failure, release owned client/filter buffers, service heap OTA contexts on Companions, release self-serving workspaces after TempRadio, and reset staged-resume state when a context is released. Keep manual staging and active operations alive. Account for all moved allocations in the runtime RAM gate. Validation: 1,393 native cases; radio-power, heap-context, ACL persistence, shared-queue transfer, display/inbox, radio receive, and memory regressions. Firmware builds passed for Linkflow, Heltec V2 Companion, T-Beam MQTT repeater, Heltec V4 R8 MQTT repeater, RAK4631 repeater, and Indicator Full. Physical verification awaits access to the currently offline lab Pi.
This commit is contained in:
@@ -24,6 +24,19 @@
|
||||
#include <helpers/nrf52/EthernetCLI.h>
|
||||
#endif
|
||||
|
||||
#if defined(ESP32) && defined(CONFIG_BT_ENABLED) && !defined(BLE_PIN_CODE)
|
||||
// A repeater has no Bluetooth transport, but the Arduino SDK is built with the
|
||||
// BT controller enabled, so its memory stays reserved unless the application
|
||||
// says otherwise. initArduino() calls esp_bt_controller_mem_release() when
|
||||
// this weak hook returns false, handing that region to the heap. Note this
|
||||
// only grows the *runtime heap*: the same reservation is also carved out of
|
||||
// the linker's dram0_0_seg (0xdb5c on classic ESP32), and no runtime call can
|
||||
// give those static bytes back. It is what makes the heap-allocated tables
|
||||
// above comfortable, not a substitute for them.
|
||||
extern "C" bool btInUse();
|
||||
extern "C" bool btInUse() { return false; }
|
||||
#endif
|
||||
|
||||
StdRNG fast_rng;
|
||||
#if MAX_RECENT_REPEATERS > 0
|
||||
#if defined(ESP32)
|
||||
|
||||
Reference in New Issue
Block a user