diff --git a/Marlin/language.h b/Marlin/language.h index 9e70814fb..ed94cc36e 100644 --- a/Marlin/language.h +++ b/Marlin/language.h @@ -77,8 +77,18 @@ #define MSG_AUTO_HOME "Auto home" #define MSG_SET_ORIGIN "Set origin" #define MSG_PREHEAT_PLA "Preheat PLA" + #define MSG_PREHEAT_PLA0 "Preheat PLA 1" + #define MSG_PREHEAT_PLA1 "Preheat PLA 2" + #define MSG_PREHEAT_PLA2 "Preheat PLA 3" + #define MSG_PREHEAT_PLA012 "Preheat PLA All" + #define MSG_PREHEAT_PLA_BEDONLY "Preheat PLA Bed" #define MSG_PREHEAT_PLA_SETTINGS "Preheat PLA conf" #define MSG_PREHEAT_ABS "Preheat ABS" + #define MSG_PREHEAT_ABS0 "Preheat ABS 1" + #define MSG_PREHEAT_ABS1 "Preheat ABS 2" + #define MSG_PREHEAT_ABS2 "Preheat ABS 3" + #define MSG_PREHEAT_ABS012 "Preheat ABS All" + #define MSG_PREHEAT_ABS_BEDONLY "Preheat ABS Bed" #define MSG_PREHEAT_ABS_SETTINGS "Preheat ABS conf" #define MSG_COOLDOWN "Cooldown" #define MSG_SWITCH_PS_ON "Switch power on" @@ -251,7 +261,6 @@ #if LANGUAGE_CHOICE == 2 - // LCD Menu Messages // Please note these are limited to 17 characters! @@ -264,8 +273,18 @@ #define MSG_AUTO_HOME "Auto. poz. zerowa" #define MSG_SET_ORIGIN "Ustaw punkt zero" #define MSG_PREHEAT_PLA "Rozgrzej PLA" + #define MSG_PREHEAT_PLA0 "Rozgrzej PLA 1" + #define MSG_PREHEAT_PLA1 "Rozgrzej PLA 2" + #define MSG_PREHEAT_PLA2 "Rozgrzej PLA 3" + #define MSG_PREHEAT_PLA012 "Roz. PLA Wszystko" + #define MSG_PREHEAT_PLA_BEDONLY "Rozgrzej PLA Loze" #define MSG_PREHEAT_PLA_SETTINGS "Ustaw. rozg. PLA" #define MSG_PREHEAT_ABS "Rozgrzej ABS" + #define MSG_PREHEAT_ABS0 "Rozgrzej ABS 1" + #define MSG_PREHEAT_ABS1 "Rozgrzej ABS 2" + #define MSG_PREHEAT_ABS2 "Rozgrzej ABS 3" + #define MSG_PREHEAT_ABS012 "Roz. ABS Wszystko" + #define MSG_PREHEAT_ABS_BEDONLY "Rozgrzej ABS Loze" #define MSG_PREHEAT_ABS_SETTINGS "Ustaw. rozg. ABS" #define MSG_COOLDOWN "Chlodzenie" #define MSG_SWITCH_PS_ON "Wlacz zasilacz" @@ -453,8 +472,18 @@ #define MSG_AUTO_HOME "Home auto." #define MSG_SET_ORIGIN "Regler origine" #define MSG_PREHEAT_PLA " Prechauffage PLA" - #define MSG_PREHEAT_PLA_SETTINGS " Regl. prech. PLA" + #define MSG_PREHEAT_PLA0 "Prechauff. PLA 1" + #define MSG_PREHEAT_PLA1 "Prechauff. PLA 2" + #define MSG_PREHEAT_PLA2 "Prechauff. PLA 3" + #define MSG_PREHEAT_PLA012 "Prech. PLA Tout" + #define MSG_PREHEAT_PLA_BEDONLY "Prech. PLA Plateau" + #define MSG_PREHEAT_PLA_SETTINGS "Regl. prech. PLA" #define MSG_PREHEAT_ABS "Prechauffage ABS" + #define MSG_PREHEAT_ABS0 "Prechauff. ABS 1" + #define MSG_PREHEAT_ABS1 "Prechauff. ABS 2" + #define MSG_PREHEAT_ABS2 "Prechauff. ABS 3" + #define MSG_PREHEAT_ABS012 "Prech. ABS Tout" + #define MSG_PREHEAT_ABS_BEDONLY "Prech. ABS Plateau" #define MSG_PREHEAT_ABS_SETTINGS "Regl. prech. ABS" #define MSG_COOLDOWN "Refroidir" #define MSG_SWITCH_PS_ON "Allumer alim." @@ -643,8 +672,18 @@ #define MSG_AUTO_HOME "Auto Nullpunkt" #define MSG_SET_ORIGIN "Setze Nullpunkt" #define MSG_PREHEAT_PLA "Vorwärmen PLA" + #define MSG_PREHEAT_PLA0 "Vorwärmen PLA 1" + #define MSG_PREHEAT_PLA1 "Vorwärmen PLA 2" + #define MSG_PREHEAT_PLA2 "Vorwärmen PLA 3" + #define MSG_PREHEAT_PLA012 "Vorw. PLA Alle" + #define MSG_PREHEAT_PLA_BEDONLY "Vorw. PLA Bett" #define MSG_PREHEAT_PLA_SETTINGS "Vorwärm. PLA Ein." #define MSG_PREHEAT_ABS "Vorwärmen ABS" + #define MSG_PREHEAT_ABS0 "Vorwärmen ABS 1" + #define MSG_PREHEAT_ABS1 "Vorwärmen ABS 2" + #define MSG_PREHEAT_ABS2 "Vorwärmen ABS 3" + #define MSG_PREHEAT_ABS012 "Vorw. ABS Alle" + #define MSG_PREHEAT_ABS_BEDONLY "Vorw. ABS Bett" #define MSG_PREHEAT_ABS_SETTINGS "Vorwärm. ABS Ein." #define MSG_COOLDOWN "Abkühlen" #define MSG_SWITCH_PS_ON "Switch Power On" @@ -832,8 +871,18 @@ #define MSG_AUTO_HOME "Llevar al origen" #define MSG_SET_ORIGIN "Establecer cero" #define MSG_PREHEAT_PLA "Precalentar PLA" + #define MSG_PREHEAT_PLA0 "Precalentar PLA 1" + #define MSG_PREHEAT_PLA1 "Precalentar PLA 2" + #define MSG_PREHEAT_PLA2 "Precalentar PLA 3" + #define MSG_PREHEAT_PLA012 "Precal. PLA Todo" + #define MSG_PREHEAT_PLA_BEDONLY "Precal. PLA Base" #define MSG_PREHEAT_PLA_SETTINGS "Ajustar temp. PLA" #define MSG_PREHEAT_ABS "Precalentar ABS" + #define MSG_PREHEAT_ABS0 "Precalentar ABS 1" + #define MSG_PREHEAT_ABS1 "Precalentar ABS 2" + #define MSG_PREHEAT_ABS2 "Precalentar ABS 3" + #define MSG_PREHEAT_ABS012 "Precal. ABS Todo" + #define MSG_PREHEAT_ABS_BEDONLY "Precal. ABS Base" #define MSG_PREHEAT_ABS_SETTINGS "Ajustar temp. ABS" #define MSG_COOLDOWN "Enfriar" #define MSG_SWITCH_PS_ON "Switch Power On" @@ -1017,17 +1066,27 @@ // LCD Menu Messages // Please note these are limited to 17 characters! - #define WELCOME_MSG MACHINE_NAME " Готов." + #define WELCOME_MSG MACHINE_NAME "Готов." #define MSG_SD_INSERTED "Карта вставлена" #define MSG_SD_REMOVED "Карта извлечена" - #define MSG_MAIN "Меню \003" + #define MSG_MAIN "Меню \003" #define MSG_AUTOSTART "Автостарт" #define MSG_DISABLE_STEPPERS "Выкл. двигатели" #define MSG_AUTO_HOME "Парковка" #define MSG_SET_ORIGIN "Запомнить ноль" #define MSG_PREHEAT_PLA "Преднагрев PLA" + #define MSG_PREHEAT_PLA0 "Преднагрев PLA0" + #define MSG_PREHEAT_PLA1 "Преднагрев PLA1" + #define MSG_PREHEAT_PLA2 "Преднагрев PLA2" + #define MSG_PREHEAT_PLA012 "Преднаг. PLA все" + #define MSG_PREHEAT_PLA_BEDONLY "Пред. PLA Кровать" #define MSG_PREHEAT_PLA_SETTINGS "Настройки PLA" #define MSG_PREHEAT_ABS "Преднагрев ABS" + #define MSG_PREHEAT_ABS0 "Преднагрев ABS0" + #define MSG_PREHEAT_ABS1 "Преднагрев ABS1" + #define MSG_PREHEAT_ABS2 "Преднагрев ABS2" + #define MSG_PREHEAT_ABS012 "Преднаг. ABS все " + #define MSG_PREHEAT_ABS_BEDONLY "Пред. ABS Кровать" #define MSG_PREHEAT_ABS_SETTINGS "Настройки ABS" #define MSG_COOLDOWN "Охлаждение" #define MSG_SWITCH_PS_ON "Switch Power On" @@ -1091,8 +1150,8 @@ #define MSG_WATCH "Обзор \003" #define MSG_PREPARE "Действия \x7E" #define MSG_TUNE "Настройки \x7E" - #define MSG_RESUME_PRINT "Продолжить печать" - #define MSG_RESUME_PRINT "Продолжить печать" + #define MSG_PAUSE_PRINT "Продолжить печать" + #define MSG_RESUME_PRINT "возобн. печать" #define MSG_STOP_PRINT "Остановить печать" #define MSG_CARD_MENU "Меню карты \x7E" #define MSG_NO_CARD "Нет карты" @@ -1211,8 +1270,18 @@ #define MSG_AUTO_HOME "Auto Home" #define MSG_SET_ORIGIN "Imposta Origine" #define MSG_PREHEAT_PLA "Preriscalda PLA" + #define MSG_PREHEAT_PLA0 "Preriscalda PLA 1" + #define MSG_PREHEAT_PLA1 "Preriscalda PLA 2" + #define MSG_PREHEAT_PLA2 "Preriscalda PLA 3" + #define MSG_PREHEAT_PLA012 "Preris. PLA Tutto" + #define MSG_PREHEAT_PLA_BEDONLY "Preri. PLA Piatto" #define MSG_PREHEAT_PLA_SETTINGS "Preris. PLA Conf" #define MSG_PREHEAT_ABS "Preriscalda ABS" + #define MSG_PREHEAT_ABS0 "Preriscalda ABS 1" + #define MSG_PREHEAT_ABS1 "Preriscalda ABS 2" + #define MSG_PREHEAT_ABS2 "Preriscalda ABS 3" + #define MSG_PREHEAT_ABS012 "Preris. ABS Tutto" + #define MSG_PREHEAT_ABS_BEDONLY "Preri. ABS Piatto" #define MSG_PREHEAT_ABS_SETTINGS "Preris. ABS Conf" #define MSG_COOLDOWN "Raffredda" #define MSG_SWITCH_PS_ON "Switch Power On" @@ -1398,8 +1467,18 @@ #define MSG_AUTO_HOME "Ir para origen" #define MSG_SET_ORIGIN "Estabelecer orig." #define MSG_PREHEAT_PLA "Pre-aquecer PLA" + #define MSG_PREHEAT_PLA0 " pre-aquecer PLA 1" + #define MSG_PREHEAT_PLA1 " pre-aquecer PLA 2" + #define MSG_PREHEAT_PLA2 " pre-aquecer PLA 3" + #define MSG_PREHEAT_PLA012 " pre-aq. PLA Tudo" + #define MSG_PREHEAT_PLA_BEDONLY " pre-aq. PLA \002Base" #define MSG_PREHEAT_PLA_SETTINGS "PLA setting" #define MSG_PREHEAT_ABS "Pre-aquecer ABS" + #define MSG_PREHEAT_ABS0 " pre-aquecer ABS 1" + #define MSG_PREHEAT_ABS1 " pre-aquecer ABS 2" + #define MSG_PREHEAT_ABS2 " pre-aquecer ABS 3" + #define MSG_PREHEAT_ABS012 " pre-aq. ABS Tudo" + #define MSG_PREHEAT_ABS_BEDONLY " pre-aq. ABS \002Base" #define MSG_PREHEAT_ABS_SETTINGS "ABS setting" #define MSG_COOLDOWN "Esfriar" #define MSG_SWITCH_PS_ON "Switch Power On" @@ -1592,8 +1671,18 @@ #define MSG_AUTO_HOME "Aja referenssiin" #define MSG_SET_ORIGIN "Aseta origo" #define MSG_PREHEAT_PLA "Esilammita PLA" + #define MSG_PREHEAT_PLA0 "Esilammita PLA 1" + #define MSG_PREHEAT_PLA1 "Esilammita PLA 2" + #define MSG_PREHEAT_PLA2 "Esilammita PLA 3" + #define MSG_PREHEAT_PLA012 "Esila. PLA Kaikki" + #define MSG_PREHEAT_PLA_BEDONLY "Esila. PLA Alusta" #define MSG_PREHEAT_PLA_SETTINGS "Esilamm. PLA konf" #define MSG_PREHEAT_ABS "Esilammita ABS" + #define MSG_PREHEAT_ABS0 "Esilammita ABS 1" + #define MSG_PREHEAT_ABS1 "Esilammita ABS 2" + #define MSG_PREHEAT_ABS2 "Esilammita ABS 3" + #define MSG_PREHEAT_ABS012 "Esila. ABS Kaikki" + #define MSG_PREHEAT_ABS_BEDONLY "Esila. ABS Alusta" #define MSG_PREHEAT_ABS_SETTINGS "Esilamm. ABS konf" #define MSG_COOLDOWN "Jaahdyta" #define MSG_SWITCH_PS_ON "Virta paalle" @@ -1779,8 +1868,18 @@ #define MSG_AUTO_HOME "Levar a l'orichen" #define MSG_SET_ORIGIN "Establir zero" #define MSG_PREHEAT_PLA "Precalentar PLA" + #define MSG_PREHEAT_PLA0 "Precalentar PLA0" + #define MSG_PREHEAT_PLA1 "Precalentar PLA1" + #define MSG_PREHEAT_PLA2 "Precalentar PLA2" + #define MSG_PREHEAT_PLA012 "Precalentar PLA a" + #define MSG_PREHEAT_PLA_BEDONLY "Prec. PLA Base" #define MSG_PREHEAT_PLA_SETTINGS "Achustar tem. PLA" #define MSG_PREHEAT_ABS "Precalentar ABS" + #define MSG_PREHEAT_ABS0 "Precalentar ABS0" + #define MSG_PREHEAT_ABS1 "Precalentar ABS1" + #define MSG_PREHEAT_ABS2 "Precalentar ABS2" + #define MSG_PREHEAT_ABS012 "Precalentar ABS a" + #define MSG_PREHEAT_ABS_BEDONLY "Prec. ABS Base" #define MSG_PREHEAT_ABS_SETTINGS "Achustar tem. ABS" #define MSG_COOLDOWN "Enfriar" #define MSG_SWITCH_PS_ON "Enchegar Fuent" @@ -1972,8 +2071,18 @@ #define MSG_AUTO_HOME "Auto home" #define MSG_SET_ORIGIN "Nulpunt instellen" #define MSG_PREHEAT_PLA "PLA voorverwarmen" + #define MSG_PREHEAT_PLA0 "PLA voorverw. 0" + #define MSG_PREHEAT_PLA1 "PLA voorverw. 1" + #define MSG_PREHEAT_PLA2 "PLA voorverw. 2" + #define MSG_PREHEAT_PLA012 "PLA voorverw. aan" + #define MSG_PREHEAT_PLA_BEDONLY "PLA voorverw. Bed" #define MSG_PREHEAT_PLA_SETTINGS "PLA verw. conf" #define MSG_PREHEAT_ABS "ABS voorverwarmen" + #define MSG_PREHEAT_ABS0 "ABS voorverw. 0" + #define MSG_PREHEAT_ABS1 "ABS voorverw. 1" + #define MSG_PREHEAT_ABS2 "ABS voorverw. 2" + #define MSG_PREHEAT_ABS012 "ABS voorverw. aan" + #define MSG_PREHEAT_ABS_BEDONLY "ABS voorverw. Bed" #define MSG_PREHEAT_ABS_SETTINGS "ABS verw. conf" #define MSG_COOLDOWN "Afkoelen" #define MSG_SWITCH_PS_ON "Stroom aan" @@ -1995,6 +2104,9 @@ #define MSG_BED "Bed" #define MSG_FAN_SPEED "Fan snelheid" #define MSG_FLOW "Flow" + #define MSG_FLOW0 "Flow 0" + #define MSG_FLOW1 "Flow 1" + #define MSG_FLOW2 "Flow 2" #define MSG_CONTROL "Control" #define MSG_MIN " \002 Min" #define MSG_MAX " \002 Max" @@ -2087,6 +2199,7 @@ #define MSG_M105_INVALID_EXTRUDER "M105 Ongeldige extruder " #define MSG_M200_INVALID_EXTRUDER "M200 Ongeldige extruder " #define MSG_M218_INVALID_EXTRUDER "M218 Ongeldige extruder " + #define MSG_M221_INVALID_EXTRUDER "M221 Ongeldige extruder " #define MSG_ERR_NO_THERMISTORS "Geen thermistors - geen temperatuur" #define MSG_M109_INVALID_EXTRUDER "M109 Ongeldige extruder " #define MSG_HEATING "Opwarmen..." diff --git a/Marlin/ultralcd.cpp b/Marlin/ultralcd.cpp index 4c8df66de..8ae977d21 100644 --- a/Marlin/ultralcd.cpp +++ b/Marlin/ultralcd.cpp @@ -304,37 +304,6 @@ static void lcd_autostart_sd() } #endif -void lcd_preheat_pla() -{ - setTargetHotend0(plaPreheatHotendTemp); - setTargetHotend1(plaPreheatHotendTemp); - setTargetHotend2(plaPreheatHotendTemp); - setTargetBed(plaPreheatHPBTemp); - fanSpeed = plaPreheatFanSpeed; - lcd_return_to_status(); - setWatch(); // heater sanity check timer -} - -void lcd_preheat_abs() -{ - setTargetHotend0(absPreheatHotendTemp); - setTargetHotend1(absPreheatHotendTemp); - setTargetHotend2(absPreheatHotendTemp); - setTargetBed(absPreheatHPBTemp); - fanSpeed = absPreheatFanSpeed; - lcd_return_to_status(); - setWatch(); // heater sanity check timer -} - -static void lcd_cooldown() -{ - setTargetHotend0(0); - setTargetHotend1(0); - setTargetHotend2(0); - setTargetBed(0); - lcd_return_to_status(); -} - #ifdef BABYSTEPPING static void lcd_babystep_x() { @@ -435,6 +404,154 @@ static void lcd_tune_menu() END_MENU(); } +void lcd_preheat_pla0() +{ + setTargetHotend0(plaPreheatHotendTemp); + setTargetBed(plaPreheatHPBTemp); + fanSpeed = plaPreheatFanSpeed; + lcd_return_to_status(); + setWatch(); // heater sanity check timer +} + +void lcd_preheat_abs0() +{ + setTargetHotend0(absPreheatHotendTemp); + setTargetBed(absPreheatHPBTemp); + fanSpeed = absPreheatFanSpeed; + lcd_return_to_status(); + setWatch(); // heater sanity check timer +} + +#if TEMP_SENSOR_1 != 0 //2nd extruder preheat +void lcd_preheat_pla1() +{ + setTargetHotend1(plaPreheatHotendTemp); + setTargetBed(plaPreheatHPBTemp); + fanSpeed = plaPreheatFanSpeed; + lcd_return_to_status(); + setWatch(); // heater sanity check timer +} + +void lcd_preheat_abs1() +{ + setTargetHotend1(absPreheatHotendTemp); + setTargetBed(absPreheatHPBTemp); + fanSpeed = absPreheatFanSpeed; + lcd_return_to_status(); + setWatch(); // heater sanity check timer +} +#endif //2nd extruder preheat + +#if TEMP_SENSOR_2 != 0 //3 extruder preheat +void lcd_preheat_pla2() +{ + setTargetHotend2(plaPreheatHotendTemp); + setTargetBed(plaPreheatHPBTemp); + fanSpeed = plaPreheatFanSpeed; + lcd_return_to_status(); + setWatch(); // heater sanity check timer +} + +void lcd_preheat_abs2() +{ + setTargetHotend2(absPreheatHotendTemp); + setTargetBed(absPreheatHPBTemp); + fanSpeed = absPreheatFanSpeed; + lcd_return_to_status(); + setWatch(); // heater sanity check timer +} +#endif //3 extruder preheat + +#if TEMP_SENSOR_1 != 0 || TEMP_SENSOR_2 != 0 //more than one extruder present +void lcd_preheat_pla012() +{ + setTargetHotend0(plaPreheatHotendTemp); + setTargetHotend1(plaPreheatHotendTemp); + setTargetHotend2(plaPreheatHotendTemp); + setTargetBed(plaPreheatHPBTemp); + fanSpeed = plaPreheatFanSpeed; + lcd_return_to_status(); + setWatch(); // heater sanity check timer +} + +void lcd_preheat_abs012() +{ + setTargetHotend0(absPreheatHotendTemp); + setTargetHotend1(absPreheatHotendTemp); + setTargetHotend2(absPreheatHotendTemp); + setTargetBed(absPreheatHPBTemp); + fanSpeed = absPreheatFanSpeed; + lcd_return_to_status(); + setWatch(); // heater sanity check timer +} +#endif //more than one extruder present + +void lcd_preheat_pla_bedonly() +{ + setTargetBed(plaPreheatHPBTemp); + fanSpeed = plaPreheatFanSpeed; + lcd_return_to_status(); + setWatch(); // heater sanity check timer +} + +void lcd_preheat_abs_bedonly() +{ + setTargetBed(absPreheatHPBTemp); + fanSpeed = absPreheatFanSpeed; + lcd_return_to_status(); + setWatch(); // heater sanity check timer +} + +static void lcd_preheat_pla_menu() +{ + START_MENU(); + MENU_ITEM(back, MSG_PREPARE, lcd_prepare_menu); + MENU_ITEM(function, MSG_PREHEAT_PLA0, lcd_preheat_pla0); +#if TEMP_SENSOR_1 != 0 //2 extruder preheat + MENU_ITEM(function, MSG_PREHEAT_PLA1, lcd_preheat_pla1); +#endif //2 extruder preheat +#if TEMP_SENSOR_2 != 0 //3 extruder preheat + MENU_ITEM(function, MSG_PREHEAT_PLA2, lcd_preheat_pla2); +#endif //3 extruder preheat +#if TEMP_SENSOR_1 != 0 || TEMP_SENSOR_2 != 0 //all extruder preheat + MENU_ITEM(function, MSG_PREHEAT_PLA012, lcd_preheat_pla012); +#endif //2 extruder preheat +#if TEMP_SENSOR_BED != 0 + MENU_ITEM(function, MSG_PREHEAT_PLA_BEDONLY, lcd_preheat_pla_bedonly); +#endif + END_MENU(); +} + +static void lcd_preheat_abs_menu() +{ + START_MENU(); + MENU_ITEM(back, MSG_PREPARE, lcd_prepare_menu); + MENU_ITEM(function, MSG_PREHEAT_ABS0, lcd_preheat_abs0); +#if TEMP_SENSOR_1 != 0 //2 extruder preheat + MENU_ITEM(function, MSG_PREHEAT_ABS1, lcd_preheat_abs1); +#endif //2 extruder preheat +#if TEMP_SENSOR_2 != 0 //3 extruder preheat + MENU_ITEM(function, MSG_PREHEAT_ABS2, lcd_preheat_abs2); +#endif //3 extruder preheat +#if TEMP_SENSOR_1 != 0 || TEMP_SENSOR_2 != 0 //all extruder preheat + MENU_ITEM(function, MSG_PREHEAT_ABS012, lcd_preheat_abs012); +#endif //2 extruder preheat +#if TEMP_SENSOR_BED != 0 + MENU_ITEM(function, MSG_PREHEAT_ABS_BEDONLY, lcd_preheat_abs_bedonly); +#endif + END_MENU(); +} + +void lcd_cooldown() +{ + setTargetHotend0(0); + setTargetHotend1(0); + setTargetHotend2(0); + setTargetBed(0); + fanSpeed = 0; + lcd_return_to_status(); +} + static void lcd_prepare_menu() { START_MENU(); @@ -447,8 +564,15 @@ static void lcd_prepare_menu() MENU_ITEM(gcode, MSG_DISABLE_STEPPERS, PSTR("M84")); MENU_ITEM(gcode, MSG_AUTO_HOME, PSTR("G28")); //MENU_ITEM(gcode, MSG_SET_ORIGIN, PSTR("G92 X0 Y0 Z0")); - MENU_ITEM(function, MSG_PREHEAT_PLA, lcd_preheat_pla); - MENU_ITEM(function, MSG_PREHEAT_ABS, lcd_preheat_abs); +#if TEMP_SENSOR_0 != 0 + #if TEMP_SENSOR_1 != 0 || TEMP_SENSOR_2 != 0 || TEMP_SENSOR_BED != 0 + MENU_ITEM(submenu, MSG_PREHEAT_PLA, lcd_preheat_pla_menu); + MENU_ITEM(submenu, MSG_PREHEAT_ABS, lcd_preheat_abs_menu); + #else + MENU_ITEM(function, MSG_PREHEAT_PLA, lcd_preheat_pla0); + MENU_ITEM(function, MSG_PREHEAT_ABS, lcd_preheat_abs0); + #endif +#endif MENU_ITEM(function, MSG_COOLDOWN, lcd_cooldown); #if PS_ON_PIN > -1 if (powersupply)