From 2682b64a0923de9abcda4e54e830500dc3254bd8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Wed, 12 Oct 2022 20:19:21 +0000 Subject: [PATCH] Optimisation: Reduce code size in rendering SD file names and folders Change in memory: Flash: -88 bytes SRAM: 0 bytes --- Firmware/ultralcd.cpp | 29 ++++++++--------------------- 1 file changed, 8 insertions(+), 21 deletions(-) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index c3282235d..38a1e3301 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -297,32 +297,19 @@ const char STR_SEPARATOR[] PROGMEM = "------------"; static void lcd_implementation_drawmenu_sdfile(uint8_t row, const char* longFilename) { - char c; - uint8_t n = LCD_WIDTH - 1; + uint8_t len = LCD_WIDTH - 1; lcd_set_cursor(0, row); - lcd_print((lcd_encoder == menu_item)?'>':' '); - while( ((c = *longFilename) != '\0') && (n>0) ) - { - lcd_print(c); - longFilename++; - n--; - } - lcd_space(n); + lcd_print((lcd_encoder == menu_item)?'>':' '); + lcd_print_pad(longFilename, len); } + static void lcd_implementation_drawmenu_sddirectory(uint8_t row, const char* longFilename) { - char c; - uint8_t n = LCD_WIDTH - 2; + uint8_t len = LCD_WIDTH - 2; lcd_set_cursor(0, row); - lcd_print((lcd_encoder == menu_item)?'>':' '); - lcd_print(LCD_STR_FOLDER[0]); - while( ((c = *longFilename) != '\0') && (n>0) ) - { - lcd_print(c); - longFilename++; - n--; - } - lcd_space(n); + lcd_print((lcd_encoder == menu_item)?'>':' '); + lcd_print(LCD_STR_FOLDER[0]); + lcd_print_pad(longFilename, len); }