|
|
@ -1638,6 +1638,9 @@ static void setup_for_endstop_move() { |
|
|
|
} |
|
|
|
|
|
|
|
static void stow_z_probe(bool doRaise = true) { |
|
|
|
#if !(HAS_SERVO_ENDSTOPS && (Z_RAISE_AFTER_PROBING > 0)) |
|
|
|
UNUSED(doRaise); |
|
|
|
#endif |
|
|
|
#if ENABLED(DEBUG_LEVELING_FEATURE) |
|
|
|
if (DEBUGGING(LEVELING)) { |
|
|
|
print_xyz("stow_z_probe > current_position", current_position); |
|
|
@ -1912,11 +1915,13 @@ static void setup_for_endstop_move() { |
|
|
|
|
|
|
|
#endif // AUTO_BED_LEVELING_FEATURE
|
|
|
|
|
|
|
|
static void axis_unhomed_error() { |
|
|
|
LCD_MESSAGEPGM(MSG_YX_UNHOMED); |
|
|
|
SERIAL_ECHO_START; |
|
|
|
SERIAL_ECHOLNPGM(MSG_YX_UNHOMED); |
|
|
|
} |
|
|
|
#if ENABLED(Z_PROBE_SLED) || ENABLED(Z_SAFE_HOMING) || ENABLED(AUTO_BED_LEVELING_FEATURE) |
|
|
|
static void axis_unhomed_error() { |
|
|
|
LCD_MESSAGEPGM(MSG_YX_UNHOMED); |
|
|
|
SERIAL_ECHO_START; |
|
|
|
SERIAL_ECHOLNPGM(MSG_YX_UNHOMED); |
|
|
|
} |
|
|
|
#endif |
|
|
|
|
|
|
|
#if ENABLED(Z_PROBE_SLED) |
|
|
|
|
|
|
@ -2300,6 +2305,8 @@ void unknown_command_error() { |
|
|
|
SERIAL_ECHO_START; |
|
|
|
SERIAL_ECHOLNPGM(MSG_BUSY_PAUSED_FOR_INPUT); |
|
|
|
break; |
|
|
|
default: |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
next_busy_signal_ms = ms + 10000UL; // "busy: ..." message every 10s
|
|
|
@ -3820,7 +3827,7 @@ inline void gcode_M42() { |
|
|
|
} |
|
|
|
|
|
|
|
double sum = 0.0, mean = 0.0, sigma = 0.0, sample_set[50]; |
|
|
|
uint8_t verbose_level = 1, n_samples = 10, n_legs = 0, schizoid_flag = 0; |
|
|
|
int8_t verbose_level = 1, n_samples = 10, n_legs = 0, schizoid_flag = 0; |
|
|
|
|
|
|
|
if (code_seen('V')) { |
|
|
|
verbose_level = code_value_short(); |
|
|
@ -5476,7 +5483,7 @@ inline void gcode_M400() { st_synchronize(); } |
|
|
|
if (delay_index2 == -1) { //initialize the ring buffer if it has not been done since startup
|
|
|
|
int temp_ratio = widthFil_to_size_ratio(); |
|
|
|
|
|
|
|
for (delay_index1 = 0; delay_index1 < COUNT(measurement_delay); ++delay_index1) |
|
|
|
for (delay_index1 = 0; delay_index1 < (int)COUNT(measurement_delay); ++delay_index1) |
|
|
|
measurement_delay[delay_index1] = temp_ratio - 100; //subtract 100 to scale within a signed byte
|
|
|
|
|
|
|
|
delay_index1 = delay_index2 = 0; |
|
|
@ -5525,7 +5532,7 @@ inline void gcode_M410() { quickStop(); } |
|
|
|
* M421: Set a single Mesh Bed Leveling Z coordinate |
|
|
|
*/ |
|
|
|
inline void gcode_M421() { |
|
|
|
float x, y, z; |
|
|
|
float x = 0, y = 0, z = 0; |
|
|
|
bool err = false, hasX, hasY, hasZ; |
|
|
|
if ((hasX = code_seen('X'))) x = code_value(); |
|
|
|
if ((hasY = code_seen('Y'))) y = code_value(); |
|
|
@ -5688,7 +5695,10 @@ inline void gcode_M503() { |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
float lastpos[NUM_AXIS], fr60 = feedrate / 60; |
|
|
|
float lastpos[NUM_AXIS]; |
|
|
|
#if ENABLED(DELTA) |
|
|
|
float fr60 = feedrate / 60; |
|
|
|
#endif |
|
|
|
|
|
|
|
for (int i = 0; i < NUM_AXIS; i++) |
|
|
|
lastpos[i] = destination[i] = current_position[i]; |
|
|
@ -5745,7 +5755,9 @@ inline void gcode_M503() { |
|
|
|
disable_e3(); |
|
|
|
delay(100); |
|
|
|
LCD_ALERTMESSAGEPGM(MSG_FILAMENTCHANGE); |
|
|
|
millis_t next_tick = 0; |
|
|
|
#if DISABLED(AUTO_FILAMENT_CHANGE) |
|
|
|
millis_t next_tick = 0; |
|
|
|
#endif |
|
|
|
KEEPALIVE_STATE(PAUSED_FOR_USER); |
|
|
|
while (!lcd_clicked()) { |
|
|
|
#if DISABLED(AUTO_FILAMENT_CHANGE) |
|
|
|