move IDLE_POWER_SAVING_MS

This commit is contained in:
Xuan Son Nguyen
2026-02-12 13:19:37 +01:00
parent ea32ba0f8d
commit 73cd05827a
3 changed files with 10 additions and 9 deletions

View File

@@ -1,6 +1,7 @@
#include "HalPowerManager.h"
#include <esp_sleep.h>
#include "HalPowerManager.h"
#include "HalGPIO.h"
void HalPowerManager::begin() {
@@ -10,7 +11,7 @@ void HalPowerManager::begin() {
void HalPowerManager::setPowerSaving(bool enabled) {
if (normalFreq <= 0) {
return; // invalid state
return; // invalid state
}
if (enabled && !isLowPower) {
Serial.printf("[%lu] [PWR] Going to low-power mode\n", millis());
@@ -29,7 +30,7 @@ void HalPowerManager::setPowerSaving(bool enabled) {
isLowPower = enabled;
}
void HalPowerManager::startDeepSleep(HalGPIO &gpio) const {
void HalPowerManager::startDeepSleep(HalGPIO& gpio) const {
// Ensure that the power button has been released to avoid immediately turning back on if you're holding it
while (gpio.isPressed(HalGPIO::BTN_POWER)) {
delay(50);

View File

@@ -7,19 +7,20 @@
#include "HalGPIO.h"
class HalPowerManager {
static constexpr int LOW_POWER_FREQ = 10; // MHz
int normalFreq = 0; // MHz
int normalFreq = 0; // MHz
bool isLowPower = false;
public:
static constexpr int LOW_POWER_FREQ = 10; // MHz
static constexpr unsigned long IDLE_POWER_SAVING_MS = 3000; // ms
void begin();
// Control CPU frequency for power saving
void setPowerSaving(bool enabled);
// Setup wake up GPIO and enter deep sleep
void startDeepSleep(HalGPIO &gpio) const;
void startDeepSleep(HalGPIO& gpio) const;
// Get battery percentage (range 0-100)
int getBatteryPercentage() const;