|
@@ -238,9 +238,7 @@ static void lcd_detect_IRsensor();
|
|
|
#endif //IR_SENSOR_ANALOG
|
|
|
static void lcd_selftest_error(TestError error, const char *_error_1, const char *_error_2);
|
|
|
static void lcd_colorprint_change();
|
|
|
-#ifdef SNMM
|
|
|
-static int get_ext_nr();
|
|
|
-#endif //SNMM
|
|
|
+
|
|
|
#if defined (SNMM) || defined(SNMM_V2)
|
|
|
static void fil_load_menu();
|
|
|
static void fil_unload_menu();
|
|
@@ -3211,7 +3209,6 @@ void lcd_adjust_z() {
|
|
|
|
|
|
#ifdef PINDA_THERMISTOR
|
|
|
bool lcd_wait_for_pinda(float temp) {
|
|
|
- lcd_set_custom_characters_degree();
|
|
|
setAllTargetHotends(0);
|
|
|
setTargetBed(0);
|
|
|
LongTimer pinda_timeout;
|
|
@@ -3226,7 +3223,7 @@ bool lcd_wait_for_pinda(float temp) {
|
|
|
lcd_print(ftostr3(current_temperature_pinda));
|
|
|
lcd_print('/');
|
|
|
lcd_print(ftostr3(temp));
|
|
|
- lcd_print(LCD_STR_DEGREE);
|
|
|
+ lcd_print(LCD_STR_DEGREE[0]);
|
|
|
delay_keep_alive(1000);
|
|
|
serialecho_temperatures();
|
|
|
if (pinda_timeout.expired(8 * 60 * 1000ul)) { //PINDA cooling from 60 C to 35 C takes about 7 minutes
|
|
@@ -3234,7 +3231,6 @@ bool lcd_wait_for_pinda(float temp) {
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
- lcd_set_custom_characters_arrows();
|
|
|
lcd_update_enable(true);
|
|
|
return target_temp_reached;
|
|
|
}
|
|
@@ -3242,17 +3238,15 @@ bool lcd_wait_for_pinda(float temp) {
|
|
|
|
|
|
void lcd_wait_for_heater() {
|
|
|
lcd_display_message_fullscreen_P(_T(MSG_WIZARD_HEATING));
|
|
|
- lcd_set_degree();
|
|
|
lcd_set_cursor(0, 4);
|
|
|
lcd_print(LCD_STR_THERMOMETER[0]);
|
|
|
lcd_print(ftostr3(degHotend(active_extruder)));
|
|
|
lcd_print('/');
|
|
|
lcd_print(ftostr3(degTargetHotend(active_extruder)));
|
|
|
- lcd_print(LCD_STR_DEGREE);
|
|
|
+ lcd_print(LCD_STR_DEGREE[0]);
|
|
|
}
|
|
|
|
|
|
void lcd_wait_for_cool_down() {
|
|
|
- lcd_set_custom_characters_degree();
|
|
|
setAllTargetHotends(0);
|
|
|
setTargetBed(0);
|
|
|
int fanSpeedBckp = fanSpeed;
|
|
@@ -3264,19 +3258,17 @@ void lcd_wait_for_cool_down() {
|
|
|
lcd_print(LCD_STR_THERMOMETER[0]);
|
|
|
lcd_print(ftostr3(degHotend(0)));
|
|
|
lcd_print("/0");
|
|
|
- lcd_print(LCD_STR_DEGREE);
|
|
|
+ lcd_print(LCD_STR_DEGREE[0]);
|
|
|
|
|
|
lcd_set_cursor(9, 4);
|
|
|
lcd_print(LCD_STR_BEDTEMP[0]);
|
|
|
lcd_print(ftostr3(degBed()));
|
|
|
lcd_print("/0");
|
|
|
- lcd_print(LCD_STR_DEGREE);
|
|
|
- lcd_set_custom_characters();
|
|
|
+ lcd_print(LCD_STR_DEGREE[0]);
|
|
|
delay_keep_alive(1000);
|
|
|
serialecho_temperatures();
|
|
|
}
|
|
|
fanSpeed = fanSpeedBckp;
|
|
|
- lcd_set_custom_characters_arrows();
|
|
|
lcd_update_enable(true);
|
|
|
}
|
|
|
|
|
@@ -3419,11 +3411,10 @@ static const char* lcd_display_message_fullscreen_nonBlocking_P(const char *msg,
|
|
|
|
|
|
if (multi_screen) {
|
|
|
// Display the "next screen" indicator character.
|
|
|
- // lcd_set_custom_characters_arrows();
|
|
|
lcd_set_custom_characters_nextpage();
|
|
|
lcd_set_cursor(19, 3);
|
|
|
- // Display the down arrow.
|
|
|
- lcd_print(char(1));
|
|
|
+ // Display the double down arrow.
|
|
|
+ lcd_print(LCD_STR_ARROW_2_DOWN[0]);
|
|
|
}
|
|
|
|
|
|
nlines = row;
|
|
@@ -3464,7 +3455,7 @@ void lcd_show_fullscreen_message_and_wait_P(const char *msg)
|
|
|
if (!multi_screen) {
|
|
|
lcd_set_cursor(19, 3);
|
|
|
// Display the confirm char.
|
|
|
- lcd_print(char(2));
|
|
|
+ lcd_print(LCD_STR_CONFIRM[0]);
|
|
|
}
|
|
|
// Wait for 5 seconds before displaying the next text.
|
|
|
for (uint8_t i = 0; i < 100; ++ i) {
|
|
@@ -3490,7 +3481,7 @@ void lcd_show_fullscreen_message_and_wait_P(const char *msg)
|
|
|
|
|
|
lcd_set_cursor(19, 3);
|
|
|
// Display the confirm char.
|
|
|
- lcd_print(char(2));
|
|
|
+ lcd_print(LCD_STR_CONFIRM[0]);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -4390,10 +4381,6 @@ static void lcd_fsensor_state_set()
|
|
|
}
|
|
|
#endif //FILAMENT_SENSOR
|
|
|
|
|
|
-void lcd_set_degree() {
|
|
|
- lcd_set_custom_characters_degree();
|
|
|
-}
|
|
|
-
|
|
|
#if (LANG_MODE != 0)
|
|
|
|
|
|
void menu_setlang(unsigned char lang)
|
|
@@ -4761,7 +4748,6 @@ static void wait_preheat()
|
|
|
plan_buffer_line_curposXYZE(homing_feedrate[Z_AXIS] / 60);
|
|
|
delay_keep_alive(2000);
|
|
|
lcd_display_message_fullscreen_P(_T(MSG_WIZARD_HEATING));
|
|
|
- lcd_set_custom_characters();
|
|
|
while (fabs(degHotend(0) - degTargetHotend(0)) > 3) {
|
|
|
lcd_display_message_fullscreen_P(_T(MSG_WIZARD_HEATING));
|
|
|
|
|
@@ -7236,7 +7222,7 @@ void lcd_belttest()
|
|
|
Y = eeprom_read_word((uint16_t*)(EEPROM_BELTSTATUS_Y));
|
|
|
lcd_set_cursor(10,3),lcd_printf_P(PSTR("%u"),Y);
|
|
|
lcd_set_cursor(19, 3);
|
|
|
- lcd_print(LCD_STR_UPLEVEL);
|
|
|
+ lcd_print(LCD_STR_UPLEVEL[0]);
|
|
|
lcd_wait_for_click_delay(10);
|
|
|
}
|
|
|
}
|
|
@@ -8551,10 +8537,8 @@ void ultralcd_init()
|
|
|
lcd_init();
|
|
|
lcd_refresh();
|
|
|
lcd_longpress_func = menu_lcd_longpress_func;
|
|
|
- lcd_charsetup_func = menu_lcd_charsetup_func;
|
|
|
lcd_lcdupdate_func = menu_lcd_lcdupdate_func;
|
|
|
menu_menu = lcd_status_screen;
|
|
|
- menu_lcd_charsetup_func();
|
|
|
|
|
|
SET_INPUT(BTN_EN1);
|
|
|
SET_INPUT(BTN_EN2);
|
|
@@ -8615,7 +8599,7 @@ static void lcd_connect_printer() {
|
|
|
i = 0;
|
|
|
lcd_puts_at_P(0, 3, PSTR(" "));
|
|
|
}
|
|
|
- if (i!=0) lcd_puts_at_P((i * 20) / (NC_BUTTON_LONG_PRESS * 10), 3, "\xFF");
|
|
|
+ if (i!=0) lcd_puts_at_P((i * 20) / (NC_BUTTON_LONG_PRESS * 10), 3, LCD_STR_SOLID_BLOCK[0]);
|
|
|
if (i == NC_BUTTON_LONG_PRESS * 10) {
|
|
|
no_response = false;
|
|
|
}
|
|
@@ -8770,14 +8754,6 @@ void menu_lcd_longpress_func(void)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-void menu_lcd_charsetup_func(void)
|
|
|
-{
|
|
|
- if (menu_menu == lcd_status_screen)
|
|
|
- lcd_set_custom_characters_degree();
|
|
|
- else
|
|
|
- lcd_set_custom_characters_arrows();
|
|
|
-}
|
|
|
-
|
|
|
static inline bool z_menu_expired()
|
|
|
{
|
|
|
return (menu_menu == lcd_babystep_z
|
|
@@ -8802,6 +8778,22 @@ void menu_lcd_lcdupdate_func(void)
|
|
|
#if (SDCARDDETECT > 0)
|
|
|
if ((IS_SD_INSERTED != lcd_oldcardstatus))
|
|
|
{
|
|
|
+ if(menu_menu == lcd_sdcard_menu) {
|
|
|
+ // If the user is either inside the submenus
|
|
|
+ // 1. 'Print from SD' --> and SD card is removed
|
|
|
+ // 2. 'No SD card' --> and SD card is inserted
|
|
|
+ //
|
|
|
+ // 1. 'Print from SD': We want to back out of this submenu
|
|
|
+ // and instead show the submenu title 'No SD card'.
|
|
|
+ //
|
|
|
+ // 2. 'No SD card': When the user inserts the SD card we want
|
|
|
+ // to back out of this submenu. Not only to show
|
|
|
+ // 'Print from SD' submenu title but also because the user
|
|
|
+ // will be prompted with another menu with the sorted list of files.
|
|
|
+ // Without backing out of the menu, the list will appear empty and
|
|
|
+ // The user will need to back out of two nested submenus.
|
|
|
+ menu_back();
|
|
|
+ }
|
|
|
lcd_draw_update = 2;
|
|
|
lcd_oldcardstatus = IS_SD_INSERTED;
|
|
|
lcd_refresh(); // to maybe revive the LCD if static electricity killed it.
|
|
@@ -8820,8 +8812,6 @@ void menu_lcd_lcdupdate_func(void)
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- if(menu_menu==lcd_sdcard_menu)
|
|
|
- menu_back();
|
|
|
card.release();
|
|
|
LCD_MESSAGERPGM(_i("Card removed"));////MSG_SD_REMOVED c=20
|
|
|
}
|