From 45b56ad6c54651b8861a12f96674b1df3be71de6 Mon Sep 17 00:00:00 2001 From: "Pawel Spychalski (DzikuVx)" Date: Thu, 19 Jan 2023 17:39:13 +0100 Subject: [PATCH] Disable mAh scaling for BF compatibility --- src/main/io/osd.c | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/src/main/io/osd.c b/src/main/io/osd.c index c24320f08bd..0fcd746e62e 100644 --- a/src/main/io/osd.c +++ b/src/main/io/osd.c @@ -1626,14 +1626,22 @@ static bool osdDrawSingleElement(uint8_t item) break; case OSD_MAH_DRAWN: { - if (osdFormatCentiNumber(buff, getMAhDrawn() * 100, 1000, 0, (osdConfig()->mAh_used_precision - 2), osdConfig()->mAh_used_precision)) { - // Shown in mAh - buff[osdConfig()->mAh_used_precision] = SYM_AH; + + if (isBfCompatibleVideoSystem(osdConfig())) { + //BFcompat is unable to work with scaled values and it only has mAh symbol to work with + tfp_sprintf(buff, "%4d", (int)getMAhDrawn()); + buff[4] = SYM_MAH; + buff[5] = '\0'; } else { - // Shown in Ah - buff[osdConfig()->mAh_used_precision] = SYM_MAH; + if (osdFormatCentiNumber(buff, getMAhDrawn() * 100, 1000, 0, (osdConfig()->mAh_used_precision - 2), osdConfig()->mAh_used_precision)) { + // Shown in mAh + buff[osdConfig()->mAh_used_precision] = SYM_AH; + } else { + // Shown in Ah + buff[osdConfig()->mAh_used_precision] = SYM_MAH; + } + buff[(osdConfig()->mAh_used_precision + 1)] = '\0'; } - buff[(osdConfig()->mAh_used_precision + 1)] = '\0'; osdUpdateBatteryCapacityOrVoltageTextAttributes(&elemAttr); break; }