Skip to content

Commit 7c2e3ce

Browse files
authored
fix(cpn): battery level incorrect in simulator for B&W radios (#4746)
1 parent c824292 commit 7c2e3ce

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

radio/src/targets/simu/adc_driver.cpp

+6-2
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,12 @@ static bool simu_start_conversion()
4343

4444
// set VBAT / RTC_BAT
4545
if (adcGetMaxInputs(ADC_INPUT_VBAT) > 0) {
46-
uint32_t vbat = (BATTERY_MAX + BATTERY_MIN) / 2;
47-
vbat = (vbat * BATTERY_DIVIDER) / 100;
46+
uint32_t vbat = (BATTERY_MAX + BATTERY_MIN) * 5; // * 10 / 2
47+
#if defined(BATT_SCALE)
48+
vbat = ((vbat - VOLTAGE_DROP) * BATTERY_DIVIDER) / (BATT_SCALE * 128);
49+
#else
50+
vbat = (vbat * BATTERY_DIVIDER) / 1000;
51+
#endif
4852
setAnalogValue(adcGetInputOffset(ADC_INPUT_VBAT), vbat * 2);
4953
}
5054

0 commit comments

Comments
 (0)