- Added memory debugging features to log heap usage and fragmentation recovery for MQTT clients.
- Introduced `recreateMqttClientsForFragmentationRecovery()` to manage MQTT client lifecycles and reduce memory fragmentation.
- Updated critical memory checks to log detailed heap statistics and active MQTT client counts.
- Included new debug logging for memory status every 60 seconds when memory debugging is enabled.
This update aims to improve stability and performance in memory-constrained environments.
When DISPLAY_CLASS is defined via build flags but HELTEC_LORA_V4_OLED
or HELTEC_LORA_V4_TFT flags aren't set, include SSD1306Display.h as
fallback. This fixes compilation errors for environments like
heltec_v4_repeater_observer_mqtt that extend Heltec_lora32_v4 directly
and set DISPLAY_CLASS=SSD1306Display.
Added NRF52840 power management core functionality:
- Boot‑voltage lockout
- Initial support for shutdown/reset reason storage and capture (via RESETREAS/GPREGRET2)
- LPCOMP wake (for voltage-driven shutdowns)
- VBUS wake (for voltage-driven shutdowns)
- Per-board shutdown handler for board-specific tasks
- Exposed CLI queries for power‑management status in CommonCLI.cpp
- Added documentation in docs/nrf52_power_management.md.
- Enabled power management support in Xiao nRF52840, RAK4631, Heltec T114 boards
- Added conditional compilation for WiFi power save settings in setMQTTPrefsDefaults.
- Updated platformio.ini files across multiple variants to define MQTT_WIFI_POWER_SAVE_DEFAULT and related configurations.
- Set default WiFi power save mode to 1 (none) when not explicitly defined, enhancing flexibility for different hardware setups.
- Updated the begin() method to handle deep sleep and cold boot scenarios for GC1109 FEM pins.
- Improved pin configuration logic for power management and transmission control.
- Enhanced comments for clarity on pin roles and behavior during sleep and wake cycles.
- Adjusted platformio.ini files to reflect updated pin definitions and usage notes.
As all NRF52 boards now have OTA support, let's remove the subclass
and integrate it into the base class.
Signed-off-by: Frieder Schrempf <frieder@fris.de>
The schematic shows the LC circuit for the internal DC/DC regulator
to be available. Enable it to save power.
Signed-off-by: Frieder Schrempf <frieder@fris.de>
The schematic shows the LC circuit for the internal DC/DC regulator
to be available. Enable it to save power.
Signed-off-by: Frieder Schrempf <frieder@fris.de>
The schematic shows the LC circuit for the internal DC/DC regulator
to be available. Enable it to save power.
Signed-off-by: Frieder Schrempf <frieder@fris.de>
The schematic shows the LC circuit for the internal DC/DC regulator
to be available. Enable it to save power.
Signed-off-by: Frieder Schrempf <frieder@fris.de>