Clean up filament change menu (#17702)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
This commit is contained in:
		| @@ -39,28 +39,26 @@ | ||||
| // | ||||
| // Change Filament > Change/Unload/Load Filament | ||||
| // | ||||
| static PauseMode _change_filament_temp_mode; // =PAUSE_MODE_PAUSE_PRINT | ||||
| static int8_t _change_filament_temp_extruder; // =0 | ||||
| static PauseMode _change_filament_mode; // = PAUSE_MODE_PAUSE_PRINT | ||||
| static int8_t _change_filament_extruder; // = 0 | ||||
|  | ||||
| inline PGM_P _change_filament_temp_command() { | ||||
|   switch (_change_filament_temp_mode) { | ||||
|     case PAUSE_MODE_LOAD_FILAMENT: | ||||
|       return PSTR("M701 T%d"); | ||||
|     case PAUSE_MODE_UNLOAD_FILAMENT: | ||||
|       return _change_filament_temp_extruder >= 0 ? PSTR("M702 T%d") : PSTR("M702 ;%d"); | ||||
| inline PGM_P _change_filament_command() { | ||||
|   switch (_change_filament_mode) { | ||||
|     case PAUSE_MODE_LOAD_FILAMENT:    return PSTR("M701 T%d"); | ||||
|     case PAUSE_MODE_UNLOAD_FILAMENT:  return _change_filament_extruder >= 0 | ||||
|                                            ? PSTR("M702 T%d") : PSTR("M702 ;%d"); | ||||
|     case PAUSE_MODE_CHANGE_FILAMENT: | ||||
|     case PAUSE_MODE_PAUSE_PRINT: | ||||
|     default: | ||||
|       return PSTR("M600 B0 T%d"); | ||||
|     default: break; | ||||
|   } | ||||
|   return GET_TEXT(MSG_FILAMENTCHANGE); | ||||
|   return PSTR("M600 B0 T%d"); | ||||
| } | ||||
|  | ||||
| // Initiate Filament Load/Unload/Change at the specified temperature | ||||
| static void _change_filament_temp(const uint16_t temperature) { | ||||
| static void _change_filament(const uint16_t celsius) { | ||||
|   char cmd[11]; | ||||
|   sprintf_P(cmd, _change_filament_temp_command(), _change_filament_temp_extruder); | ||||
|   thermalManager.setTargetHotend(temperature, _change_filament_temp_extruder); | ||||
|   sprintf_P(cmd, _change_filament_command(), _change_filament_extruder); | ||||
|   thermalManager.setTargetHotend(celsius, _change_filament_extruder); | ||||
|   queue.inject(cmd); | ||||
| } | ||||
|  | ||||
| @@ -70,25 +68,23 @@ static void _change_filament_temp(const uint16_t temperature) { | ||||
|  | ||||
| inline PGM_P change_filament_header(const PauseMode mode) { | ||||
|   switch (mode) { | ||||
|     case PAUSE_MODE_LOAD_FILAMENT: | ||||
|       return GET_TEXT(MSG_FILAMENTLOAD); | ||||
|     case PAUSE_MODE_UNLOAD_FILAMENT: | ||||
|       return GET_TEXT(MSG_FILAMENTUNLOAD); | ||||
|     case PAUSE_MODE_LOAD_FILAMENT:   return GET_TEXT(MSG_FILAMENTLOAD); | ||||
|     case PAUSE_MODE_UNLOAD_FILAMENT: return GET_TEXT(MSG_FILAMENTUNLOAD); | ||||
|     default: break; | ||||
|   } | ||||
|   return GET_TEXT(MSG_FILAMENTCHANGE); | ||||
| } | ||||
|  | ||||
| void _menu_temp_filament_op(const PauseMode mode, const int8_t extruder) { | ||||
|   _change_filament_temp_mode = mode; | ||||
|   _change_filament_temp_extruder = extruder; | ||||
|   _change_filament_mode = mode; | ||||
|   _change_filament_extruder = extruder; | ||||
|   START_MENU(); | ||||
|   if (LCD_HEIGHT >= 4) STATIC_ITEM_P(change_filament_header(mode), SS_CENTER|SS_INVERT); | ||||
|   BACK_ITEM(MSG_BACK); | ||||
|   ACTION_ITEM(MSG_PREHEAT_1, []{ _change_filament_temp(ui.preheat_hotend_temp[0]); }); | ||||
|   ACTION_ITEM(MSG_PREHEAT_2, []{ _change_filament_temp(ui.preheat_hotend_temp[1]); }); | ||||
|   EDIT_ITEM_FAST(int3, MSG_PREHEAT_CUSTOM, &thermalManager.temp_hotend[_change_filament_temp_extruder].target, EXTRUDE_MINTEMP, heater_maxtemp[extruder] - 15, []{ | ||||
|     _change_filament_temp(thermalManager.temp_hotend[_change_filament_temp_extruder].target); | ||||
|   ACTION_ITEM(MSG_PREHEAT_1, []{ _change_filament(ui.preheat_hotend_temp[0]); }); | ||||
|   ACTION_ITEM(MSG_PREHEAT_2, []{ _change_filament(ui.preheat_hotend_temp[1]); }); | ||||
|   EDIT_ITEM_FAST(int3, MSG_PREHEAT_CUSTOM, &thermalManager.temp_hotend[_change_filament_extruder].target, EXTRUDE_MINTEMP, heater_maxtemp[extruder] - 15, []{ | ||||
|     _change_filament(thermalManager.temp_hotend[_change_filament_extruder].target); | ||||
|   }); | ||||
|   END_MENU(); | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user