|
@@ -4330,14 +4330,15 @@ void lcd_quick_feedback(const bool clear_buttons) {
|
4330
|
4330
|
return PSTR(MSG_FILAMENTCHANGE);
|
4331
|
4331
|
}
|
4332
|
4332
|
|
4333
|
|
- void _change_filament_temp(const uint8_t index) {
|
|
4333
|
+ void _change_filament_temp(const uint16_t temperature) {
|
4334
|
4334
|
char cmd[11];
|
4335
|
4335
|
sprintf_P(cmd, _change_filament_temp_command(), _change_filament_temp_extruder);
|
4336
|
|
- thermalManager.setTargetHotend(index == 1 ? PREHEAT_1_TEMP_HOTEND : PREHEAT_2_TEMP_HOTEND, _change_filament_temp_extruder);
|
|
4336
|
+ thermalManager.setTargetHotend(temperature, _change_filament_temp_extruder);
|
4337
|
4337
|
lcd_enqueue_command(cmd);
|
4338
|
4338
|
}
|
4339
|
|
- void _lcd_change_filament_temp_1_menu() { _change_filament_temp(1); }
|
4340
|
|
- void _lcd_change_filament_temp_2_menu() { _change_filament_temp(2); }
|
|
4339
|
+ void _lcd_change_filament_temp_1_menu() { _change_filament_temp(PREHEAT_1_TEMP_HOTEND); }
|
|
4340
|
+ void _lcd_change_filament_temp_2_menu() { _change_filament_temp(PREHEAT_2_TEMP_HOTEND); }
|
|
4341
|
+ void _lcd_change_filament_temp_custom_menu() { _change_filament_temp(thermalManager.target_temperature[_change_filament_temp_extruder]); }
|
4341
|
4342
|
|
4342
|
4343
|
static const char* change_filament_header(const AdvancedPauseMode mode) {
|
4343
|
4344
|
switch (mode) {
|
|
@@ -4358,6 +4359,23 @@ void lcd_quick_feedback(const bool clear_buttons) {
|
4358
|
4359
|
MENU_BACK(MSG_FILAMENTCHANGE);
|
4359
|
4360
|
MENU_ITEM(submenu, MSG_PREHEAT_1, _lcd_change_filament_temp_1_menu);
|
4360
|
4361
|
MENU_ITEM(submenu, MSG_PREHEAT_2, _lcd_change_filament_temp_2_menu);
|
|
4362
|
+ uint16_t max_temp;
|
|
4363
|
+ switch (extruder) {
|
|
4364
|
+ default: max_temp = HEATER_0_MAXTEMP;
|
|
4365
|
+ #if HOTENDS > 1
|
|
4366
|
+ case 1: max_temp = HEATER_1_MAXTEMP; break;
|
|
4367
|
+ #if HOTENDS > 2
|
|
4368
|
+ case 2: max_temp = HEATER_2_MAXTEMP; break;
|
|
4369
|
+ #if HOTENDS > 3
|
|
4370
|
+ case 3: max_temp = HEATER_3_MAXTEMP; break;
|
|
4371
|
+ #if HOTENDS > 4
|
|
4372
|
+ case 4: max_temp = HEATER_4_MAXTEMP; break;
|
|
4373
|
+ #endif
|
|
4374
|
+ #endif
|
|
4375
|
+ #endif
|
|
4376
|
+ #endif
|
|
4377
|
+ }
|
|
4378
|
+ MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(int3, MSG_PREHEAT_CUSTOM, &thermalManager.target_temperature[_change_filament_temp_extruder], EXTRUDE_MINTEMP, max_temp - 15, _lcd_change_filament_temp_custom_menu);
|
4361
|
4379
|
END_MENU();
|
4362
|
4380
|
}
|
4363
|
4381
|
void lcd_temp_menu_e0_filament_change() { _lcd_temp_menu_filament_op(ADVANCED_PAUSE_MODE_PAUSE_PRINT, 0); }
|