|
|
@ -2746,6 +2746,13 @@ void kill_screen(const char* lcd_msg) { |
|
|
|
*/ |
|
|
|
void lcd_control_temperature_preheat_material2_settings_menu() { _lcd_control_temperature_preheat_settings_menu(1); } |
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
* |
|
|
|
* "Control" > "Motion" submenu |
|
|
|
* |
|
|
|
*/ |
|
|
|
|
|
|
|
void _reset_acceleration_rates() { planner.reset_acceleration_rates(); } |
|
|
|
#if ENABLED(DISTINCT_E_FACTORS) |
|
|
|
void _reset_e_acceleration_rate(const uint8_t e) { if (e == active_extruder) _reset_acceleration_rates(); } |
|
|
@ -2783,40 +2790,16 @@ void kill_screen(const char* lcd_msg) { |
|
|
|
#endif // E_STEPPERS > 2
|
|
|
|
#endif |
|
|
|
|
|
|
|
/**
|
|
|
|
* |
|
|
|
* "Control" > "Motion" submenu |
|
|
|
* |
|
|
|
*/ |
|
|
|
#if HAS_BED_PROBE && DISABLED(BABYSTEP_ZPROBE_OFFSET) |
|
|
|
static void lcd_refresh_zprobe_zoffset() { refresh_zprobe_zoffset(); } |
|
|
|
#endif |
|
|
|
|
|
|
|
void lcd_control_motion_menu() { |
|
|
|
// M203 / M205 Feedrates
|
|
|
|
void lcd_control_motion_feedrate_menu() { |
|
|
|
START_MENU(); |
|
|
|
MENU_BACK(MSG_CONTROL); |
|
|
|
#if ENABLED(BABYSTEP_ZPROBE_OFFSET) |
|
|
|
MENU_ITEM(submenu, MSG_ZPROBE_ZOFFSET, lcd_babystep_zoffset); |
|
|
|
#elif HAS_BED_PROBE |
|
|
|
MENU_ITEM_EDIT_CALLBACK(float32, MSG_ZPROBE_ZOFFSET, &zprobe_zoffset, Z_PROBE_OFFSET_RANGE_MIN, Z_PROBE_OFFSET_RANGE_MAX, lcd_refresh_zprobe_zoffset); |
|
|
|
#endif |
|
|
|
// 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 |
|
|
|
MENU_ITEM_EDIT(float5, MSG_ACC, &planner.acceleration, 10, 99000); |
|
|
|
MENU_ITEM_EDIT(float3, MSG_VX_JERK, &planner.max_jerk[X_AXIS], 1, 990); |
|
|
|
MENU_ITEM_EDIT(float3, MSG_VY_JERK, &planner.max_jerk[Y_AXIS], 1, 990); |
|
|
|
#if ENABLED(DELTA) |
|
|
|
MENU_ITEM_EDIT(float3, MSG_VZ_JERK, &planner.max_jerk[Z_AXIS], 1, 990); |
|
|
|
#else |
|
|
|
MENU_ITEM_EDIT(float52, MSG_VZ_JERK, &planner.max_jerk[Z_AXIS], 0.1, 990); |
|
|
|
#endif |
|
|
|
MENU_ITEM_EDIT(float3, MSG_VE_JERK, &planner.max_jerk[E_AXIS], 1, 990); |
|
|
|
MENU_BACK(MSG_MOTION); |
|
|
|
|
|
|
|
//
|
|
|
|
// M203 Settings
|
|
|
|
//
|
|
|
|
// M203 Max Feedrate
|
|
|
|
MENU_ITEM_EDIT(float3, MSG_VMAX MSG_X, &planner.max_feedrate_mm_s[X_AXIS], 1, 999); |
|
|
|
MENU_ITEM_EDIT(float3, MSG_VMAX MSG_Y, &planner.max_feedrate_mm_s[Y_AXIS], 1, 999); |
|
|
|
MENU_ITEM_EDIT(float3, MSG_VMAX MSG_Z, &planner.max_feedrate_mm_s[Z_AXIS], 1, 999); |
|
|
@ -2838,12 +2821,30 @@ void kill_screen(const char* lcd_msg) { |
|
|
|
MENU_ITEM_EDIT(float3, MSG_VMAX MSG_E, &planner.max_feedrate_mm_s[E_AXIS], 1, 999); |
|
|
|
#endif |
|
|
|
|
|
|
|
// M205 S Min Feedrate
|
|
|
|
MENU_ITEM_EDIT(float3, MSG_VMIN, &planner.min_feedrate_mm_s, 0, 999); |
|
|
|
|
|
|
|
// M205 T Min Travel Feedrate
|
|
|
|
MENU_ITEM_EDIT(float3, MSG_VTRAV_MIN, &planner.min_travel_feedrate_mm_s, 0, 999); |
|
|
|
|
|
|
|
//
|
|
|
|
// M201 Settings
|
|
|
|
//
|
|
|
|
END_MENU(); |
|
|
|
} |
|
|
|
|
|
|
|
// M201 / M204 Accelerations
|
|
|
|
void lcd_control_motion_acceleration_menu() { |
|
|
|
START_MENU(); |
|
|
|
MENU_BACK(MSG_MOTION); |
|
|
|
|
|
|
|
// M204 P Acceleration
|
|
|
|
MENU_ITEM_EDIT(float5, MSG_ACC, &planner.acceleration, 10, 99000); |
|
|
|
|
|
|
|
// M204 R Retract Acceleration
|
|
|
|
MENU_ITEM_EDIT(float5, MSG_A_RETRACT, &planner.retract_acceleration, 100, 99000); |
|
|
|
|
|
|
|
// M204 T Travel Acceleration
|
|
|
|
MENU_ITEM_EDIT(float5, MSG_A_TRAVEL, &planner.travel_acceleration, 100, 99000); |
|
|
|
|
|
|
|
// M201 settings
|
|
|
|
MENU_ITEM_EDIT_CALLBACK(long5, MSG_AMAX MSG_X, &planner.max_acceleration_mm_per_s2[X_AXIS], 100, 99000, _reset_acceleration_rates); |
|
|
|
MENU_ITEM_EDIT_CALLBACK(long5, MSG_AMAX MSG_Y, &planner.max_acceleration_mm_per_s2[Y_AXIS], 100, 99000, _reset_acceleration_rates); |
|
|
|
MENU_ITEM_EDIT_CALLBACK(long5, MSG_AMAX MSG_Z, &planner.max_acceleration_mm_per_s2[Z_AXIS], 10, 99000, _reset_acceleration_rates); |
|
|
@ -2865,12 +2866,31 @@ void kill_screen(const char* lcd_msg) { |
|
|
|
MENU_ITEM_EDIT_CALLBACK(long5, MSG_AMAX MSG_E, &planner.max_acceleration_mm_per_s2[E_AXIS], 100, 99000, _reset_acceleration_rates); |
|
|
|
#endif |
|
|
|
|
|
|
|
MENU_ITEM_EDIT(float5, MSG_A_RETRACT, &planner.retract_acceleration, 100, 99000); |
|
|
|
MENU_ITEM_EDIT(float5, MSG_A_TRAVEL, &planner.travel_acceleration, 100, 99000); |
|
|
|
END_MENU(); |
|
|
|
} |
|
|
|
|
|
|
|
// M205 Jerk
|
|
|
|
void lcd_control_motion_jerk_menu() { |
|
|
|
START_MENU(); |
|
|
|
MENU_BACK(MSG_MOTION); |
|
|
|
|
|
|
|
MENU_ITEM_EDIT(float3, MSG_VX_JERK, &planner.max_jerk[X_AXIS], 1, 990); |
|
|
|
MENU_ITEM_EDIT(float3, MSG_VY_JERK, &planner.max_jerk[Y_AXIS], 1, 990); |
|
|
|
#if ENABLED(DELTA) |
|
|
|
MENU_ITEM_EDIT(float3, MSG_VZ_JERK, &planner.max_jerk[Z_AXIS], 1, 990); |
|
|
|
#else |
|
|
|
MENU_ITEM_EDIT(float52, MSG_VZ_JERK, &planner.max_jerk[Z_AXIS], 0.1, 990); |
|
|
|
#endif |
|
|
|
MENU_ITEM_EDIT(float3, MSG_VE_JERK, &planner.max_jerk[E_AXIS], 1, 990); |
|
|
|
|
|
|
|
END_MENU(); |
|
|
|
} |
|
|
|
|
|
|
|
// M92 Steps-per-mm
|
|
|
|
void lcd_control_motion_steps_per_mm_menu() { |
|
|
|
START_MENU(); |
|
|
|
MENU_BACK(MSG_MOTION); |
|
|
|
|
|
|
|
//
|
|
|
|
// M92 Settings
|
|
|
|
//
|
|
|
|
MENU_ITEM_EDIT_CALLBACK(float62, MSG_XSTEPS, &planner.axis_steps_per_mm[X_AXIS], 5, 9999, _planner_refresh_positioning); |
|
|
|
MENU_ITEM_EDIT_CALLBACK(float62, MSG_YSTEPS, &planner.axis_steps_per_mm[Y_AXIS], 5, 9999, _planner_refresh_positioning); |
|
|
|
MENU_ITEM_EDIT_CALLBACK(float62, MSG_ZSTEPS, &planner.axis_steps_per_mm[Z_AXIS], 5, 9999, _planner_refresh_positioning); |
|
|
@ -2892,9 +2912,40 @@ void kill_screen(const char* lcd_msg) { |
|
|
|
MENU_ITEM_EDIT_CALLBACK(float62, MSG_ESTEPS, &planner.axis_steps_per_mm[E_AXIS], 5, 9999, _planner_refresh_positioning); |
|
|
|
#endif |
|
|
|
|
|
|
|
END_MENU(); |
|
|
|
} |
|
|
|
|
|
|
|
void lcd_control_motion_menu() { |
|
|
|
START_MENU(); |
|
|
|
MENU_BACK(MSG_CONTROL); |
|
|
|
|
|
|
|
#if ENABLED(BABYSTEP_ZPROBE_OFFSET) |
|
|
|
MENU_ITEM(submenu, MSG_ZPROBE_ZOFFSET, lcd_babystep_zoffset); |
|
|
|
#elif HAS_BED_PROBE |
|
|
|
MENU_ITEM_EDIT_CALLBACK(float32, MSG_ZPROBE_ZOFFSET, &zprobe_zoffset, Z_PROBE_OFFSET_RANGE_MIN, Z_PROBE_OFFSET_RANGE_MAX, lcd_refresh_zprobe_zoffset); |
|
|
|
#endif |
|
|
|
|
|
|
|
// 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 |
|
|
|
|
|
|
|
// M203 / M205 Feedrate items
|
|
|
|
MENU_ITEM(submenu, MSG_FEEDRATE, lcd_control_motion_feedrate_menu); |
|
|
|
|
|
|
|
// M201 Acceleration items
|
|
|
|
MENU_ITEM(submenu, MSG_ACCELERATION, lcd_control_motion_acceleration_menu); |
|
|
|
|
|
|
|
// M205 Max Jerk
|
|
|
|
MENU_ITEM(submenu, MSG_JERK, lcd_control_motion_jerk_menu); |
|
|
|
|
|
|
|
// M92 Steps Per mm
|
|
|
|
MENU_ITEM(submenu, MSG_STEPS_PER_MM, lcd_control_motion_steps_per_mm_menu); |
|
|
|
|
|
|
|
#if ENABLED(ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED) |
|
|
|
MENU_ITEM_EDIT(bool, MSG_ENDSTOP_ABORT, &stepper.abort_on_endstop_hit); |
|
|
|
#endif |
|
|
|
|
|
|
|
END_MENU(); |
|
|
|
} |
|
|
|
|
|
|
|