From 30029f59db19e03a59545baa7cccaa6e3a856aad Mon Sep 17 00:00:00 2001 From: Michel Pastor Date: Wed, 2 Jun 2021 20:41:39 +0200 Subject: [PATCH] AP_OSD_Screen: make BLH RPM fixed length --- libraries/AP_OSD/AP_OSD_Screen.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libraries/AP_OSD/AP_OSD_Screen.cpp b/libraries/AP_OSD/AP_OSD_Screen.cpp index f675d5dbbd..aba9b42fed 100644 --- a/libraries/AP_OSD/AP_OSD_Screen.cpp +++ b/libraries/AP_OSD/AP_OSD_Screen.cpp @@ -1641,7 +1641,9 @@ void AP_OSD_Screen::draw_blh_rpm(uint8_t x, uint8_t y) if (!AP::esc_telem().get_rpm(0, rpm)) { return; } - backend->write(x, y, false, "%3.1f%c%c", uint16_t(rpm) * 0.001f, SYM_KILO, SYM_RPM); + float krpm = rpm * 0.001f; + const char *format = krpm < 9.995 ? "%.2f%c%c" : (krpm < 99.95 ? "%.1f%c%c" : "%.0f%c%c"); + backend->write(x, y, false, format, krpm, SYM_KILO, SYM_RPM); } void AP_OSD_Screen::draw_blh_amps(uint8_t x, uint8_t y)