|
|
@ -181,19 +181,19 @@ uint16_t max_display_update_time = 0;
|
|
|
|
|
|
|
|
|
|
|
|
void lcd_main_menu();
|
|
|
|
void lcd_main_menu();
|
|
|
|
void lcd_tune_menu();
|
|
|
|
void lcd_tune_menu();
|
|
|
|
void lcd_prepare_menu();
|
|
|
|
void lcd_movement_menu();
|
|
|
|
void lcd_move_menu();
|
|
|
|
void lcd_move_menu();
|
|
|
|
void lcd_control_menu();
|
|
|
|
void lcd_configuration_menu();
|
|
|
|
void lcd_control_temperature_menu();
|
|
|
|
void lcd_temperature_menu();
|
|
|
|
void lcd_control_motion_menu();
|
|
|
|
void lcd_advanced_settings_menu();
|
|
|
|
|
|
|
|
|
|
|
|
#if DISABLED(SLIM_LCD_MENUS)
|
|
|
|
#if DISABLED(SLIM_LCD_MENUS)
|
|
|
|
void lcd_control_temperature_preheat_material1_settings_menu();
|
|
|
|
void lcd_configuration_temperature_preheat_material1_settings_menu();
|
|
|
|
void lcd_control_temperature_preheat_material2_settings_menu();
|
|
|
|
void lcd_configuration_temperature_preheat_material2_settings_menu();
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
#if DISABLED(NO_VOLUMETRICS) || ENABLED(ADVANCED_PAUSE_FEATURE)
|
|
|
|
#if DISABLED(NO_VOLUMETRICS) || ENABLED(ADVANCED_PAUSE_FEATURE)
|
|
|
|
void lcd_control_filament_menu();
|
|
|
|
void lcd_advanced_filament_menu();
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
#if ENABLED(LCD_INFO_MENU)
|
|
|
|
#if ENABLED(LCD_INFO_MENU)
|
|
|
@ -226,7 +226,7 @@ uint16_t max_display_update_time = 0;
|
|
|
|
|
|
|
|
|
|
|
|
#if ENABLED(FWRETRACT)
|
|
|
|
#if ENABLED(FWRETRACT)
|
|
|
|
#include "../feature/fwretract.h"
|
|
|
|
#include "../feature/fwretract.h"
|
|
|
|
void lcd_control_retract_menu();
|
|
|
|
void lcd_config_retract_menu();
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
#if ENABLED(DELTA_CALIBRATION_MENU) || ENABLED(DELTA_AUTO_CALIBRATION)
|
|
|
|
#if ENABLED(DELTA_CALIBRATION_MENU) || ENABLED(DELTA_AUTO_CALIBRATION)
|
|
|
@ -1093,6 +1093,12 @@ void lcd_quick_feedback(const bool clear_buttons) {
|
|
|
|
*
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#if ENABLED(SDSUPPORT) && ENABLED(MENU_ADDAUTOSTART)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void lcd_autostart_sd() { card.beginautostart(); }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
void lcd_main_menu() {
|
|
|
|
void lcd_main_menu() {
|
|
|
|
START_MENU();
|
|
|
|
START_MENU();
|
|
|
|
MENU_BACK(MSG_WATCH);
|
|
|
|
MENU_BACK(MSG_WATCH);
|
|
|
@ -1119,13 +1125,6 @@ void lcd_quick_feedback(const bool clear_buttons) {
|
|
|
|
MENU_ITEM_EDIT_CALLBACK(bool, MSG_CASE_LIGHT, (bool*)&case_light_on, update_case_light);
|
|
|
|
MENU_ITEM_EDIT_CALLBACK(bool, MSG_CASE_LIGHT, (bool*)&case_light_on, update_case_light);
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
if (planner.movesplanned() || IS_SD_PRINTING)
|
|
|
|
|
|
|
|
MENU_ITEM(submenu, MSG_TUNE, lcd_tune_menu);
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
MENU_ITEM(submenu, MSG_PREPARE, lcd_prepare_menu);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MENU_ITEM(submenu, MSG_CONTROL, lcd_control_menu);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#if ENABLED(SDSUPPORT)
|
|
|
|
#if ENABLED(SDSUPPORT)
|
|
|
|
if (card.cardOK) {
|
|
|
|
if (card.cardOK) {
|
|
|
|
if (card.isFileOpen()) {
|
|
|
|
if (card.isFileOpen()) {
|
|
|
@ -1150,6 +1149,25 @@ void lcd_quick_feedback(const bool clear_buttons) {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#endif // SDSUPPORT
|
|
|
|
#endif // SDSUPPORT
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (planner.movesplanned() || IS_SD_PRINTING)
|
|
|
|
|
|
|
|
MENU_ITEM(submenu, MSG_TUNE, lcd_tune_menu);
|
|
|
|
|
|
|
|
else {
|
|
|
|
|
|
|
|
MENU_ITEM(submenu, MSG_MOTION, lcd_movement_menu);
|
|
|
|
|
|
|
|
MENU_ITEM(submenu, MSG_TEMPERATURE, lcd_temperature_menu);
|
|
|
|
|
|
|
|
MENU_ITEM(submenu, MSG_CONFIGURATION, lcd_configuration_menu);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#if ENABLED(ADVANCED_PAUSE_FEATURE)
|
|
|
|
|
|
|
|
#if E_STEPPERS == 1 && DISABLED(FILAMENT_LOAD_UNLOAD_GCODES)
|
|
|
|
|
|
|
|
if (thermalManager.targetHotEnoughToExtrude(active_extruder))
|
|
|
|
|
|
|
|
MENU_ITEM(gcode, MSG_FILAMENTCHANGE, PSTR("M600 B0"));
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
MENU_ITEM(submenu, MSG_FILAMENTCHANGE, lcd_temp_menu_e0_filament_change);
|
|
|
|
|
|
|
|
#else
|
|
|
|
|
|
|
|
MENU_ITEM(submenu, MSG_FILAMENTCHANGE, lcd_change_filament_menu);
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
#if ENABLED(LCD_INFO_MENU)
|
|
|
|
#if ENABLED(LCD_INFO_MENU)
|
|
|
|
MENU_ITEM(submenu, MSG_INFO_MENU, lcd_info_menu);
|
|
|
|
MENU_ITEM(submenu, MSG_INFO_MENU, lcd_info_menu);
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
@ -1158,6 +1176,23 @@ void lcd_quick_feedback(const bool clear_buttons) {
|
|
|
|
MENU_ITEM(submenu, MSG_LED_CONTROL, lcd_led_menu);
|
|
|
|
MENU_ITEM(submenu, MSG_LED_CONTROL, lcd_led_menu);
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// Switch power on/off
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
#if HAS_POWER_SWITCH
|
|
|
|
|
|
|
|
if (powersupply_on)
|
|
|
|
|
|
|
|
MENU_ITEM(gcode, MSG_SWITCH_PS_OFF, PSTR("M81"));
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
MENU_ITEM(gcode, MSG_SWITCH_PS_ON, PSTR("M80"));
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// Autostart
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
#if ENABLED(SDSUPPORT) && ENABLED(MENU_ADDAUTOSTART)
|
|
|
|
|
|
|
|
MENU_ITEM(function, MSG_AUTOSTART, lcd_autostart_sd);
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
END_MENU();
|
|
|
|
END_MENU();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -1167,17 +1202,6 @@ void lcd_quick_feedback(const bool clear_buttons) {
|
|
|
|
*
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
#if HAS_M206_COMMAND
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* Set the home offset based on the current_position
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
void lcd_set_home_offsets() {
|
|
|
|
|
|
|
|
// M428 Command
|
|
|
|
|
|
|
|
enqueue_and_echo_commands_P(PSTR("M428"));
|
|
|
|
|
|
|
|
lcd_return_to_status();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#if ENABLED(BABYSTEP_ZPROBE_GFX_OVERLAY) || ENABLED(MESH_EDIT_GFX_OVERLAY)
|
|
|
|
#if ENABLED(BABYSTEP_ZPROBE_GFX_OVERLAY) || ENABLED(MESH_EDIT_GFX_OVERLAY)
|
|
|
|
|
|
|
|
|
|
|
|
void _lcd_zoffset_overlay_gfx(const float zvalue) {
|
|
|
|
void _lcd_zoffset_overlay_gfx(const float zvalue) {
|
|
|
@ -1511,20 +1535,6 @@ void lcd_quick_feedback(const bool clear_buttons) {
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// Change filament
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
#if ENABLED(ADVANCED_PAUSE_FEATURE)
|
|
|
|
|
|
|
|
#if E_STEPPERS == 1 && DISABLED(FILAMENT_LOAD_UNLOAD_GCODES)
|
|
|
|
|
|
|
|
if (thermalManager.targetHotEnoughToExtrude(active_extruder))
|
|
|
|
|
|
|
|
MENU_ITEM(gcode, MSG_FILAMENTCHANGE, PSTR("M600 B0"));
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
MENU_ITEM(submenu, MSG_FILAMENTCHANGE, lcd_temp_menu_e0_filament_change);
|
|
|
|
|
|
|
|
#else
|
|
|
|
|
|
|
|
MENU_ITEM(submenu, MSG_FILAMENTCHANGE, lcd_change_filament_menu);
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
END_MENU();
|
|
|
|
END_MENU();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -1578,7 +1588,7 @@ void lcd_quick_feedback(const bool clear_buttons) {
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
*
|
|
|
|
*
|
|
|
|
* "Prepare" submenu items
|
|
|
|
* "Temperature" submenu items
|
|
|
|
*
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
void _lcd_preheat(const int16_t endnum, const int16_t temph, const int16_t tempb, const int16_t fan) {
|
|
|
|
void _lcd_preheat(const int16_t endnum, const int16_t temph, const int16_t tempb, const int16_t fan) {
|
|
|
@ -1691,7 +1701,7 @@ void lcd_quick_feedback(const bool clear_buttons) {
|
|
|
|
|
|
|
|
|
|
|
|
void lcd_preheat_m1_menu() {
|
|
|
|
void lcd_preheat_m1_menu() {
|
|
|
|
START_MENU();
|
|
|
|
START_MENU();
|
|
|
|
MENU_BACK(MSG_PREPARE);
|
|
|
|
MENU_BACK(MSG_TEMPERATURE);
|
|
|
|
#if HOTENDS == 1
|
|
|
|
#if HOTENDS == 1
|
|
|
|
#if HAS_HEATED_BED
|
|
|
|
#if HAS_HEATED_BED
|
|
|
|
MENU_ITEM(function, MSG_PREHEAT_1, lcd_preheat_m1_e0);
|
|
|
|
MENU_ITEM(function, MSG_PREHEAT_1, lcd_preheat_m1_e0);
|
|
|
@ -1743,7 +1753,7 @@ void lcd_quick_feedback(const bool clear_buttons) {
|
|
|
|
|
|
|
|
|
|
|
|
void lcd_preheat_m2_menu() {
|
|
|
|
void lcd_preheat_m2_menu() {
|
|
|
|
START_MENU();
|
|
|
|
START_MENU();
|
|
|
|
MENU_BACK(MSG_PREPARE);
|
|
|
|
MENU_BACK(MSG_TEMPERATURE);
|
|
|
|
#if HOTENDS == 1
|
|
|
|
#if HOTENDS == 1
|
|
|
|
#if HAS_HEATED_BED
|
|
|
|
#if HAS_HEATED_BED
|
|
|
|
MENU_ITEM(function, MSG_PREHEAT_2, lcd_preheat_m2_e0);
|
|
|
|
MENU_ITEM(function, MSG_PREHEAT_2, lcd_preheat_m2_e0);
|
|
|
@ -1823,12 +1833,6 @@ void lcd_quick_feedback(const bool clear_buttons) {
|
|
|
|
|
|
|
|
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
#if ENABLED(SDSUPPORT) && ENABLED(MENU_ADDAUTOSTART)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void lcd_autostart_sd() { card.beginautostart(); }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#if ENABLED(EEPROM_SETTINGS)
|
|
|
|
#if ENABLED(EEPROM_SETTINGS)
|
|
|
|
static void lcd_store_settings() { lcd_completion_feedback(settings.save()); }
|
|
|
|
static void lcd_store_settings() { lcd_completion_feedback(settings.save()); }
|
|
|
|
static void lcd_load_settings() { lcd_completion_feedback(settings.load()); }
|
|
|
|
static void lcd_load_settings() { lcd_completion_feedback(settings.load()); }
|
|
|
@ -1898,7 +1902,7 @@ void lcd_quick_feedback(const bool clear_buttons) {
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
*
|
|
|
|
*
|
|
|
|
* "Prepare" > "Level Bed" handlers
|
|
|
|
* "Motion" > "Level Bed" handlers
|
|
|
|
*
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
@ -2545,7 +2549,7 @@ void lcd_quick_feedback(const bool clear_buttons) {
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* UBL System submenu
|
|
|
|
* UBL System submenu
|
|
|
|
*
|
|
|
|
*
|
|
|
|
* << Prepare
|
|
|
|
* << Motion
|
|
|
|
* - Manually Build Mesh >>
|
|
|
|
* - Manually Build Mesh >>
|
|
|
|
* - Activate UBL >>
|
|
|
|
* - Activate UBL >>
|
|
|
|
* - Deactivate UBL >>
|
|
|
|
* - Deactivate UBL >>
|
|
|
@ -2558,7 +2562,7 @@ void lcd_quick_feedback(const bool clear_buttons) {
|
|
|
|
|
|
|
|
|
|
|
|
void _lcd_ubl_level_bed() {
|
|
|
|
void _lcd_ubl_level_bed() {
|
|
|
|
START_MENU();
|
|
|
|
START_MENU();
|
|
|
|
MENU_BACK(MSG_PREPARE);
|
|
|
|
MENU_BACK(MSG_MOTION);
|
|
|
|
MENU_ITEM(gcode, MSG_UBL_ACTIVATE_MESH, PSTR("G29 A"));
|
|
|
|
MENU_ITEM(gcode, MSG_UBL_ACTIVATE_MESH, PSTR("G29 A"));
|
|
|
|
MENU_ITEM(gcode, MSG_UBL_DEACTIVATE_MESH, PSTR("G29 D"));
|
|
|
|
MENU_ITEM(gcode, MSG_UBL_DEACTIVATE_MESH, PSTR("G29 D"));
|
|
|
|
MENU_ITEM(submenu, MSG_UBL_STEP_BY_STEP_MENU, _lcd_ubl_step_by_step);
|
|
|
|
MENU_ITEM(submenu, MSG_UBL_STEP_BY_STEP_MENU, _lcd_ubl_step_by_step);
|
|
|
@ -2585,7 +2589,7 @@ void lcd_quick_feedback(const bool clear_buttons) {
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* Step 1: Bed Level entry-point
|
|
|
|
* Step 1: Bed Level entry-point
|
|
|
|
*
|
|
|
|
*
|
|
|
|
* << Prepare
|
|
|
|
* << Motion
|
|
|
|
* Auto Home (if homing needed)
|
|
|
|
* Auto Home (if homing needed)
|
|
|
|
* Leveling On/Off (if data exists, and homed)
|
|
|
|
* Leveling On/Off (if data exists, and homed)
|
|
|
|
* Fade Height: --- (Req: ENABLE_LEVELING_FADE_HEIGHT)
|
|
|
|
* Fade Height: --- (Req: ENABLE_LEVELING_FADE_HEIGHT)
|
|
|
@ -2598,7 +2602,7 @@ void lcd_quick_feedback(const bool clear_buttons) {
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
void lcd_bed_leveling() {
|
|
|
|
void lcd_bed_leveling() {
|
|
|
|
START_MENU();
|
|
|
|
START_MENU();
|
|
|
|
MENU_BACK(MSG_PREPARE);
|
|
|
|
MENU_BACK(MSG_MOTION);
|
|
|
|
|
|
|
|
|
|
|
|
const bool is_homed = all_axes_known();
|
|
|
|
const bool is_homed = all_axes_known();
|
|
|
|
|
|
|
|
|
|
|
@ -2656,11 +2660,11 @@ void lcd_quick_feedback(const bool clear_buttons) {
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
*
|
|
|
|
*
|
|
|
|
* "Prepare" submenu
|
|
|
|
* "Movement" submenu
|
|
|
|
*
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
void lcd_prepare_menu() {
|
|
|
|
void lcd_movement_menu() {
|
|
|
|
START_MENU();
|
|
|
|
START_MENU();
|
|
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
//
|
|
|
@ -2727,92 +2731,11 @@ void lcd_quick_feedback(const bool clear_buttons) {
|
|
|
|
MENU_ITEM(function, MSG_LEVEL_CORNERS, _lcd_level_bed_corners);
|
|
|
|
MENU_ITEM(function, MSG_LEVEL_CORNERS, _lcd_level_bed_corners);
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
#if HAS_M206_COMMAND && DISABLED(SLIM_LCD_MENUS)
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// Set Home Offsets
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
MENU_ITEM(function, MSG_SET_HOME_OFFSETS, lcd_set_home_offsets);
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// Disable Steppers
|
|
|
|
// Disable Steppers
|
|
|
|
//
|
|
|
|
//
|
|
|
|
MENU_ITEM(gcode, MSG_DISABLE_STEPPERS, PSTR("M84"));
|
|
|
|
MENU_ITEM(gcode, MSG_DISABLE_STEPPERS, PSTR("M84"));
|
|
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// Change filament
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
#if ENABLED(ADVANCED_PAUSE_FEATURE)
|
|
|
|
|
|
|
|
if (!IS_SD_FILE_OPEN) {
|
|
|
|
|
|
|
|
#if E_STEPPERS == 1 && DISABLED(FILAMENT_LOAD_UNLOAD_GCODES)
|
|
|
|
|
|
|
|
if (thermalManager.targetHotEnoughToExtrude(active_extruder))
|
|
|
|
|
|
|
|
MENU_ITEM(gcode, MSG_FILAMENTCHANGE, PSTR("M600 B0"));
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
MENU_ITEM(submenu, MSG_FILAMENTCHANGE, lcd_temp_menu_e0_filament_change);
|
|
|
|
|
|
|
|
#else
|
|
|
|
|
|
|
|
MENU_ITEM(submenu, MSG_FILAMENTCHANGE, lcd_change_filament_menu);
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif // ADVANCED_PAUSE_FEATURE
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#if HAS_TEMP_HOTEND
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// Cooldown
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
bool has_heat = false;
|
|
|
|
|
|
|
|
HOTEND_LOOP() if (thermalManager.target_temperature[HOTEND_INDEX]) { has_heat = true; break; }
|
|
|
|
|
|
|
|
#if HAS_HEATED_BED
|
|
|
|
|
|
|
|
if (thermalManager.target_temperature_bed) has_heat = true;
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
if (has_heat) MENU_ITEM(function, MSG_COOLDOWN, lcd_cooldown);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// Preheat for Material 1 and 2
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
#if TEMP_SENSOR_1 != 0 || TEMP_SENSOR_2 != 0 || TEMP_SENSOR_3 != 0 || TEMP_SENSOR_4 != 0 || HAS_HEATED_BED
|
|
|
|
|
|
|
|
MENU_ITEM(submenu, MSG_PREHEAT_1, lcd_preheat_m1_menu);
|
|
|
|
|
|
|
|
MENU_ITEM(submenu, MSG_PREHEAT_2, lcd_preheat_m2_menu);
|
|
|
|
|
|
|
|
#else
|
|
|
|
|
|
|
|
MENU_ITEM(function, MSG_PREHEAT_1, lcd_preheat_m1_e0_only);
|
|
|
|
|
|
|
|
MENU_ITEM(function, MSG_PREHEAT_2, lcd_preheat_m2_e0_only);
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endif // HAS_TEMP_HOTEND
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// BLTouch Self-Test and Reset
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
#if ENABLED(BLTOUCH)
|
|
|
|
|
|
|
|
MENU_ITEM(gcode, MSG_BLTOUCH_SELFTEST, PSTR("M280 P" STRINGIFY(Z_PROBE_SERVO_NR) " S" STRINGIFY(BLTOUCH_SELFTEST)));
|
|
|
|
|
|
|
|
if (!endstops.z_probe_enabled && TEST_BLTOUCH())
|
|
|
|
|
|
|
|
MENU_ITEM(gcode, MSG_BLTOUCH_RESET, PSTR("M280 P" STRINGIFY(Z_PROBE_SERVO_NR) " S" STRINGIFY(BLTOUCH_RESET)));
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// Switch power on/off
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
#if HAS_POWER_SWITCH
|
|
|
|
|
|
|
|
if (powersupply_on)
|
|
|
|
|
|
|
|
MENU_ITEM(gcode, MSG_SWITCH_PS_OFF, PSTR("M81"));
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
MENU_ITEM(gcode, MSG_SWITCH_PS_ON, PSTR("M80"));
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// Autostart
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
#if ENABLED(SDSUPPORT) && ENABLED(MENU_ADDAUTOSTART)
|
|
|
|
|
|
|
|
MENU_ITEM(function, MSG_AUTOSTART, lcd_autostart_sd);
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// Delta Calibration
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
#if ENABLED(DELTA_CALIBRATION_MENU) || ENABLED(DELTA_AUTO_CALIBRATION)
|
|
|
|
|
|
|
|
MENU_ITEM(submenu, MSG_DELTA_CALIBRATE, lcd_delta_calibrate_menu);
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
END_MENU();
|
|
|
|
END_MENU();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -2991,7 +2914,7 @@ void lcd_quick_feedback(const bool clear_buttons) {
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
*
|
|
|
|
*
|
|
|
|
* "Prepare" > "Move Axis" submenu
|
|
|
|
* "Motion" > "Move Axis" submenu
|
|
|
|
*
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
@ -3143,7 +3066,7 @@ void lcd_quick_feedback(const bool clear_buttons) {
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
*
|
|
|
|
*
|
|
|
|
* "Prepare" > "Move Xmm" > "Move XYZ" submenu
|
|
|
|
* "Motion" > "Move Xmm" > "Move XYZ" submenu
|
|
|
|
*
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
@ -3199,7 +3122,7 @@ void lcd_quick_feedback(const bool clear_buttons) {
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
*
|
|
|
|
*
|
|
|
|
* "Prepare" > "Move Axis" submenu
|
|
|
|
* "Motion" > "Move Axis" submenu
|
|
|
|
*
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
@ -3221,7 +3144,7 @@ void lcd_quick_feedback(const bool clear_buttons) {
|
|
|
|
|
|
|
|
|
|
|
|
void lcd_move_menu() {
|
|
|
|
void lcd_move_menu() {
|
|
|
|
START_MENU();
|
|
|
|
START_MENU();
|
|
|
|
MENU_BACK(MSG_PREPARE);
|
|
|
|
MENU_BACK(MSG_MOTION);
|
|
|
|
|
|
|
|
|
|
|
|
#if HAS_SOFTWARE_ENDSTOPS && ENABLED(SOFT_ENDSTOPS_MENU_ITEM)
|
|
|
|
#if HAS_SOFTWARE_ENDSTOPS && ENABLED(SOFT_ENDSTOPS_MENU_ITEM)
|
|
|
|
MENU_ITEM_EDIT(bool, MSG_LCD_SOFT_ENDSTOPS, &soft_endstops_enabled);
|
|
|
|
MENU_ITEM_EDIT(bool, MSG_LCD_SOFT_ENDSTOPS, &soft_endstops_enabled);
|
|
|
@ -3310,7 +3233,7 @@ void lcd_quick_feedback(const bool clear_buttons) {
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
*
|
|
|
|
*
|
|
|
|
* "Control" submenu
|
|
|
|
* "Configuration" submenu
|
|
|
|
*
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
@ -3332,30 +3255,31 @@ void lcd_quick_feedback(const bool clear_buttons) {
|
|
|
|
|
|
|
|
|
|
|
|
static void lcd_init_eeprom_confirm() {
|
|
|
|
static void lcd_init_eeprom_confirm() {
|
|
|
|
START_MENU();
|
|
|
|
START_MENU();
|
|
|
|
MENU_BACK(MSG_CONTROL);
|
|
|
|
MENU_BACK(MSG_ADVANCED_SETTINGS);
|
|
|
|
MENU_ITEM(function, MSG_INIT_EEPROM, lcd_init_eeprom);
|
|
|
|
MENU_ITEM(function, MSG_INIT_EEPROM, lcd_init_eeprom);
|
|
|
|
END_MENU();
|
|
|
|
END_MENU();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
void lcd_control_menu() {
|
|
|
|
void lcd_configuration_menu() {
|
|
|
|
START_MENU();
|
|
|
|
START_MENU();
|
|
|
|
MENU_BACK(MSG_MAIN);
|
|
|
|
MENU_BACK(MSG_MAIN);
|
|
|
|
MENU_ITEM(submenu, MSG_TEMPERATURE, lcd_control_temperature_menu);
|
|
|
|
|
|
|
|
MENU_ITEM(submenu, MSG_MOTION, lcd_control_motion_menu);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#if DISABLED(NO_VOLUMETRICS) || ENABLED(ADVANCED_PAUSE_FEATURE)
|
|
|
|
MENU_ITEM(submenu, MSG_ADVANCED_SETTINGS, lcd_advanced_settings_menu);
|
|
|
|
MENU_ITEM(submenu, MSG_FILAMENT, lcd_control_filament_menu);
|
|
|
|
|
|
|
|
#elif ENABLED(LIN_ADVANCE)
|
|
|
|
//
|
|
|
|
MENU_ITEM_EDIT(float52, MSG_ADVANCE_K, &planner.extruder_advance_K, 0, 999);
|
|
|
|
// Delta Calibration
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
#if ENABLED(DELTA_CALIBRATION_MENU) || ENABLED(DELTA_AUTO_CALIBRATION)
|
|
|
|
|
|
|
|
MENU_ITEM(submenu, MSG_DELTA_CALIBRATE, lcd_delta_calibrate_menu);
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
#if HAS_LCD_CONTRAST
|
|
|
|
#if HAS_LCD_CONTRAST
|
|
|
|
MENU_ITEM_EDIT_CALLBACK(int3, MSG_CONTRAST, &lcd_contrast, LCD_CONTRAST_MIN, LCD_CONTRAST_MAX, lcd_callback_set_contrast, true);
|
|
|
|
MENU_ITEM_EDIT_CALLBACK(int3, MSG_CONTRAST, &lcd_contrast, LCD_CONTRAST_MIN, LCD_CONTRAST_MAX, lcd_callback_set_contrast, true);
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
#if ENABLED(FWRETRACT)
|
|
|
|
#if ENABLED(FWRETRACT)
|
|
|
|
MENU_ITEM(submenu, MSG_RETRACT, lcd_control_retract_menu);
|
|
|
|
MENU_ITEM(submenu, MSG_RETRACT, lcd_config_retract_menu);
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
#if ENABLED(DAC_STEPPER_CURRENT)
|
|
|
|
#if ENABLED(DAC_STEPPER_CURRENT)
|
|
|
|
MENU_ITEM(submenu, MSG_DRIVE_STRENGTH, lcd_dac_menu);
|
|
|
|
MENU_ITEM(submenu, MSG_DRIVE_STRENGTH, lcd_dac_menu);
|
|
|
@ -3368,6 +3292,12 @@ void lcd_quick_feedback(const bool clear_buttons) {
|
|
|
|
MENU_ITEM(submenu, MSG_BLTOUCH, bltouch_menu);
|
|
|
|
MENU_ITEM(submenu, MSG_BLTOUCH, bltouch_menu);
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#if DISABLED(SLIM_LCD_MENUS)
|
|
|
|
|
|
|
|
// Preheat configurations
|
|
|
|
|
|
|
|
MENU_ITEM(submenu, MSG_PREHEAT_1_SETTINGS, lcd_configuration_temperature_preheat_material1_settings_menu);
|
|
|
|
|
|
|
|
MENU_ITEM(submenu, MSG_PREHEAT_2_SETTINGS, lcd_configuration_temperature_preheat_material2_settings_menu);
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
#if ENABLED(EEPROM_SETTINGS)
|
|
|
|
#if ENABLED(EEPROM_SETTINGS)
|
|
|
|
MENU_ITEM(function, MSG_STORE_EEPROM, lcd_store_settings);
|
|
|
|
MENU_ITEM(function, MSG_STORE_EEPROM, lcd_store_settings);
|
|
|
|
MENU_ITEM(function, MSG_LOAD_EEPROM, lcd_load_settings);
|
|
|
|
MENU_ITEM(function, MSG_LOAD_EEPROM, lcd_load_settings);
|
|
|
@ -3375,10 +3305,6 @@ void lcd_quick_feedback(const bool clear_buttons) {
|
|
|
|
|
|
|
|
|
|
|
|
MENU_ITEM(function, MSG_RESTORE_FAILSAFE, lcd_factory_settings);
|
|
|
|
MENU_ITEM(function, MSG_RESTORE_FAILSAFE, lcd_factory_settings);
|
|
|
|
|
|
|
|
|
|
|
|
#if ENABLED(EEPROM_SETTINGS) && DISABLED(SLIM_LCD_MENUS)
|
|
|
|
|
|
|
|
MENU_ITEM(submenu, MSG_INIT_EEPROM, lcd_init_eeprom_confirm);
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
END_MENU();
|
|
|
|
END_MENU();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -3464,16 +3390,12 @@ void lcd_quick_feedback(const bool clear_buttons) {
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
*
|
|
|
|
*
|
|
|
|
* "Control" > "Temperature" submenu
|
|
|
|
* "Temperature" submenu
|
|
|
|
*
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
void lcd_control_temperature_menu() {
|
|
|
|
void lcd_temperature_menu() {
|
|
|
|
START_MENU();
|
|
|
|
START_MENU();
|
|
|
|
|
|
|
|
MENU_BACK(MSG_MAIN);
|
|
|
|
//
|
|
|
|
|
|
|
|
// ^ Control
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
MENU_BACK(MSG_CONTROL);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// Nozzle:
|
|
|
|
// Nozzle:
|
|
|
@ -3526,6 +3448,42 @@ void lcd_quick_feedback(const bool clear_buttons) {
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
#endif // FAN_COUNT > 0
|
|
|
|
#endif // FAN_COUNT > 0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#if HAS_TEMP_HOTEND
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// Cooldown
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
bool has_heat = false;
|
|
|
|
|
|
|
|
HOTEND_LOOP() if (thermalManager.target_temperature[HOTEND_INDEX]) { has_heat = true; break; }
|
|
|
|
|
|
|
|
#if HAS_TEMP_BED
|
|
|
|
|
|
|
|
if (thermalManager.target_temperature_bed) has_heat = true;
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
if (has_heat) MENU_ITEM(function, MSG_COOLDOWN, lcd_cooldown);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// Preheat for Material 1 and 2
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
#if TEMP_SENSOR_1 != 0 || TEMP_SENSOR_2 != 0 || TEMP_SENSOR_3 != 0 || TEMP_SENSOR_4 != 0 || HAS_HEATED_BED
|
|
|
|
|
|
|
|
MENU_ITEM(submenu, MSG_PREHEAT_1, lcd_preheat_m1_menu);
|
|
|
|
|
|
|
|
MENU_ITEM(submenu, MSG_PREHEAT_2, lcd_preheat_m2_menu);
|
|
|
|
|
|
|
|
#else
|
|
|
|
|
|
|
|
MENU_ITEM(function, MSG_PREHEAT_1, lcd_preheat_m1_e0_only);
|
|
|
|
|
|
|
|
MENU_ITEM(function, MSG_PREHEAT_2, lcd_preheat_m2_e0_only);
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endif // HAS_TEMP_HOTEND
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
END_MENU();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
*
|
|
|
|
|
|
|
|
* "Advanced Settings" -> "Temperature" submenu
|
|
|
|
|
|
|
|
*
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
void lcd_advanced_temperature_menu() {
|
|
|
|
|
|
|
|
START_MENU();
|
|
|
|
|
|
|
|
MENU_BACK(MSG_ADVANCED_SETTINGS);
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// Autotemp, Min, Max, Fact
|
|
|
|
// Autotemp, Min, Max, Fact
|
|
|
|
//
|
|
|
|
//
|
|
|
@ -3587,24 +3545,12 @@ void lcd_quick_feedback(const bool clear_buttons) {
|
|
|
|
|
|
|
|
|
|
|
|
#endif // PIDTEMP
|
|
|
|
#endif // PIDTEMP
|
|
|
|
|
|
|
|
|
|
|
|
#if DISABLED(SLIM_LCD_MENUS)
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// Preheat Material 1 conf
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
MENU_ITEM(submenu, MSG_PREHEAT_1_SETTINGS, lcd_control_temperature_preheat_material1_settings_menu);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// Preheat Material 2 conf
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
MENU_ITEM(submenu, MSG_PREHEAT_2_SETTINGS, lcd_control_temperature_preheat_material2_settings_menu);
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
END_MENU();
|
|
|
|
END_MENU();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
#if DISABLED(SLIM_LCD_MENUS)
|
|
|
|
#if DISABLED(SLIM_LCD_MENUS)
|
|
|
|
|
|
|
|
|
|
|
|
void _lcd_control_temperature_preheat_settings_menu(const uint8_t material) {
|
|
|
|
void _lcd_configuration_temperature_preheat_settings_menu(const uint8_t material) {
|
|
|
|
#if HOTENDS > 4
|
|
|
|
#if HOTENDS > 4
|
|
|
|
#define MINTEMP_ALL MIN5(HEATER_0_MINTEMP, HEATER_1_MINTEMP, HEATER_2_MINTEMP, HEATER_3_MINTEMP, HEATER_4_MINTEMP)
|
|
|
|
#define MINTEMP_ALL MIN5(HEATER_0_MINTEMP, HEATER_1_MINTEMP, HEATER_2_MINTEMP, HEATER_3_MINTEMP, HEATER_4_MINTEMP)
|
|
|
|
#define MAXTEMP_ALL MAX5(HEATER_0_MAXTEMP, HEATER_1_MAXTEMP, HEATER_2_MAXTEMP, HEATER_3_MAXTEMP, HEATER_4_MAXTEMP)
|
|
|
|
#define MAXTEMP_ALL MAX5(HEATER_0_MAXTEMP, HEATER_1_MAXTEMP, HEATER_2_MAXTEMP, HEATER_3_MAXTEMP, HEATER_4_MAXTEMP)
|
|
|
@ -3622,7 +3568,7 @@ void lcd_quick_feedback(const bool clear_buttons) {
|
|
|
|
#define MAXTEMP_ALL HEATER_0_MAXTEMP
|
|
|
|
#define MAXTEMP_ALL HEATER_0_MAXTEMP
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
START_MENU();
|
|
|
|
START_MENU();
|
|
|
|
MENU_BACK(MSG_TEMPERATURE);
|
|
|
|
MENU_BACK(MSG_CONFIGURATION);
|
|
|
|
MENU_ITEM_EDIT(int3, MSG_FAN_SPEED, &lcd_preheat_fan_speed[material], 0, 255);
|
|
|
|
MENU_ITEM_EDIT(int3, MSG_FAN_SPEED, &lcd_preheat_fan_speed[material], 0, 255);
|
|
|
|
#if HAS_TEMP_HOTEND
|
|
|
|
#if HAS_TEMP_HOTEND
|
|
|
|
MENU_ITEM_EDIT(int3, MSG_NOZZLE, &lcd_preheat_hotend_temp[material], MINTEMP_ALL, MAXTEMP_ALL - 15);
|
|
|
|
MENU_ITEM_EDIT(int3, MSG_NOZZLE, &lcd_preheat_hotend_temp[material], MINTEMP_ALL, MAXTEMP_ALL - 15);
|
|
|
@ -3641,14 +3587,14 @@ void lcd_quick_feedback(const bool clear_buttons) {
|
|
|
|
* "Temperature" > "Preheat Material 1 conf" submenu
|
|
|
|
* "Temperature" > "Preheat Material 1 conf" submenu
|
|
|
|
*
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
void lcd_control_temperature_preheat_material1_settings_menu() { _lcd_control_temperature_preheat_settings_menu(0); }
|
|
|
|
void lcd_configuration_temperature_preheat_material1_settings_menu() { _lcd_configuration_temperature_preheat_settings_menu(0); }
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
*
|
|
|
|
*
|
|
|
|
* "Temperature" > "Preheat Material 2 conf" submenu
|
|
|
|
* "Temperature" > "Preheat Material 2 conf" submenu
|
|
|
|
*
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
void lcd_control_temperature_preheat_material2_settings_menu() { _lcd_control_temperature_preheat_settings_menu(1); }
|
|
|
|
void lcd_configuration_temperature_preheat_material2_settings_menu() { _lcd_configuration_temperature_preheat_settings_menu(1); }
|
|
|
|
|
|
|
|
|
|
|
|
void _reset_acceleration_rates() { planner.reset_acceleration_rates(); }
|
|
|
|
void _reset_acceleration_rates() { planner.reset_acceleration_rates(); }
|
|
|
|
#if ENABLED(DISTINCT_E_FACTORS)
|
|
|
|
#if ENABLED(DISTINCT_E_FACTORS)
|
|
|
@ -3688,9 +3634,9 @@ void lcd_quick_feedback(const bool clear_buttons) {
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
// M203 / M205 Velocity options
|
|
|
|
// M203 / M205 Velocity options
|
|
|
|
void lcd_control_motion_velocity_menu() {
|
|
|
|
void lcd_advanced_velocity_menu() {
|
|
|
|
START_MENU();
|
|
|
|
START_MENU();
|
|
|
|
MENU_BACK(MSG_MOTION);
|
|
|
|
MENU_BACK(MSG_ADVANCED_SETTINGS);
|
|
|
|
|
|
|
|
|
|
|
|
// M203 Max Feedrate
|
|
|
|
// M203 Max Feedrate
|
|
|
|
MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_VMAX MSG_A, &planner.max_feedrate_mm_s[A_AXIS], 1, 999);
|
|
|
|
MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_VMAX MSG_A, &planner.max_feedrate_mm_s[A_AXIS], 1, 999);
|
|
|
@ -3724,9 +3670,9 @@ void lcd_quick_feedback(const bool clear_buttons) {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// M201 / M204 Accelerations
|
|
|
|
// M201 / M204 Accelerations
|
|
|
|
void lcd_control_motion_acceleration_menu() {
|
|
|
|
void lcd_advanced_acceleration_menu() {
|
|
|
|
START_MENU();
|
|
|
|
START_MENU();
|
|
|
|
MENU_BACK(MSG_MOTION);
|
|
|
|
MENU_BACK(MSG_ADVANCED_SETTINGS);
|
|
|
|
|
|
|
|
|
|
|
|
// M204 P Acceleration
|
|
|
|
// M204 P Acceleration
|
|
|
|
MENU_MULTIPLIER_ITEM_EDIT(float5, MSG_ACC, &planner.acceleration, 10, 99000);
|
|
|
|
MENU_MULTIPLIER_ITEM_EDIT(float5, MSG_ACC, &planner.acceleration, 10, 99000);
|
|
|
@ -3763,9 +3709,9 @@ void lcd_quick_feedback(const bool clear_buttons) {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// M205 Jerk
|
|
|
|
// M205 Jerk
|
|
|
|
void lcd_control_motion_jerk_menu() {
|
|
|
|
void lcd_advanced_jerk_menu() {
|
|
|
|
START_MENU();
|
|
|
|
START_MENU();
|
|
|
|
MENU_BACK(MSG_MOTION);
|
|
|
|
MENU_BACK(MSG_ADVANCED_SETTINGS);
|
|
|
|
|
|
|
|
|
|
|
|
#if ENABLED(JUNCTION_DEVIATION)
|
|
|
|
#if ENABLED(JUNCTION_DEVIATION)
|
|
|
|
MENU_ITEM_EDIT_CALLBACK(float43, MSG_JUNCTION_DEVIATION, &planner.junction_deviation_mm, 0.01f, 0.3f, planner.recalculate_max_e_jerk);
|
|
|
|
MENU_ITEM_EDIT_CALLBACK(float43, MSG_JUNCTION_DEVIATION, &planner.junction_deviation_mm, 0.01f, 0.3f, planner.recalculate_max_e_jerk);
|
|
|
@ -3784,9 +3730,9 @@ void lcd_quick_feedback(const bool clear_buttons) {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// M92 Steps-per-mm
|
|
|
|
// M92 Steps-per-mm
|
|
|
|
void lcd_control_motion_steps_per_mm_menu() {
|
|
|
|
void lcd_advanced_steps_per_mm_menu() {
|
|
|
|
START_MENU();
|
|
|
|
START_MENU();
|
|
|
|
MENU_BACK(MSG_MOTION);
|
|
|
|
MENU_BACK(MSG_ADVANCED_SETTINGS);
|
|
|
|
|
|
|
|
|
|
|
|
MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float62, MSG_ASTEPS, &planner.axis_steps_per_mm[A_AXIS], 5, 9999, _planner_refresh_positioning);
|
|
|
|
MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float62, MSG_ASTEPS, &planner.axis_steps_per_mm[A_AXIS], 5, 9999, _planner_refresh_positioning);
|
|
|
|
MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float62, MSG_BSTEPS, &planner.axis_steps_per_mm[B_AXIS], 5, 9999, _planner_refresh_positioning);
|
|
|
|
MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float62, MSG_BSTEPS, &planner.axis_steps_per_mm[B_AXIS], 5, 9999, _planner_refresh_positioning);
|
|
|
@ -3816,13 +3762,24 @@ void lcd_quick_feedback(const bool clear_buttons) {
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
*
|
|
|
|
*
|
|
|
|
* "Control" > "Motion" submenu
|
|
|
|
* "Advanced Settings" submenu
|
|
|
|
*
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
void lcd_control_motion_menu() {
|
|
|
|
#if HAS_M206_COMMAND
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* Set the home offset based on the current_position
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
void lcd_set_home_offsets() {
|
|
|
|
|
|
|
|
// M428 Command
|
|
|
|
|
|
|
|
enqueue_and_echo_commands_P(PSTR("M428"));
|
|
|
|
|
|
|
|
lcd_return_to_status();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void lcd_advanced_settings_menu() {
|
|
|
|
START_MENU();
|
|
|
|
START_MENU();
|
|
|
|
MENU_BACK(MSG_CONTROL);
|
|
|
|
MENU_BACK(MSG_CONFIGURATION);
|
|
|
|
|
|
|
|
|
|
|
|
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
|
|
|
|
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
|
|
|
|
MENU_ITEM(submenu, MSG_ZPROBE_ZOFFSET, lcd_babystep_zoffset);
|
|
|
|
MENU_ITEM(submenu, MSG_ZPROBE_ZOFFSET, lcd_babystep_zoffset);
|
|
|
@ -3832,37 +3789,65 @@ void lcd_quick_feedback(const bool clear_buttons) {
|
|
|
|
|
|
|
|
|
|
|
|
#if DISABLED(SLIM_LCD_MENUS)
|
|
|
|
#if DISABLED(SLIM_LCD_MENUS)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#if HAS_M206_COMMAND
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// Set Home Offsets
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
MENU_ITEM(function, MSG_SET_HOME_OFFSETS, lcd_set_home_offsets);
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
// M203 / M205 - Feedrate items
|
|
|
|
// M203 / M205 - Feedrate items
|
|
|
|
MENU_ITEM(submenu, MSG_VELOCITY, lcd_control_motion_velocity_menu);
|
|
|
|
MENU_ITEM(submenu, MSG_VELOCITY, lcd_advanced_velocity_menu);
|
|
|
|
|
|
|
|
|
|
|
|
// M201 - Acceleration items
|
|
|
|
// M201 - Acceleration items
|
|
|
|
MENU_ITEM(submenu, MSG_ACCELERATION, lcd_control_motion_acceleration_menu);
|
|
|
|
MENU_ITEM(submenu, MSG_ACCELERATION, lcd_advanced_acceleration_menu);
|
|
|
|
|
|
|
|
|
|
|
|
// M205 - Max Jerk
|
|
|
|
// M205 - Max Jerk
|
|
|
|
MENU_ITEM(submenu, MSG_JERK, lcd_control_motion_jerk_menu);
|
|
|
|
MENU_ITEM(submenu, MSG_JERK, lcd_advanced_jerk_menu);
|
|
|
|
|
|
|
|
|
|
|
|
// M92 - Steps Per mm
|
|
|
|
// M92 - Steps Per mm
|
|
|
|
MENU_ITEM(submenu, MSG_STEPS_PER_MM, lcd_control_motion_steps_per_mm_menu);
|
|
|
|
MENU_ITEM(submenu, MSG_STEPS_PER_MM, lcd_advanced_steps_per_mm_menu);
|
|
|
|
|
|
|
|
|
|
|
|
#endif // !SLIM_LCD_MENUS
|
|
|
|
#endif // !SLIM_LCD_MENUS
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MENU_ITEM(submenu, MSG_TEMPERATURE, lcd_advanced_temperature_menu);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#if DISABLED(NO_VOLUMETRICS) || ENABLED(ADVANCED_PAUSE_FEATURE)
|
|
|
|
|
|
|
|
MENU_ITEM(submenu, MSG_FILAMENT, lcd_advanced_filament_menu);
|
|
|
|
|
|
|
|
#elif ENABLED(LIN_ADVANCE)
|
|
|
|
|
|
|
|
MENU_ITEM_EDIT(float32, MSG_ADVANCE_K, &planner.extruder_advance_K, 0, 999);
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
// M540 S - Abort on endstop hit when SD printing
|
|
|
|
// M540 S - Abort on endstop hit when SD printing
|
|
|
|
#if ENABLED(ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED)
|
|
|
|
#if ENABLED(ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED)
|
|
|
|
MENU_ITEM_EDIT(bool, MSG_ENDSTOP_ABORT, &planner.abort_on_endstop_hit);
|
|
|
|
MENU_ITEM_EDIT(bool, MSG_ENDSTOP_ABORT, &planner.abort_on_endstop_hit);
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// BLTouch Self-Test and Reset
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
#if ENABLED(BLTOUCH)
|
|
|
|
|
|
|
|
MENU_ITEM(gcode, MSG_BLTOUCH_SELFTEST, PSTR("M280 P" STRINGIFY(Z_PROBE_SERVO_NR) " S" STRINGIFY(BLTOUCH_SELFTEST)));
|
|
|
|
|
|
|
|
if (!endstops.z_probe_enabled && TEST_BLTOUCH())
|
|
|
|
|
|
|
|
MENU_ITEM(gcode, MSG_BLTOUCH_RESET, PSTR("M280 P" STRINGIFY(Z_PROBE_SERVO_NR) " S" STRINGIFY(BLTOUCH_RESET)));
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#if ENABLED(EEPROM_SETTINGS) && DISABLED(SLIM_LCD_MENUS)
|
|
|
|
|
|
|
|
MENU_ITEM(submenu, MSG_INIT_EEPROM, lcd_init_eeprom_confirm);
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
END_MENU();
|
|
|
|
END_MENU();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
#if DISABLED(NO_VOLUMETRICS) || ENABLED(ADVANCED_PAUSE_FEATURE)
|
|
|
|
#if DISABLED(NO_VOLUMETRICS) || ENABLED(ADVANCED_PAUSE_FEATURE)
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
*
|
|
|
|
*
|
|
|
|
* "Control" > "Filament" submenu
|
|
|
|
* "Advanced Settings" > "Filament" submenu
|
|
|
|
*
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
void lcd_control_filament_menu() {
|
|
|
|
void lcd_advanced_filament_menu() {
|
|
|
|
START_MENU();
|
|
|
|
START_MENU();
|
|
|
|
MENU_BACK(MSG_CONTROL);
|
|
|
|
MENU_BACK(MSG_ADVANCED_SETTINGS);
|
|
|
|
|
|
|
|
|
|
|
|
#if ENABLED(LIN_ADVANCE)
|
|
|
|
#if ENABLED(LIN_ADVANCE)
|
|
|
|
MENU_ITEM_EDIT(float52, MSG_ADVANCE_K, &planner.extruder_advance_K, 0, 999);
|
|
|
|
MENU_ITEM_EDIT(float52, MSG_ADVANCE_K, &planner.extruder_advance_K, 0, 999);
|
|
|
@ -3941,12 +3926,12 @@ void lcd_quick_feedback(const bool clear_buttons) {
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
*
|
|
|
|
*
|
|
|
|
* "Control" > "Retract" submenu
|
|
|
|
* "Configuration" > "Retract" submenu
|
|
|
|
*
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
#if ENABLED(FWRETRACT)
|
|
|
|
#if ENABLED(FWRETRACT)
|
|
|
|
|
|
|
|
|
|
|
|
void lcd_control_retract_menu() {
|
|
|
|
void lcd_config_retract_menu() {
|
|
|
|
START_MENU();
|
|
|
|
START_MENU();
|
|
|
|
MENU_BACK(MSG_CONTROL);
|
|
|
|
MENU_BACK(MSG_CONTROL);
|
|
|
|
MENU_ITEM_EDIT_CALLBACK(bool, MSG_AUTORETRACT, &fwretract.autoretract_enabled, fwretract.refresh_autoretract);
|
|
|
|
MENU_ITEM_EDIT_CALLBACK(bool, MSG_AUTORETRACT, &fwretract.autoretract_enabled, fwretract.refresh_autoretract);
|
|
|
@ -4378,7 +4363,7 @@ void lcd_quick_feedback(const bool clear_buttons) {
|
|
|
|
#if E_STEPPERS > 1 || ENABLED(FILAMENT_LOAD_UNLOAD_GCODES)
|
|
|
|
#if E_STEPPERS > 1 || ENABLED(FILAMENT_LOAD_UNLOAD_GCODES)
|
|
|
|
void lcd_change_filament_menu() {
|
|
|
|
void lcd_change_filament_menu() {
|
|
|
|
START_MENU();
|
|
|
|
START_MENU();
|
|
|
|
MENU_BACK(MSG_PREPARE);
|
|
|
|
MENU_BACK(MSG_MAIN);
|
|
|
|
|
|
|
|
|
|
|
|
// Change filament
|
|
|
|
// Change filament
|
|
|
|
#if E_STEPPERS == 1
|
|
|
|
#if E_STEPPERS == 1
|
|
|
|