Fix an issue with menu_draw_item_puts_P
Change in memory: Flash: +16 bytes SRAM: 0 bytes
This commit is contained in:
parent
4f4153175c
commit
730bb3708e
|
|
@ -538,14 +538,14 @@ char lcd_print_pad(const char* s, uint8_t len)
|
|||
return *s;
|
||||
}
|
||||
|
||||
char lcd_print_pad_P(const char* s, uint8_t len)
|
||||
uint8_t lcd_print_pad_P(const char* s, uint8_t len)
|
||||
{
|
||||
while (len && pgm_read_byte(s)) {
|
||||
lcd_write(pgm_read_byte(s++));
|
||||
--len;
|
||||
}
|
||||
lcd_space(len);
|
||||
return *s;
|
||||
return len;
|
||||
}
|
||||
|
||||
void lcd_print(char c, int base)
|
||||
|
|
|
|||
|
|
@ -54,7 +54,12 @@ extern void lcd_printFloat(double number, uint8_t digits);
|
|||
|
||||
extern void lcd_print(const char*);
|
||||
extern char lcd_print_pad(const char* s, uint8_t len);
|
||||
char lcd_print_pad_P(const char* s, uint8_t len);
|
||||
|
||||
/// @brief print a string from PROGMEM with left-adjusted padding
|
||||
/// @param s string from PROGMEM.
|
||||
/// @param len maximum number of characters to print, including padding. Ranges from 0 to LCD_WIDTH.
|
||||
/// @return number of padded bytes. 0 means there was no padding.
|
||||
uint8_t lcd_print_pad_P(const char* s, uint8_t len);
|
||||
extern void lcd_print(char, int = 0);
|
||||
extern void lcd_print(unsigned char, int = 0);
|
||||
extern void lcd_print(int, int = 10);
|
||||
|
|
|
|||
|
|
@ -242,11 +242,11 @@ static void menu_draw_item_puts_E(char type_char, const Sheet &sheet)
|
|||
|
||||
static void menu_draw_item_puts_P(char type_char, const char* str, char num)
|
||||
{
|
||||
lcd_set_cursor(0, menu_row);
|
||||
lcd_putc(menu_selection_mark());
|
||||
lcd_print_pad_P(str, LCD_WIDTH - 3);
|
||||
lcd_putc(num);
|
||||
lcd_putc(type_char);
|
||||
const uint8_t max_strlen = LCD_WIDTH - 3;
|
||||
lcd_putc_at(0, menu_row, menu_selection_mark());
|
||||
uint8_t len = lcd_print_pad_P(str, max_strlen);
|
||||
lcd_putc_at((max_strlen - len) + 2, menu_row, num);
|
||||
lcd_putc_at(LCD_WIDTH - 1, menu_row, type_char);
|
||||
}
|
||||
|
||||
void menu_item_dummy(void)
|
||||
|
|
|
|||
Loading…
Reference in New Issue