From 62d7e69f2b6974970909504b279f8e3cca550db7 Mon Sep 17 00:00:00 2001 From: Holger Wirtz Date: Mon, 28 Oct 2019 09:23:25 +0100 Subject: [PATCH] Fix for displaying integer values in menu. --- UI.hpp | 44 ++++++++++++++++++++++++++------------------ 1 file changed, 26 insertions(+), 18 deletions(-) diff --git a/UI.hpp b/UI.hpp index 0de373d..229b7e1 100644 --- a/UI.hpp +++ b/UI.hpp @@ -1779,35 +1779,43 @@ void lcd_display_int(int16_t var, uint8_t size, bool zeros, bool brackets, bool lcd.print(F(" ")); } - for (int8_t i = size - 1 ; i >= 0; i--) + if (var == 0 && zeros == false) { - p = int(pow(10, i)); - tmp = int(var / p); - - if (tmp == 0) + for (int8_t i = size - 1 ; i > 0; i--) + lcd.print(F(" ")); + lcd.print(F("0")); + } + else + { + for (int8_t i = size - 1 ; i >= 0; i--) { - if (zeros == true) - lcd.print(F("0")); - else + p = int(pow(10, i)); + tmp = int(var / p); + + if (tmp == 0) { - if (non_zero_found == true) + if (zeros == true) lcd.print(F("0")); else - lcd.print(F(" ")); + { + if (non_zero_found == true) + lcd.print(F("0")); + else + lcd.print(F(" ")); + } } + else + { + non_zero_found = true; + lcd.print(tmp); + } + var -= (tmp * p); } - else - { - non_zero_found = true; - lcd.print(tmp); - } - var -= (tmp * p); } - + if (brackets == true) lcd.print(F("]")); } - void lcd_display_float(float var, uint8_t size_number, uint8_t size_fraction, bool zeros, bool brackets, bool sign) { float fraction;