|
@@ -1009,7 +1009,7 @@ void kill_screen(const char* lcd_msg) {
|
1009
|
1009
|
void _lcd_preheat(int endnum, const float temph, const float tempb, const int fan) {
|
1010
|
1010
|
if (temph > 0) thermalManager.setTargetHotend(min(heater_maxtemp[endnum], temph), endnum);
|
1011
|
1011
|
#if TEMP_SENSOR_BED != 0
|
1012
|
|
- thermalManager.setTargetBed(tempb);
|
|
1012
|
+ if (tempb >= 0) thermalManager.setTargetBed(tempb);
|
1013
|
1013
|
#else
|
1014
|
1014
|
UNUSED(tempb);
|
1015
|
1015
|
#endif
|
|
@@ -1026,23 +1026,39 @@ void kill_screen(const char* lcd_msg) {
|
1026
|
1026
|
}
|
1027
|
1027
|
|
1028
|
1028
|
#if TEMP_SENSOR_0 != 0
|
1029
|
|
- void lcd_preheat_material1_hotend0() { _lcd_preheat(0, lcd_preheat_hotend_temp[0], lcd_preheat_bed_temp[0], lcd_preheat_fan_speed[0]); }
|
1030
|
|
- void lcd_preheat_material2_hotend0() { _lcd_preheat(0, lcd_preheat_hotend_temp[1], lcd_preheat_bed_temp[1], lcd_preheat_fan_speed[1]); }
|
|
1029
|
+ void lcd_preheat_m1_e0_only() { _lcd_preheat(0, lcd_preheat_hotend_temp[0], -1, lcd_preheat_fan_speed[0]); }
|
|
1030
|
+ void lcd_preheat_m2_e0_only() { _lcd_preheat(0, lcd_preheat_hotend_temp[1], -1, lcd_preheat_fan_speed[1]); }
|
|
1031
|
+ #if TEMP_SENSOR_BED != 0
|
|
1032
|
+ void lcd_preheat_m1_e0() { _lcd_preheat(0, lcd_preheat_hotend_temp[0], lcd_preheat_bed_temp[0], lcd_preheat_fan_speed[0]); }
|
|
1033
|
+ void lcd_preheat_m2_e0() { _lcd_preheat(0, lcd_preheat_hotend_temp[1], lcd_preheat_bed_temp[1], lcd_preheat_fan_speed[1]); }
|
|
1034
|
+ #endif
|
1031
|
1035
|
#endif
|
1032
|
1036
|
|
1033
|
1037
|
#if HOTENDS > 1
|
1034
|
|
- void lcd_preheat_material1_hotend1() { _lcd_preheat(1, lcd_preheat_hotend_temp[0], lcd_preheat_bed_temp[0], lcd_preheat_fan_speed[0]); }
|
1035
|
|
- void lcd_preheat_material2_hotend1() { _lcd_preheat(1, lcd_preheat_hotend_temp[1], lcd_preheat_bed_temp[1], lcd_preheat_fan_speed[1]); }
|
|
1038
|
+ void lcd_preheat_m1_e1_only() { _lcd_preheat(1, lcd_preheat_hotend_temp[0], -1, lcd_preheat_fan_speed[0]); }
|
|
1039
|
+ void lcd_preheat_m2_e1_only() { _lcd_preheat(1, lcd_preheat_hotend_temp[1], -1, lcd_preheat_fan_speed[1]); }
|
|
1040
|
+ #if TEMP_SENSOR_BED != 0
|
|
1041
|
+ void lcd_preheat_m1_e1() { _lcd_preheat(1, lcd_preheat_hotend_temp[0], lcd_preheat_bed_temp[0], lcd_preheat_fan_speed[0]); }
|
|
1042
|
+ void lcd_preheat_m2_e1() { _lcd_preheat(1, lcd_preheat_hotend_temp[1], lcd_preheat_bed_temp[1], lcd_preheat_fan_speed[1]); }
|
|
1043
|
+ #endif
|
1036
|
1044
|
#if HOTENDS > 2
|
1037
|
|
- void lcd_preheat_material1_hotend2() { _lcd_preheat(2, lcd_preheat_hotend_temp[0], lcd_preheat_bed_temp[0], lcd_preheat_fan_speed[0]); }
|
1038
|
|
- void lcd_preheat_material2_hotend2() { _lcd_preheat(2, lcd_preheat_hotend_temp[1], lcd_preheat_bed_temp[1], lcd_preheat_fan_speed[1]); }
|
|
1045
|
+ void lcd_preheat_m1_e2_only() { _lcd_preheat(2, lcd_preheat_hotend_temp[0], -1, lcd_preheat_fan_speed[0]); }
|
|
1046
|
+ void lcd_preheat_m2_e2_only() { _lcd_preheat(2, lcd_preheat_hotend_temp[1], -1, lcd_preheat_fan_speed[1]); }
|
|
1047
|
+ #if TEMP_SENSOR_BED != 0
|
|
1048
|
+ void lcd_preheat_m1_e2() { _lcd_preheat(2, lcd_preheat_hotend_temp[0], lcd_preheat_bed_temp[0], lcd_preheat_fan_speed[0]); }
|
|
1049
|
+ void lcd_preheat_m2_e2() { _lcd_preheat(2, lcd_preheat_hotend_temp[1], lcd_preheat_bed_temp[1], lcd_preheat_fan_speed[1]); }
|
|
1050
|
+ #endif
|
1039
|
1051
|
#if HOTENDS > 3
|
1040
|
|
- void lcd_preheat_material1_hotend3() { _lcd_preheat(3, lcd_preheat_hotend_temp[0], lcd_preheat_bed_temp[0], lcd_preheat_fan_speed[0]); }
|
1041
|
|
- void lcd_preheat_material2_hotend3() { _lcd_preheat(3, lcd_preheat_hotend_temp[1], lcd_preheat_bed_temp[1], lcd_preheat_fan_speed[1]); }
|
|
1052
|
+ void lcd_preheat_m1_e3_only() { _lcd_preheat(3, lcd_preheat_hotend_temp[0], -1, lcd_preheat_fan_speed[0]); }
|
|
1053
|
+ void lcd_preheat_m2_e3_only() { _lcd_preheat(3, lcd_preheat_hotend_temp[1], -1, lcd_preheat_fan_speed[1]); }
|
|
1054
|
+ #if TEMP_SENSOR_BED != 0
|
|
1055
|
+ void lcd_preheat_m1_e3() { _lcd_preheat(3, lcd_preheat_hotend_temp[0], lcd_preheat_bed_temp[0], lcd_preheat_fan_speed[0]); }
|
|
1056
|
+ void lcd_preheat_m2_e3() { _lcd_preheat(3, lcd_preheat_hotend_temp[1], lcd_preheat_bed_temp[1], lcd_preheat_fan_speed[1]); }
|
|
1057
|
+ #endif
|
1042
|
1058
|
#endif
|
1043
|
1059
|
#endif
|
1044
|
1060
|
|
1045
|
|
- void lcd_preheat_material1_hotend0123() {
|
|
1061
|
+ void lcd_preheat_m1_all() {
|
1046
|
1062
|
#if HOTENDS > 1
|
1047
|
1063
|
thermalManager.setTargetHotend(lcd_preheat_hotend_temp[0], 1);
|
1048
|
1064
|
#if HOTENDS > 2
|
|
@@ -1052,9 +1068,13 @@ void kill_screen(const char* lcd_msg) {
|
1052
|
1068
|
#endif
|
1053
|
1069
|
#endif
|
1054
|
1070
|
#endif
|
1055
|
|
- lcd_preheat_material1_hotend0();
|
|
1071
|
+ #if TEMP_SENSOR_BED != 0
|
|
1072
|
+ lcd_preheat_m1_e0();
|
|
1073
|
+ #else
|
|
1074
|
+ lcd_preheat_m1_e0_only();
|
|
1075
|
+ #endif
|
1056
|
1076
|
}
|
1057
|
|
- void lcd_preheat_material2_hotend0123() {
|
|
1077
|
+ void lcd_preheat_m2_all() {
|
1058
|
1078
|
#if HOTENDS > 1
|
1059
|
1079
|
thermalManager.setTargetHotend(lcd_preheat_hotend_temp[1], 1);
|
1060
|
1080
|
#if HOTENDS > 2
|
|
@@ -1064,58 +1084,108 @@ void kill_screen(const char* lcd_msg) {
|
1064
|
1084
|
#endif
|
1065
|
1085
|
#endif
|
1066
|
1086
|
#endif
|
1067
|
|
- lcd_preheat_material2_hotend0();
|
|
1087
|
+ #if TEMP_SENSOR_BED != 0
|
|
1088
|
+ lcd_preheat_m1_e0();
|
|
1089
|
+ #else
|
|
1090
|
+ lcd_preheat_m1_e0_only();
|
|
1091
|
+ #endif
|
1068
|
1092
|
}
|
1069
|
1093
|
|
1070
|
1094
|
#endif // HOTENDS > 1
|
1071
|
1095
|
|
1072
|
1096
|
#if TEMP_SENSOR_BED != 0
|
1073
|
|
- void lcd_preheat_material1_bedonly() { _lcd_preheat(0, 0, lcd_preheat_bed_temp[0], lcd_preheat_fan_speed[0]); }
|
1074
|
|
- void lcd_preheat_material2_bedonly() { _lcd_preheat(0, 0, lcd_preheat_bed_temp[1], lcd_preheat_fan_speed[1]); }
|
|
1097
|
+ void lcd_preheat_m1_bedonly() { _lcd_preheat(0, 0, lcd_preheat_bed_temp[0], lcd_preheat_fan_speed[0]); }
|
|
1098
|
+ void lcd_preheat_m2_bedonly() { _lcd_preheat(0, 0, lcd_preheat_bed_temp[1], lcd_preheat_fan_speed[1]); }
|
1075
|
1099
|
#endif
|
1076
|
1100
|
|
1077
|
1101
|
#if TEMP_SENSOR_0 != 0 && (TEMP_SENSOR_1 != 0 || TEMP_SENSOR_2 != 0 || TEMP_SENSOR_3 != 0 || TEMP_SENSOR_BED != 0)
|
1078
|
1102
|
|
1079
|
|
- void lcd_preheat_material1_menu() {
|
|
1103
|
+ void lcd_preheat_m1_menu() {
|
1080
|
1104
|
START_MENU();
|
1081
|
1105
|
MENU_BACK(MSG_PREPARE);
|
1082
|
1106
|
#if HOTENDS == 1
|
1083
|
|
- MENU_ITEM(function, MSG_PREHEAT_1, lcd_preheat_material1_hotend0);
|
|
1107
|
+ #if TEMP_SENSOR_BED != 0
|
|
1108
|
+ MENU_ITEM(function, MSG_PREHEAT_1, lcd_preheat_m1_e0);
|
|
1109
|
+ MENU_ITEM(function, MSG_PREHEAT_1 MSG_HOTEND, lcd_preheat_m1_e0_only);
|
|
1110
|
+ #else
|
|
1111
|
+ MENU_ITEM(function, MSG_PREHEAT_1, lcd_preheat_m1_e0_only);
|
|
1112
|
+ #endif
|
1084
|
1113
|
#else
|
1085
|
|
- MENU_ITEM(function, MSG_PREHEAT_1_N MSG_H1, lcd_preheat_material1_hotend0);
|
1086
|
|
- MENU_ITEM(function, MSG_PREHEAT_1_N MSG_H2, lcd_preheat_material1_hotend1);
|
|
1114
|
+ #if TEMP_SENSOR_BED != 0
|
|
1115
|
+ MENU_ITEM(function, MSG_PREHEAT_1_N MSG_H1, lcd_preheat_m1_e0);
|
|
1116
|
+ MENU_ITEM(function, MSG_PREHEAT_1_N MSG_HOTEND " " MSG_E1, lcd_preheat_m1_e0_only);
|
|
1117
|
+ MENU_ITEM(function, MSG_PREHEAT_1_N MSG_H2, lcd_preheat_m1_e1);
|
|
1118
|
+ MENU_ITEM(function, MSG_PREHEAT_1_N MSG_HOTEND " " MSG_E2, lcd_preheat_m1_e1_only);
|
|
1119
|
+ #else
|
|
1120
|
+ MENU_ITEM(function, MSG_PREHEAT_1_N MSG_H1, lcd_preheat_m1_e0_only);
|
|
1121
|
+ MENU_ITEM(function, MSG_PREHEAT_1_N MSG_H2, lcd_preheat_m1_e1_only);
|
|
1122
|
+ #endif
|
1087
|
1123
|
#if HOTENDS > 2
|
1088
|
|
- MENU_ITEM(function, MSG_PREHEAT_1_N MSG_H3, lcd_preheat_material1_hotend2);
|
|
1124
|
+ MENU_ITEM(function, MSG_PREHEAT_1_N MSG_H3, lcd_preheat_m1_e2_only);
|
|
1125
|
+ #if TEMP_SENSOR_BED != 0
|
|
1126
|
+ MENU_ITEM(function, MSG_PREHEAT_1_N MSG_H3, lcd_preheat_m1_e2);
|
|
1127
|
+ MENU_ITEM(function, MSG_PREHEAT_1_N MSG_HOTEND " " MSG_E3, lcd_preheat_m1_e2_only);
|
|
1128
|
+ #else
|
|
1129
|
+ MENU_ITEM(function, MSG_PREHEAT_1_N MSG_H3, lcd_preheat_m1_e2_only);
|
|
1130
|
+ #endif
|
1089
|
1131
|
#if HOTENDS > 3
|
1090
|
|
- MENU_ITEM(function, MSG_PREHEAT_1_N MSG_H4, lcd_preheat_material1_hotend3);
|
|
1132
|
+ #if TEMP_SENSOR_BED != 0
|
|
1133
|
+ MENU_ITEM(function, MSG_PREHEAT_1_N MSG_H4, lcd_preheat_m1_e3);
|
|
1134
|
+ MENU_ITEM(function, MSG_PREHEAT_1_N MSG_HOTEND " " MSG_E4, lcd_preheat_m1_e3_only);
|
|
1135
|
+ #else
|
|
1136
|
+ MENU_ITEM(function, MSG_PREHEAT_1_N MSG_H4, lcd_preheat_m1_e3_only);
|
|
1137
|
+ #endif
|
1091
|
1138
|
#endif
|
1092
|
1139
|
#endif
|
1093
|
|
- MENU_ITEM(function, MSG_PREHEAT_1_ALL, lcd_preheat_material1_hotend0123);
|
|
1140
|
+ MENU_ITEM(function, MSG_PREHEAT_1_ALL, lcd_preheat_m1_all);
|
1094
|
1141
|
#endif
|
1095
|
1142
|
#if TEMP_SENSOR_BED != 0
|
1096
|
|
- MENU_ITEM(function, MSG_PREHEAT_1_BEDONLY, lcd_preheat_material1_bedonly);
|
|
1143
|
+ MENU_ITEM(function, MSG_PREHEAT_1_BEDONLY, lcd_preheat_m1_bedonly);
|
1097
|
1144
|
#endif
|
1098
|
1145
|
END_MENU();
|
1099
|
1146
|
}
|
1100
|
1147
|
|
1101
|
|
- void lcd_preheat_material2_menu() {
|
|
1148
|
+ void lcd_preheat_m2_menu() {
|
1102
|
1149
|
START_MENU();
|
1103
|
1150
|
MENU_BACK(MSG_PREPARE);
|
1104
|
1151
|
#if HOTENDS == 1
|
1105
|
|
- MENU_ITEM(function, MSG_PREHEAT_2, lcd_preheat_material2_hotend0);
|
|
1152
|
+ #if TEMP_SENSOR_BED != 0
|
|
1153
|
+ MENU_ITEM(function, MSG_PREHEAT_2, lcd_preheat_m2_e0);
|
|
1154
|
+ MENU_ITEM(function, MSG_PREHEAT_2 MSG_HOTEND, lcd_preheat_m2_e0_only);
|
|
1155
|
+ #else
|
|
1156
|
+ MENU_ITEM(function, MSG_PREHEAT_2, lcd_preheat_m2_e0_only);
|
|
1157
|
+ #endif
|
1106
|
1158
|
#else
|
1107
|
|
- MENU_ITEM(function, MSG_PREHEAT_2_N MSG_H1, lcd_preheat_material2_hotend0);
|
1108
|
|
- MENU_ITEM(function, MSG_PREHEAT_2_N MSG_H2, lcd_preheat_material2_hotend1);
|
|
1159
|
+ #if TEMP_SENSOR_BED != 0
|
|
1160
|
+ MENU_ITEM(function, MSG_PREHEAT_2_N MSG_H1, lcd_preheat_m2_e0);
|
|
1161
|
+ MENU_ITEM(function, MSG_PREHEAT_2_N MSG_HOTEND " " MSG_E1, lcd_preheat_m2_e0_only);
|
|
1162
|
+ MENU_ITEM(function, MSG_PREHEAT_2_N MSG_H2, lcd_preheat_m2_e1);
|
|
1163
|
+ MENU_ITEM(function, MSG_PREHEAT_2_N MSG_HOTEND " " MSG_E2, lcd_preheat_m2_e1_only);
|
|
1164
|
+ #else
|
|
1165
|
+ MENU_ITEM(function, MSG_PREHEAT_2_N MSG_H1, lcd_preheat_m2_e0_only);
|
|
1166
|
+ MENU_ITEM(function, MSG_PREHEAT_2_N MSG_H2, lcd_preheat_m2_e1_only);
|
|
1167
|
+ #endif
|
1109
|
1168
|
#if HOTENDS > 2
|
1110
|
|
- MENU_ITEM(function, MSG_PREHEAT_2_N MSG_H3, lcd_preheat_material2_hotend2);
|
|
1169
|
+ MENU_ITEM(function, MSG_PREHEAT_2_N MSG_H3, lcd_preheat_m2_e2_only);
|
|
1170
|
+ #if TEMP_SENSOR_BED != 0
|
|
1171
|
+ MENU_ITEM(function, MSG_PREHEAT_2_N MSG_H3, lcd_preheat_m2_e2);
|
|
1172
|
+ MENU_ITEM(function, MSG_PREHEAT_2_N MSG_HOTEND " " MSG_E3, lcd_preheat_m2_e2_only);
|
|
1173
|
+ #else
|
|
1174
|
+ MENU_ITEM(function, MSG_PREHEAT_2_N MSG_H3, lcd_preheat_m2_e2_only);
|
|
1175
|
+ #endif
|
1111
|
1176
|
#if HOTENDS > 3
|
1112
|
|
- MENU_ITEM(function, MSG_PREHEAT_2_N MSG_H4, lcd_preheat_material2_hotend3);
|
|
1177
|
+ #if TEMP_SENSOR_BED != 0
|
|
1178
|
+ MENU_ITEM(function, MSG_PREHEAT_2_N MSG_H4, lcd_preheat_m2_e3);
|
|
1179
|
+ MENU_ITEM(function, MSG_PREHEAT_2_N MSG_HOTEND " " MSG_E4, lcd_preheat_m2_e3_only);
|
|
1180
|
+ #else
|
|
1181
|
+ MENU_ITEM(function, MSG_PREHEAT_2_N MSG_H4, lcd_preheat_m2_e3_only);
|
|
1182
|
+ #endif
|
1113
|
1183
|
#endif
|
1114
|
1184
|
#endif
|
1115
|
|
- MENU_ITEM(function, MSG_PREHEAT_2_ALL, lcd_preheat_material2_hotend0123);
|
|
1185
|
+ MENU_ITEM(function, MSG_PREHEAT_2_ALL, lcd_preheat_m2_all);
|
1116
|
1186
|
#endif
|
1117
|
1187
|
#if TEMP_SENSOR_BED != 0
|
1118
|
|
- MENU_ITEM(function, MSG_PREHEAT_2_BEDONLY, lcd_preheat_material2_bedonly);
|
|
1188
|
+ MENU_ITEM(function, MSG_PREHEAT_2_BEDONLY, lcd_preheat_m2_bedonly);
|
1119
|
1189
|
#endif
|
1120
|
1190
|
END_MENU();
|
1121
|
1191
|
}
|
|
@@ -1374,14 +1444,6 @@ KeepDrawing:
|
1374
|
1444
|
//
|
1375
|
1445
|
#if TEMP_SENSOR_0 != 0
|
1376
|
1446
|
|
1377
|
|
- #if TEMP_SENSOR_1 != 0 || TEMP_SENSOR_2 != 0 || TEMP_SENSOR_3 != 0 || TEMP_SENSOR_BED != 0
|
1378
|
|
- MENU_ITEM(submenu, MSG_PREHEAT_1, lcd_preheat_material1_menu);
|
1379
|
|
- MENU_ITEM(submenu, MSG_PREHEAT_2, lcd_preheat_material2_menu);
|
1380
|
|
- #else
|
1381
|
|
- MENU_ITEM(function, MSG_PREHEAT_1, lcd_preheat_material1_hotend0);
|
1382
|
|
- MENU_ITEM(function, MSG_PREHEAT_2, lcd_preheat_material2_hotend0);
|
1383
|
|
- #endif
|
1384
|
|
-
|
1385
|
1447
|
//
|
1386
|
1448
|
// Change filament
|
1387
|
1449
|
//
|
|
@@ -1390,17 +1452,28 @@ KeepDrawing:
|
1390
|
1452
|
MENU_ITEM(function, MSG_FILAMENTCHANGE, lcd_enqueue_filament_change);
|
1391
|
1453
|
#endif
|
1392
|
1454
|
|
1393
|
|
- #endif // TEMP_SENSOR_0 != 0
|
|
1455
|
+ //
|
|
1456
|
+ // Cooldown
|
|
1457
|
+ //
|
|
1458
|
+ bool has_heat = false;
|
|
1459
|
+ HOTEND_LOOP() if (thermalManager.target_temperature[HOTEND_INDEX]) { has_heat = true; break; }
|
|
1460
|
+ #if HAS_TEMP_BED
|
|
1461
|
+ if (thermalManager.target_temperature_bed) has_heat = true;
|
|
1462
|
+ #endif
|
|
1463
|
+ if (has_heat) MENU_ITEM(function, MSG_COOLDOWN, lcd_cooldown);
|
1394
|
1464
|
|
1395
|
|
- //
|
1396
|
|
- // Cooldown
|
1397
|
|
- //
|
1398
|
|
- bool has_heat = false;
|
1399
|
|
- HOTEND_LOOP() if (thermalManager.target_temperature[HOTEND_INDEX]) { has_heat = true; break; }
|
1400
|
|
- #if HAS_TEMP_BED
|
1401
|
|
- if (thermalManager.target_temperature_bed) has_heat = true;
|
1402
|
|
- #endif
|
1403
|
|
- if (has_heat) MENU_ITEM(function, MSG_COOLDOWN, lcd_cooldown);
|
|
1465
|
+ //
|
|
1466
|
+ // Preheat for Material 1 and 2
|
|
1467
|
+ //
|
|
1468
|
+ #if TEMP_SENSOR_1 != 0 || TEMP_SENSOR_2 != 0 || TEMP_SENSOR_3 != 0 || TEMP_SENSOR_BED != 0
|
|
1469
|
+ MENU_ITEM(submenu, MSG_PREHEAT_1, lcd_preheat_m1_menu);
|
|
1470
|
+ MENU_ITEM(submenu, MSG_PREHEAT_2, lcd_preheat_m2_menu);
|
|
1471
|
+ #else
|
|
1472
|
+ MENU_ITEM(function, MSG_PREHEAT_1, lcd_preheat_m1_e0_only);
|
|
1473
|
+ MENU_ITEM(function, MSG_PREHEAT_2, lcd_preheat_m2_e0_only);
|
|
1474
|
+ #endif
|
|
1475
|
+
|
|
1476
|
+ #endif // TEMP_SENSOR_0 != 0
|
1404
|
1477
|
|
1405
|
1478
|
//
|
1406
|
1479
|
// BLTouch Self-Test and Reset
|