|
|
@ -136,11 +136,11 @@ uint16_t max_display_update_time = 0; |
|
|
|
DEFINE_LCD_IMPLEMENTATION_DRAWMENU_SETTING_EDIT_TYPE(int16_t, int3, itostr3); |
|
|
|
DEFINE_LCD_IMPLEMENTATION_DRAWMENU_SETTING_EDIT_TYPE(uint8_t, int8, i8tostr3); |
|
|
|
DEFINE_LCD_IMPLEMENTATION_DRAWMENU_SETTING_EDIT_TYPE(float, float3, ftostr3); |
|
|
|
DEFINE_LCD_IMPLEMENTATION_DRAWMENU_SETTING_EDIT_TYPE(float, float32, ftostr32); |
|
|
|
DEFINE_LCD_IMPLEMENTATION_DRAWMENU_SETTING_EDIT_TYPE(float, float52, ftostr52); |
|
|
|
DEFINE_LCD_IMPLEMENTATION_DRAWMENU_SETTING_EDIT_TYPE(float, float43, ftostr43sign); |
|
|
|
DEFINE_LCD_IMPLEMENTATION_DRAWMENU_SETTING_EDIT_TYPE(float, float5, ftostr5rj); |
|
|
|
DEFINE_LCD_IMPLEMENTATION_DRAWMENU_SETTING_EDIT_TYPE(float, float51, ftostr51sign); |
|
|
|
DEFINE_LCD_IMPLEMENTATION_DRAWMENU_SETTING_EDIT_TYPE(float, float52, ftostr52sign); |
|
|
|
DEFINE_LCD_IMPLEMENTATION_DRAWMENU_SETTING_EDIT_TYPE(float, float52sign, ftostr52sign); |
|
|
|
DEFINE_LCD_IMPLEMENTATION_DRAWMENU_SETTING_EDIT_TYPE(float, float62, ftostr62rj); |
|
|
|
DEFINE_LCD_IMPLEMENTATION_DRAWMENU_SETTING_EDIT_TYPE(uint32_t, long5, ftostr5rj); |
|
|
|
#define lcd_implementation_drawmenu_setting_edit_bool(sel, row, pstr, pstr2, data) DRAW_BOOL_SETTING(sel, row, pstr, data) |
|
|
@ -264,11 +264,11 @@ uint16_t max_display_update_time = 0; |
|
|
|
DECLARE_MENU_EDIT_TYPE(int16_t, int3); |
|
|
|
DECLARE_MENU_EDIT_TYPE(uint8_t, int8); |
|
|
|
DECLARE_MENU_EDIT_TYPE(float, float3); |
|
|
|
DECLARE_MENU_EDIT_TYPE(float, float32); |
|
|
|
DECLARE_MENU_EDIT_TYPE(float, float52); |
|
|
|
DECLARE_MENU_EDIT_TYPE(float, float43); |
|
|
|
DECLARE_MENU_EDIT_TYPE(float, float5); |
|
|
|
DECLARE_MENU_EDIT_TYPE(float, float51); |
|
|
|
DECLARE_MENU_EDIT_TYPE(float, float52); |
|
|
|
DECLARE_MENU_EDIT_TYPE(float, float52sign); |
|
|
|
DECLARE_MENU_EDIT_TYPE(float, float62); |
|
|
|
DECLARE_MENU_EDIT_TYPE(uint32_t, long5); |
|
|
|
|
|
|
@ -1404,13 +1404,20 @@ void lcd_quick_feedback(const bool clear_buttons) { |
|
|
|
//
|
|
|
|
MENU_ITEM_EDIT(int3, MSG_SPEED, &feedrate_percentage, 10, 999); |
|
|
|
|
|
|
|
//
|
|
|
|
// Manual bed leveling, Bed Z:
|
|
|
|
//
|
|
|
|
#if ENABLED(MESH_BED_LEVELING) && ENABLED(LCD_BED_LEVELING) |
|
|
|
MENU_ITEM_EDIT(float43, MSG_BED_Z, &mbl.z_offset, -1, 1); |
|
|
|
#endif |
|
|
|
#if ENABLED(ENABLE_LEVELING_FADE_HEIGHT) |
|
|
|
|
|
|
|
//
|
|
|
|
// Leveling Fade Height
|
|
|
|
//
|
|
|
|
#if ENABLED(ENABLE_LEVELING_FADE_HEIGHT) && DISABLED(SLIM_LCD_MENUS) |
|
|
|
MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float62, MSG_Z_FADE_HEIGHT, &new_z_fade_height, 0.0, 100.0, _lcd_set_z_fade_height); |
|
|
|
#endif |
|
|
|
|
|
|
|
//
|
|
|
|
// Nozzle:
|
|
|
|
// Nozzle [1-4]:
|
|
|
@ -1883,7 +1890,7 @@ void lcd_quick_feedback(const bool clear_buttons) { |
|
|
|
|
|
|
|
#endif // LEVEL_BED_CORNERS
|
|
|
|
|
|
|
|
#if ENABLED(LCD_BED_LEVELING) |
|
|
|
#if ENABLED(LCD_BED_LEVELING) && (ENABLED(PROBE_MANUALLY) || ENABLED(MESH_BED_LEVELING)) |
|
|
|
|
|
|
|
/**
|
|
|
|
* |
|
|
@ -2045,76 +2052,6 @@ void lcd_quick_feedback(const bool clear_buttons) { |
|
|
|
enqueue_and_echo_commands_P(PSTR("G28")); |
|
|
|
} |
|
|
|
|
|
|
|
static bool new_level_state; |
|
|
|
void _lcd_toggle_bed_leveling() { set_bed_leveling_enabled(new_level_state); } |
|
|
|
|
|
|
|
/**
|
|
|
|
* Step 1: Bed Level entry-point |
|
|
|
* |
|
|
|
* << Prepare |
|
|
|
* Auto Home (if homing needed) |
|
|
|
* Leveling On/Off (if data exists, and homed) |
|
|
|
* Fade Height: --- (Req: ENABLE_LEVELING_FADE_HEIGHT) |
|
|
|
* Mesh Z Offset: --- (Req: MESH_BED_LEVELING) |
|
|
|
* Z Probe Offset: --- (Req: HAS_BED_PROBE, Opt: BABYSTEP_ZPROBE_OFFSET) |
|
|
|
* Level Bed > |
|
|
|
* Level Corners > (if homed) |
|
|
|
* Load Settings (Req: EEPROM_SETTINGS) |
|
|
|
* Save Settings (Req: EEPROM_SETTINGS) |
|
|
|
*/ |
|
|
|
void lcd_bed_leveling() { |
|
|
|
START_MENU(); |
|
|
|
MENU_BACK(MSG_PREPARE); |
|
|
|
|
|
|
|
#if DISABLED(MESH_BED_LEVELING) |
|
|
|
if (!(axis_known_position[X_AXIS] && axis_known_position[Y_AXIS] && axis_known_position[Z_AXIS])) |
|
|
|
MENU_ITEM(gcode, MSG_AUTO_HOME, PSTR("G28")); |
|
|
|
else |
|
|
|
#endif |
|
|
|
if (leveling_is_valid()) { |
|
|
|
new_level_state = planner.leveling_active; |
|
|
|
MENU_ITEM_EDIT_CALLBACK(bool, MSG_BED_LEVELING, &new_level_state, _lcd_toggle_bed_leveling); |
|
|
|
} |
|
|
|
|
|
|
|
#if ENABLED(ENABLE_LEVELING_FADE_HEIGHT) |
|
|
|
MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float62, MSG_Z_FADE_HEIGHT, &new_z_fade_height, 0.0, 100.0, _lcd_set_z_fade_height); |
|
|
|
#endif |
|
|
|
|
|
|
|
//
|
|
|
|
// MBL Z Offset
|
|
|
|
//
|
|
|
|
#if ENABLED(MESH_BED_LEVELING) |
|
|
|
MENU_ITEM_EDIT(float43, MSG_BED_Z, &mbl.z_offset, -1, 1); |
|
|
|
#endif |
|
|
|
|
|
|
|
#if ENABLED(BABYSTEP_ZPROBE_OFFSET) |
|
|
|
MENU_ITEM(submenu, MSG_ZPROBE_ZOFFSET, lcd_babystep_zoffset); |
|
|
|
#elif HAS_BED_PROBE |
|
|
|
MENU_ITEM_EDIT(float32, MSG_ZPROBE_ZOFFSET, &zprobe_zoffset, Z_PROBE_OFFSET_RANGE_MIN, Z_PROBE_OFFSET_RANGE_MAX); |
|
|
|
#endif |
|
|
|
|
|
|
|
MENU_ITEM(submenu, MSG_LEVEL_BED, _lcd_level_bed_continue); |
|
|
|
|
|
|
|
#if ENABLED(LEVEL_BED_CORNERS) |
|
|
|
// Move to the next corner for leveling
|
|
|
|
if (axis_homed[X_AXIS] && axis_homed[Y_AXIS] && axis_homed[Z_AXIS]) |
|
|
|
MENU_ITEM(submenu, MSG_LEVEL_CORNERS, _lcd_level_bed_corners); |
|
|
|
#endif |
|
|
|
|
|
|
|
#if ENABLED(EEPROM_SETTINGS) |
|
|
|
MENU_ITEM(function, MSG_LOAD_EEPROM, lcd_load_settings); |
|
|
|
MENU_ITEM(function, MSG_STORE_EEPROM, lcd_store_settings); |
|
|
|
#endif |
|
|
|
END_MENU(); |
|
|
|
} |
|
|
|
|
|
|
|
#if ENABLED(ENABLE_LEVELING_FADE_HEIGHT) |
|
|
|
void _lcd_goto_bed_leveling() { |
|
|
|
lcd_goto_screen(lcd_bed_leveling); |
|
|
|
new_z_fade_height = planner.z_fade_height; |
|
|
|
} |
|
|
|
#endif |
|
|
|
|
|
|
|
#elif ENABLED(AUTO_BED_LEVELING_UBL) |
|
|
|
|
|
|
|
void _lcd_ubl_level_bed(); |
|
|
@ -2647,6 +2584,93 @@ void lcd_quick_feedback(const bool clear_buttons) { |
|
|
|
|
|
|
|
#endif // AUTO_BED_LEVELING_UBL
|
|
|
|
|
|
|
|
|
|
|
|
#if ENABLED(LCD_BED_LEVELING) || (PLANNER_LEVELING && DISABLED(SLIM_LCD_MENUS)) |
|
|
|
void _lcd_toggle_bed_leveling() { set_bed_leveling_enabled(!planner.leveling_active); } |
|
|
|
#endif |
|
|
|
|
|
|
|
#if ENABLED(LCD_BED_LEVELING) |
|
|
|
|
|
|
|
/**
|
|
|
|
* Step 1: Bed Level entry-point |
|
|
|
* |
|
|
|
* << Prepare |
|
|
|
* Auto Home (if homing needed) |
|
|
|
* Leveling On/Off (if data exists, and homed) |
|
|
|
* Fade Height: --- (Req: ENABLE_LEVELING_FADE_HEIGHT) |
|
|
|
* Mesh Z Offset: --- (Req: MESH_BED_LEVELING) |
|
|
|
* Z Probe Offset: --- (Req: HAS_BED_PROBE, Opt: BABYSTEP_ZPROBE_OFFSET) |
|
|
|
* Level Bed > |
|
|
|
* Level Corners > (if homed) |
|
|
|
* Load Settings (Req: EEPROM_SETTINGS) |
|
|
|
* Save Settings (Req: EEPROM_SETTINGS) |
|
|
|
*/ |
|
|
|
void lcd_bed_leveling() { |
|
|
|
START_MENU(); |
|
|
|
MENU_BACK(MSG_PREPARE); |
|
|
|
|
|
|
|
const bool is_homed = axis_known_position[X_AXIS] && axis_known_position[Y_AXIS] && axis_known_position[Z_AXIS]; |
|
|
|
|
|
|
|
// Auto Home if not using manual probing
|
|
|
|
#if DISABLED(PROBE_MANUALLY) && DISABLED(MESH_BED_LEVELING) |
|
|
|
if (!is_homed) MENU_ITEM(gcode, MSG_AUTO_HOME, PSTR("G28")); |
|
|
|
#endif |
|
|
|
|
|
|
|
// Level Bed
|
|
|
|
#if ENABLED(PROBE_MANUALLY) || ENABLED(MESH_BED_LEVELING) |
|
|
|
// Manual leveling uses a guided procedure
|
|
|
|
MENU_ITEM(submenu, MSG_LEVEL_BED, _lcd_level_bed_continue); |
|
|
|
#else |
|
|
|
// Automatic leveling can just run the G-code
|
|
|
|
MENU_ITEM(gcode, MSG_LEVEL_BED, is_homed ? PSTR("G29") : PSTR("G28\nG29")); |
|
|
|
#endif |
|
|
|
|
|
|
|
// Homed and leveling is valid? Then leveling can be toggled.
|
|
|
|
if (is_homed && leveling_is_valid()) { |
|
|
|
bool new_level_state = planner.leveling_active; |
|
|
|
MENU_ITEM_EDIT_CALLBACK(bool, MSG_BED_LEVELING, &new_level_state, _lcd_toggle_bed_leveling); |
|
|
|
} |
|
|
|
|
|
|
|
// Z Fade Height
|
|
|
|
#if ENABLED(ENABLE_LEVELING_FADE_HEIGHT) |
|
|
|
MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float62, MSG_Z_FADE_HEIGHT, &new_z_fade_height, 0.0, 100.0, _lcd_set_z_fade_height); |
|
|
|
#endif |
|
|
|
|
|
|
|
//
|
|
|
|
// MBL Z Offset
|
|
|
|
//
|
|
|
|
#if ENABLED(MESH_BED_LEVELING) |
|
|
|
MENU_ITEM_EDIT(float43, MSG_BED_Z, &mbl.z_offset, -1, 1); |
|
|
|
#endif |
|
|
|
|
|
|
|
#if ENABLED(BABYSTEP_ZPROBE_OFFSET) |
|
|
|
MENU_ITEM(submenu, MSG_ZPROBE_ZOFFSET, lcd_babystep_zoffset); |
|
|
|
#elif HAS_BED_PROBE |
|
|
|
MENU_ITEM_EDIT(float52, MSG_ZPROBE_ZOFFSET, &zprobe_zoffset, Z_PROBE_OFFSET_RANGE_MIN, Z_PROBE_OFFSET_RANGE_MAX); |
|
|
|
#endif |
|
|
|
|
|
|
|
#if ENABLED(LEVEL_BED_CORNERS) |
|
|
|
// Move to the next corner for leveling
|
|
|
|
if (axis_homed[X_AXIS] && axis_homed[Y_AXIS] && axis_homed[Z_AXIS]) |
|
|
|
MENU_ITEM(submenu, MSG_LEVEL_CORNERS, _lcd_level_bed_corners); |
|
|
|
#endif |
|
|
|
|
|
|
|
#if ENABLED(EEPROM_SETTINGS) |
|
|
|
MENU_ITEM(function, MSG_LOAD_EEPROM, lcd_load_settings); |
|
|
|
MENU_ITEM(function, MSG_STORE_EEPROM, lcd_store_settings); |
|
|
|
#endif |
|
|
|
END_MENU(); |
|
|
|
} |
|
|
|
|
|
|
|
#if ENABLED(ENABLE_LEVELING_FADE_HEIGHT) |
|
|
|
void _lcd_goto_bed_leveling() { |
|
|
|
lcd_goto_screen(lcd_bed_leveling); |
|
|
|
new_z_fade_height = planner.z_fade_height; |
|
|
|
} |
|
|
|
#endif |
|
|
|
|
|
|
|
#endif // LCD_BED_LEVELING
|
|
|
|
|
|
|
|
/**
|
|
|
|
* |
|
|
|
* "Prepare" submenu |
|
|
@ -2683,26 +2707,44 @@ void lcd_quick_feedback(const bool clear_buttons) { |
|
|
|
// Level Bed
|
|
|
|
//
|
|
|
|
#if ENABLED(AUTO_BED_LEVELING_UBL) |
|
|
|
MENU_ITEM(submenu, MSG_UBL_LEVEL_BED, |
|
|
|
|
|
|
|
MENU_ITEM(submenu, MSG_UBL_LEVEL_BED, ( |
|
|
|
#if ENABLED(ENABLE_LEVELING_FADE_HEIGHT) |
|
|
|
_lcd_goto_ubl_level_bed |
|
|
|
#else |
|
|
|
_lcd_ubl_level_bed |
|
|
|
#endif |
|
|
|
) |
|
|
|
); |
|
|
|
|
|
|
|
#elif ENABLED(LCD_BED_LEVELING) |
|
|
|
|
|
|
|
#if ENABLED(PROBE_MANUALLY) |
|
|
|
if (!g29_in_progress) |
|
|
|
#endif |
|
|
|
MENU_ITEM(submenu, MSG_BED_LEVELING, |
|
|
|
|
|
|
|
MENU_ITEM(submenu, MSG_BED_LEVELING, ( |
|
|
|
#if ENABLED(ENABLE_LEVELING_FADE_HEIGHT) |
|
|
|
_lcd_goto_bed_leveling |
|
|
|
#else |
|
|
|
lcd_bed_leveling |
|
|
|
#endif |
|
|
|
) |
|
|
|
); |
|
|
|
#elif PLANNER_LEVELING && DISABLED(PROBE_MANUALLY) && DISABLED(SLIM_LCD_MENUS) |
|
|
|
MENU_ITEM(gcode, MSG_BED_LEVELING, PSTR("G28\nG29")); |
|
|
|
|
|
|
|
#elif PLANNER_LEVELING && DISABLED(SLIM_LCD_MENUS) |
|
|
|
|
|
|
|
#if DISABLED(PROBE_MANUALLY) |
|
|
|
MENU_ITEM(gcode, MSG_LEVEL_BED, PSTR("G28\nG29")); |
|
|
|
#endif |
|
|
|
if (leveling_is_valid()) { |
|
|
|
bool new_level_state = planner.leveling_active; |
|
|
|
MENU_ITEM_EDIT_CALLBACK(bool, MSG_BED_LEVELING, &new_level_state, _lcd_toggle_bed_leveling); |
|
|
|
} |
|
|
|
#if ENABLED(ENABLE_LEVELING_FADE_HEIGHT) |
|
|
|
MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float62, MSG_Z_FADE_HEIGHT, &new_z_fade_height, 0.0, 100.0, _lcd_set_z_fade_height); |
|
|
|
#endif |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
#if ENABLED(LEVEL_BED_CORNERS) && DISABLED(LCD_BED_LEVELING) |
|
|
@ -2864,15 +2906,15 @@ void lcd_quick_feedback(const bool clear_buttons) { |
|
|
|
void lcd_delta_settings() { |
|
|
|
START_MENU(); |
|
|
|
MENU_BACK(MSG_DELTA_CALIBRATE); |
|
|
|
MENU_ITEM_EDIT_CALLBACK(float52, MSG_DELTA_HEIGHT, &delta_height, delta_height - 10.0, delta_height + 10.0, _recalc_delta_settings); |
|
|
|
MENU_ITEM_EDIT_CALLBACK(float52sign, MSG_DELTA_HEIGHT, &delta_height, delta_height - 10.0, delta_height + 10.0, _recalc_delta_settings); |
|
|
|
MENU_ITEM_EDIT_CALLBACK(float43, "Ex", &delta_endstop_adj[A_AXIS], -5.0, 5.0, _recalc_delta_settings); |
|
|
|
MENU_ITEM_EDIT_CALLBACK(float43, "Ey", &delta_endstop_adj[B_AXIS], -5.0, 5.0, _recalc_delta_settings); |
|
|
|
MENU_ITEM_EDIT_CALLBACK(float43, "Ez", &delta_endstop_adj[C_AXIS], -5.0, 5.0, _recalc_delta_settings); |
|
|
|
MENU_ITEM_EDIT_CALLBACK(float52, MSG_DELTA_RADIUS, &delta_radius, delta_radius - 5.0, delta_radius + 5.0, _recalc_delta_settings); |
|
|
|
MENU_ITEM_EDIT_CALLBACK(float52sign, MSG_DELTA_RADIUS, &delta_radius, delta_radius - 5.0, delta_radius + 5.0, _recalc_delta_settings); |
|
|
|
MENU_ITEM_EDIT_CALLBACK(float43, "Tx", &delta_tower_angle_trim[A_AXIS], -5.0, 5.0, _recalc_delta_settings); |
|
|
|
MENU_ITEM_EDIT_CALLBACK(float43, "Ty", &delta_tower_angle_trim[B_AXIS], -5.0, 5.0, _recalc_delta_settings); |
|
|
|
MENU_ITEM_EDIT_CALLBACK(float43, "Tz", &delta_tower_angle_trim[C_AXIS], -5.0, 5.0, _recalc_delta_settings); |
|
|
|
MENU_ITEM_EDIT_CALLBACK(float52, MSG_DELTA_DIAG_ROD, &delta_diagonal_rod, delta_diagonal_rod - 5.0, delta_diagonal_rod + 5.0, _recalc_delta_settings); |
|
|
|
MENU_ITEM_EDIT_CALLBACK(float52sign, MSG_DELTA_DIAG_ROD, &delta_diagonal_rod, delta_diagonal_rod - 5.0, delta_diagonal_rod + 5.0, _recalc_delta_settings); |
|
|
|
END_MENU(); |
|
|
|
} |
|
|
|
|
|
|
@ -3315,7 +3357,7 @@ void lcd_quick_feedback(const bool clear_buttons) { |
|
|
|
#if DISABLED(NO_VOLUMETRICS) || ENABLED(ADVANCED_PAUSE_FEATURE) |
|
|
|
MENU_ITEM(submenu, MSG_FILAMENT, lcd_control_filament_menu); |
|
|
|
#elif ENABLED(LIN_ADVANCE) |
|
|
|
MENU_ITEM_EDIT(float32, MSG_ADVANCE_K, &planner.extruder_advance_K, 0, 999); |
|
|
|
MENU_ITEM_EDIT(float52, MSG_ADVANCE_K, &planner.extruder_advance_K, 0, 999); |
|
|
|
#endif |
|
|
|
|
|
|
|
#if HAS_LCD_CONTRAST |
|
|
@ -3500,7 +3542,7 @@ void lcd_quick_feedback(const bool clear_buttons) { |
|
|
|
MENU_ITEM_EDIT(bool, MSG_AUTOTEMP, &planner.autotemp_enabled); |
|
|
|
MENU_ITEM_EDIT(float3, MSG_MIN, &planner.autotemp_min, 0, HEATER_0_MAXTEMP - 15); |
|
|
|
MENU_ITEM_EDIT(float3, MSG_MAX, &planner.autotemp_max, 0, HEATER_0_MAXTEMP - 15); |
|
|
|
MENU_ITEM_EDIT(float32, MSG_FACTOR, &planner.autotemp_factor, 0.0, 1.0); |
|
|
|
MENU_ITEM_EDIT(float52, MSG_FACTOR, &planner.autotemp_factor, 0.0, 1.0); |
|
|
|
#endif |
|
|
|
|
|
|
|
//
|
|
|
@ -3516,9 +3558,9 @@ void lcd_quick_feedback(const bool clear_buttons) { |
|
|
|
#define _PID_BASE_MENU_ITEMS(ELABEL, eindex) \ |
|
|
|
raw_Ki = unscalePID_i(PID_PARAM(Ki, eindex)); \ |
|
|
|
raw_Kd = unscalePID_d(PID_PARAM(Kd, eindex)); \ |
|
|
|
MENU_ITEM_EDIT(float52, MSG_PID_P ELABEL, &PID_PARAM(Kp, eindex), 1, 9990); \ |
|
|
|
MENU_ITEM_EDIT_CALLBACK(float52, MSG_PID_I ELABEL, &raw_Ki, 0.01, 9990, copy_and_scalePID_i_E ## eindex); \ |
|
|
|
MENU_ITEM_EDIT_CALLBACK(float52, MSG_PID_D ELABEL, &raw_Kd, 1, 9990, copy_and_scalePID_d_E ## eindex) |
|
|
|
MENU_ITEM_EDIT(float52sign, MSG_PID_P ELABEL, &PID_PARAM(Kp, eindex), 1, 9990); \ |
|
|
|
MENU_ITEM_EDIT_CALLBACK(float52sign, MSG_PID_I ELABEL, &raw_Ki, 0.01, 9990, copy_and_scalePID_i_E ## eindex); \ |
|
|
|
MENU_ITEM_EDIT_CALLBACK(float52sign, MSG_PID_D ELABEL, &raw_Kd, 1, 9990, copy_and_scalePID_d_E ## eindex) |
|
|
|
|
|
|
|
#if ENABLED(PID_EXTRUSION_SCALING) |
|
|
|
#define _PID_MENU_ITEMS(ELABEL, eindex) \ |
|
|
@ -3739,7 +3781,7 @@ void lcd_quick_feedback(const bool clear_buttons) { |
|
|
|
#if ENABLED(DELTA) |
|
|
|
MENU_ITEM_EDIT(float3, MSG_VC_JERK, &planner.max_jerk[C_AXIS], 1, 990); |
|
|
|
#else |
|
|
|
MENU_ITEM_EDIT(float52, MSG_VC_JERK, &planner.max_jerk[C_AXIS], 0.1, 990); |
|
|
|
MENU_ITEM_EDIT(float52sign, MSG_VC_JERK, &planner.max_jerk[C_AXIS], 0.1, 990); |
|
|
|
#endif |
|
|
|
MENU_ITEM_EDIT(float3, MSG_VE_JERK, &planner.max_jerk[E_AXIS], 1, 990); |
|
|
|
|
|
|
@ -3790,7 +3832,7 @@ void lcd_quick_feedback(const bool clear_buttons) { |
|
|
|
#if ENABLED(BABYSTEP_ZPROBE_OFFSET) |
|
|
|
MENU_ITEM(submenu, MSG_ZPROBE_ZOFFSET, lcd_babystep_zoffset); |
|
|
|
#elif HAS_BED_PROBE |
|
|
|
MENU_ITEM_EDIT(float32, MSG_ZPROBE_ZOFFSET, &zprobe_zoffset, Z_PROBE_OFFSET_RANGE_MIN, Z_PROBE_OFFSET_RANGE_MAX); |
|
|
|
MENU_ITEM_EDIT(float52, MSG_ZPROBE_ZOFFSET, &zprobe_zoffset, Z_PROBE_OFFSET_RANGE_MIN, Z_PROBE_OFFSET_RANGE_MAX); |
|
|
|
#endif |
|
|
|
|
|
|
|
#if DISABLED(SLIM_LCD_MENUS) |
|
|
@ -3828,7 +3870,7 @@ void lcd_quick_feedback(const bool clear_buttons) { |
|
|
|
MENU_BACK(MSG_CONTROL); |
|
|
|
|
|
|
|
#if ENABLED(LIN_ADVANCE) |
|
|
|
MENU_ITEM_EDIT(float32, MSG_ADVANCE_K, &planner.extruder_advance_K, 0, 999); |
|
|
|
MENU_ITEM_EDIT(float52, MSG_ADVANCE_K, &planner.extruder_advance_K, 0, 999); |
|
|
|
#endif |
|
|
|
|
|
|
|
#if DISABLED(NO_VOLUMETRICS) |
|
|
@ -3913,15 +3955,15 @@ void lcd_quick_feedback(const bool clear_buttons) { |
|
|
|
START_MENU(); |
|
|
|
MENU_BACK(MSG_CONTROL); |
|
|
|
MENU_ITEM_EDIT_CALLBACK(bool, MSG_AUTORETRACT, &fwretract.autoretract_enabled, fwretract.refresh_autoretract); |
|
|
|
MENU_ITEM_EDIT(float52, MSG_CONTROL_RETRACT, &fwretract.retract_length, 0, 100); |
|
|
|
MENU_ITEM_EDIT(float52sign, MSG_CONTROL_RETRACT, &fwretract.retract_length, 0, 100); |
|
|
|
#if EXTRUDERS > 1 |
|
|
|
MENU_ITEM_EDIT(float52, MSG_CONTROL_RETRACT_SWAP, &fwretract.swap_retract_length, 0, 100); |
|
|
|
MENU_ITEM_EDIT(float52sign, MSG_CONTROL_RETRACT_SWAP, &fwretract.swap_retract_length, 0, 100); |
|
|
|
#endif |
|
|
|
MENU_ITEM_EDIT(float3, MSG_CONTROL_RETRACTF, &fwretract.retract_feedrate_mm_s, 1, 999); |
|
|
|
MENU_ITEM_EDIT(float52, MSG_CONTROL_RETRACT_ZLIFT, &fwretract.retract_zlift, 0, 999); |
|
|
|
MENU_ITEM_EDIT(float52, MSG_CONTROL_RETRACT_RECOVER, &fwretract.retract_recover_length, -100, 100); |
|
|
|
MENU_ITEM_EDIT(float52sign, MSG_CONTROL_RETRACT_ZLIFT, &fwretract.retract_zlift, 0, 999); |
|
|
|
MENU_ITEM_EDIT(float52sign, MSG_CONTROL_RETRACT_RECOVER, &fwretract.retract_recover_length, -100, 100); |
|
|
|
#if EXTRUDERS > 1 |
|
|
|
MENU_ITEM_EDIT(float52, MSG_CONTROL_RETRACT_RECOVER_SWAP, &fwretract.swap_retract_recover_length, -100, 100); |
|
|
|
MENU_ITEM_EDIT(float52sign, MSG_CONTROL_RETRACT_RECOVER_SWAP, &fwretract.swap_retract_recover_length, -100, 100); |
|
|
|
#endif |
|
|
|
MENU_ITEM_EDIT(float3, MSG_CONTROL_RETRACT_RECOVERF, &fwretract.retract_recover_feedrate_mm_s, 1, 999); |
|
|
|
#if EXTRUDERS > 1 |
|
|
@ -4829,11 +4871,11 @@ void lcd_quick_feedback(const bool clear_buttons) { |
|
|
|
DEFINE_MENU_EDIT_TYPE(int16_t, int3, itostr3, 1); |
|
|
|
DEFINE_MENU_EDIT_TYPE(uint8_t, int8, i8tostr3, 1); |
|
|
|
DEFINE_MENU_EDIT_TYPE(float, float3, ftostr3, 1.0); |
|
|
|
DEFINE_MENU_EDIT_TYPE(float, float32, ftostr32, 100.0); |
|
|
|
DEFINE_MENU_EDIT_TYPE(float, float52, ftostr52, 100.0); |
|
|
|
DEFINE_MENU_EDIT_TYPE(float, float43, ftostr43sign, 1000.0); |
|
|
|
DEFINE_MENU_EDIT_TYPE(float, float5, ftostr5rj, 0.01); |
|
|
|
DEFINE_MENU_EDIT_TYPE(float, float51, ftostr51sign, 10.0); |
|
|
|
DEFINE_MENU_EDIT_TYPE(float, float52, ftostr52sign, 100.0); |
|
|
|
DEFINE_MENU_EDIT_TYPE(float, float52sign, ftostr52sign, 100.0); |
|
|
|
DEFINE_MENU_EDIT_TYPE(float, float62, ftostr62rj, 100.0); |
|
|
|
DEFINE_MENU_EDIT_TYPE(uint32_t, long5, ftostr5rj, 0.01); |
|
|
|
|
|
|
|