diff --git a/src/main/main.c b/src/main/main.c index b6058e8d4d..87be10d50b 100755 --- a/src/main/main.c +++ b/src/main/main.c @@ -127,10 +127,6 @@ void init(void) adcInit(&adc_params); - // Check battery type/voltage - if (feature(FEATURE_VBAT)) - batteryInit(&masterConfig.batteryConfig); - initBoardAlignment(&masterConfig.boardAlignment); // We have these sensors; SENSORS_SET defined in board.h depending on hardware platform @@ -242,6 +238,12 @@ void init(void) } serialPrint(loopbackPort, "LOOPBACK\r\n"); #endif + + // Now that everything has powered up the voltage and cell count be determined. + + // Check battery type/voltage + if (feature(FEATURE_VBAT)) + batteryInit(&masterConfig.batteryConfig); } #ifdef SOFTSERIAL_LOOPBACK diff --git a/src/main/sensors/battery.c b/src/main/sensors/battery.c index 4e8191490c..1708b23a9b 100644 --- a/src/main/sensors/battery.c +++ b/src/main/sensors/battery.c @@ -83,7 +83,7 @@ void batteryInit(batteryConfig_t *initialBatteryConfig) } batteryCellCount = i; - batteryWarningVoltage = i * batteryConfig->vbatmincellvoltage; // 3.3V per cell minimum, configurable in CLI + batteryWarningVoltage = batteryCellCount * batteryConfig->vbatmincellvoltage; // 3.3V per cell minimum, configurable in CLI } #define ADCVREF 33L