From 8df6691819581dd6e35c42e6810569040d6b3487 Mon Sep 17 00:00:00 2001 From: vintagepc Date: Thu, 29 Aug 2019 18:07:24 -0400 Subject: [PATCH 1/4] Relocate sheet menu, show sheet on info screen -Sheet is shown instead of percentage done either if idle, or during print preheat. -Relocated sheet menu to below SD menu for additional visibility to current sheet. --- Firmware/ultralcd.cpp | 30 ++++++++++++++++++++---------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index e601fd755..5591586b2 100755 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -598,11 +598,21 @@ void lcdui_print_feedrate(void) // Print percent done in form "USB---%", " SD---%", " ---%" (7 chars total) void lcdui_print_percent_done(void) { + char sheet[8]; const char* src = is_usb_printing?_N("USB"):(IS_SD_PRINTING?_N(" SD"):_N(" ")); char per[4]; bool num = IS_SD_PRINTING || (PRINTER_ACTIVE && (print_percent_done_normal != PRINT_PERCENT_DONE_INIT)); - sprintf_P(per, num?_N("%3hhd"):_N("---"), calc_percent_done()); - lcd_printf_P(_N("%3S%3s%%"), src, per); + if (!num || heating_status) // either not printing or heating + { + eeprom_read_block(sheet, EEPROM_Sheets_base->s[selected_sheet].name, 7); + sheet[7] = '\0'; + lcd_printf_P(PSTR("%s"),sheet); + } + else + { + sprintf_P(per, num?_N("%3hhd"):_N("---"), calc_percent_done()); + lcd_printf_P(_N("%3S%3s%%"), src, per); + } } // Print extruder status (5 chars total) @@ -6714,6 +6724,14 @@ static void lcd_main_menu() } #endif + if(!isPrintPaused && !IS_SD_PRINTING && !is_usb_printing && (lcd_commands_type != LcdCommands::Layer1Cal)) + { + if (!farm_mode) + { + MENU_ITEM_SUBMENU_SELECT_SHEET_E(EEPROM_Sheets_base->s[eeprom_read_byte(&(EEPROM_Sheets_base->active_sheet))], change_sheet_from_menu); + } + } + if (IS_SD_PRINTING || is_usb_printing || (lcd_commands_type == LcdCommands::Layer1Cal)) { @@ -6759,14 +6777,6 @@ static void lcd_main_menu() } - if(!isPrintPaused && !IS_SD_PRINTING && !is_usb_printing && (lcd_commands_type != LcdCommands::Layer1Cal)) - { - if (!farm_mode) - { - MENU_ITEM_SUBMENU_SELECT_SHEET_E(EEPROM_Sheets_base->s[eeprom_read_byte(&(EEPROM_Sheets_base->active_sheet))], change_sheet_from_menu); - } - } - if (!is_usb_printing && (lcd_commands_type != LcdCommands::Layer1Cal)) { MENU_ITEM_SUBMENU_P(_i("Statistics "), lcd_menu_statistics);////MSG_STATISTICS From 871e29621f90e1e05031b45793ac813cb14dfec7 Mon Sep 17 00:00:00 2001 From: vintagepc Date: Fri, 30 Aug 2019 19:14:22 -0400 Subject: [PATCH 2/4] Fix "stuck" rename cursor --- Firmware/ultralcd.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 5591586b2..4af82c2d5 100755 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -6580,6 +6580,15 @@ static void lcd_rename_sheet_menu() lcd_putc(menuData->name[i]); } lcd_set_cursor(menuData->selected, 1); + if (menuData->selected>0) + { + lcd_set_cursor(menuData->selected-1, 1); + lcd_putc(' '); + } + else + { + lcd_set_cursor(menuData->selected, 1); + } lcd_putc('^'); if (lcd_clicked()) { From 339771a5fb3f13456429234e120d5d2bbdca8edc Mon Sep 17 00:00:00 2001 From: vintagepc Date: Sat, 31 Aug 2019 21:27:08 -0400 Subject: [PATCH 3/4] Fixed info screen when selected_sheet hasn't been initialized. --- Firmware/ultralcd.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 0460e1471..66e08143d 100755 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -600,7 +600,7 @@ void lcdui_print_percent_done(void) bool num = IS_SD_PRINTING || (PRINTER_ACTIVE && (print_percent_done_normal != PRINT_PERCENT_DONE_INIT)); if (!num || heating_status) // either not printing or heating { - eeprom_read_block(sheet, EEPROM_Sheets_base->s[selected_sheet].name, 7); + eeprom_read_block(sheet, EEPROM_Sheets_base->s[eeprom_read_byte(&(EEPROM_Sheets_base->active_sheet))].name, 7); sheet[7] = '\0'; lcd_printf_P(PSTR("%s"),sheet); } From f6c35c5d5f1e292716a456ca09e43f55c2a4dd34 Mon Sep 17 00:00:00 2001 From: vintagepc <53943260+vintagepc@users.noreply.github.com> Date: Fri, 15 Nov 2019 08:58:58 -0500 Subject: [PATCH 4/4] Removed separate fix for #2089 Per PR fix request --- Firmware/ultralcd.cpp | 9 --------- 1 file changed, 9 deletions(-) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 66e08143d..2235c7af0 100755 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -6552,15 +6552,6 @@ static void lcd_rename_sheet_menu() lcd_putc(menuData->name[i]); } lcd_set_cursor(menuData->selected, 1); - if (menuData->selected>0) - { - lcd_set_cursor(menuData->selected-1, 1); - lcd_putc(' '); - } - else - { - lcd_set_cursor(menuData->selected, 1); - } lcd_putc('^'); if (lcd_clicked()) {