diff --git a/src/power/PowerManager.cpp b/src/power/PowerManager.cpp index 420598d..6e79e99 100644 --- a/src/power/PowerManager.cpp +++ b/src/power/PowerManager.cpp @@ -36,6 +36,10 @@ void PowerManager::begin() { } } + // Initialize IO for battery voltage measurement + pinMode(PowerParameters::PinConfig::BAT_ADC_EN, OUTPUT); + pinMode(PowerParameters::PinConfig::BAT_ADC, INPUT); + if (powerScheduler == nullptr) { ESP_LOGI(TAG, "Creating Power Scheduler"); powerScheduler = &PowerScheduler::getPowerScheduler( @@ -111,8 +115,6 @@ float PowerManager::getConsumerCurrent(PowerParameters::PowerConsumers consumer) float PowerManager::getBatteryVoltage() { // Get the battery voltage from the ADC and convert it to a voltage // using the voltage divider. - pinMode(PowerParameters::PinConfig::BAT_ADC_EN, OUTPUT); - pinMode(PowerParameters::PinConfig::BAT_ADC, INPUT); // Enable voltage divider digitalWrite(PowerParameters::PinConfig::BAT_ADC_EN, HIGH); // Allow voltage to stabilize