From 7c2e3cec349afa9e6a88003fc758e90a0152cd49 Mon Sep 17 00:00:00 2001 From: philmoz Date: Fri, 15 Mar 2024 20:39:36 +1100 Subject: [PATCH] fix(cpn): battery level incorrect in simulator for B&W radios (#4746) --- radio/src/targets/simu/adc_driver.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/radio/src/targets/simu/adc_driver.cpp b/radio/src/targets/simu/adc_driver.cpp index 4f046c1c1..d164cf24e 100644 --- a/radio/src/targets/simu/adc_driver.cpp +++ b/radio/src/targets/simu/adc_driver.cpp @@ -43,8 +43,12 @@ static bool simu_start_conversion() // set VBAT / RTC_BAT if (adcGetMaxInputs(ADC_INPUT_VBAT) > 0) { - uint32_t vbat = (BATTERY_MAX + BATTERY_MIN) / 2; - vbat = (vbat * BATTERY_DIVIDER) / 100; + uint32_t vbat = (BATTERY_MAX + BATTERY_MIN) * 5; // * 10 / 2 +#if defined(BATT_SCALE) + vbat = ((vbat - VOLTAGE_DROP) * BATTERY_DIVIDER) / (BATT_SCALE * 128); +#else + vbat = (vbat * BATTERY_DIVIDER) / 1000; +#endif setAnalogValue(adcGetInputOffset(ADC_INPUT_VBAT), vbat * 2); }