|
|
@ -1332,7 +1332,7 @@ static void setup_for_endstop_move() {
|
|
|
|
st_synchronize();
|
|
|
|
st_synchronize();
|
|
|
|
|
|
|
|
|
|
|
|
// Tell the planner where we ended up - Get this from the stepper handler
|
|
|
|
// Tell the planner where we ended up - Get this from the stepper handler
|
|
|
|
zPosition = st_get_position_mm(Z_AXIS);
|
|
|
|
zPosition = st_get_axis_position_mm(Z_AXIS);
|
|
|
|
plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], zPosition, current_position[E_AXIS]);
|
|
|
|
plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], zPosition, current_position[E_AXIS]);
|
|
|
|
|
|
|
|
|
|
|
|
// move up the retract distance
|
|
|
|
// move up the retract distance
|
|
|
@ -1350,7 +1350,7 @@ static void setup_for_endstop_move() {
|
|
|
|
endstops_hit_on_purpose(); // clear endstop hit flags
|
|
|
|
endstops_hit_on_purpose(); // clear endstop hit flags
|
|
|
|
|
|
|
|
|
|
|
|
// Get the current stepper position after bumping an endstop
|
|
|
|
// Get the current stepper position after bumping an endstop
|
|
|
|
current_position[Z_AXIS] = st_get_position_mm(Z_AXIS);
|
|
|
|
current_position[Z_AXIS] = st_get_axis_position_mm(Z_AXIS);
|
|
|
|
sync_plan_position();
|
|
|
|
sync_plan_position();
|
|
|
|
|
|
|
|
|
|
|
|
#if ENABLED(DEBUG_LEVELING_FEATURE)
|
|
|
|
#if ENABLED(DEBUG_LEVELING_FEATURE)
|
|
|
@ -3157,7 +3157,7 @@ inline void gcode_G28() {
|
|
|
|
float x_tmp = current_position[X_AXIS] + X_PROBE_OFFSET_FROM_EXTRUDER,
|
|
|
|
float x_tmp = current_position[X_AXIS] + X_PROBE_OFFSET_FROM_EXTRUDER,
|
|
|
|
y_tmp = current_position[Y_AXIS] + Y_PROBE_OFFSET_FROM_EXTRUDER,
|
|
|
|
y_tmp = current_position[Y_AXIS] + Y_PROBE_OFFSET_FROM_EXTRUDER,
|
|
|
|
z_tmp = current_position[Z_AXIS],
|
|
|
|
z_tmp = current_position[Z_AXIS],
|
|
|
|
real_z = st_get_position_mm(Z_AXIS); //get the real Z (since plan_get_position is now correcting the plane)
|
|
|
|
real_z = st_get_axis_position_mm(Z_AXIS); //get the real Z (since plan_get_position is now correcting the plane)
|
|
|
|
|
|
|
|
|
|
|
|
#if ENABLED(DEBUG_LEVELING_FEATURE)
|
|
|
|
#if ENABLED(DEBUG_LEVELING_FEATURE)
|
|
|
|
if (marlin_debug_flags & DEBUG_LEVELING) {
|
|
|
|
if (marlin_debug_flags & DEBUG_LEVELING) {
|
|
|
@ -3604,10 +3604,10 @@ inline void gcode_M42() {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
double X_current = st_get_position_mm(X_AXIS),
|
|
|
|
double X_current = st_get_axis_position_mm(X_AXIS),
|
|
|
|
Y_current = st_get_position_mm(Y_AXIS),
|
|
|
|
Y_current = st_get_axis_position_mm(Y_AXIS),
|
|
|
|
Z_current = st_get_position_mm(Z_AXIS),
|
|
|
|
Z_current = st_get_axis_position_mm(Z_AXIS),
|
|
|
|
E_current = st_get_position_mm(E_AXIS),
|
|
|
|
E_current = st_get_axis_position_mm(E_AXIS),
|
|
|
|
X_probe_location = X_current, Y_probe_location = Y_current,
|
|
|
|
X_probe_location = X_current, Y_probe_location = Y_current,
|
|
|
|
Z_start_location = Z_current + Z_RAISE_BEFORE_PROBING;
|
|
|
|
Z_start_location = Z_current + Z_RAISE_BEFORE_PROBING;
|
|
|
|
|
|
|
|
|
|
|
@ -3661,10 +3661,10 @@ inline void gcode_M42() {
|
|
|
|
active_extruder);
|
|
|
|
active_extruder);
|
|
|
|
st_synchronize();
|
|
|
|
st_synchronize();
|
|
|
|
|
|
|
|
|
|
|
|
current_position[X_AXIS] = X_current = st_get_position_mm(X_AXIS);
|
|
|
|
current_position[X_AXIS] = X_current = st_get_axis_position_mm(X_AXIS);
|
|
|
|
current_position[Y_AXIS] = Y_current = st_get_position_mm(Y_AXIS);
|
|
|
|
current_position[Y_AXIS] = Y_current = st_get_axis_position_mm(Y_AXIS);
|
|
|
|
current_position[Z_AXIS] = Z_current = st_get_position_mm(Z_AXIS);
|
|
|
|
current_position[Z_AXIS] = Z_current = st_get_axis_position_mm(Z_AXIS);
|
|
|
|
current_position[E_AXIS] = E_current = st_get_position_mm(E_AXIS);
|
|
|
|
current_position[E_AXIS] = E_current = st_get_axis_position_mm(E_AXIS);
|
|
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// OK, do the initial probe to get us close to the bed.
|
|
|
|
// OK, do the initial probe to get us close to the bed.
|
|
|
@ -3676,15 +3676,15 @@ inline void gcode_M42() {
|
|
|
|
setup_for_endstop_move();
|
|
|
|
setup_for_endstop_move();
|
|
|
|
run_z_probe();
|
|
|
|
run_z_probe();
|
|
|
|
|
|
|
|
|
|
|
|
current_position[Z_AXIS] = Z_current = st_get_position_mm(Z_AXIS);
|
|
|
|
Z_current = current_position[Z_AXIS] = st_get_axis_position_mm(Z_AXIS);
|
|
|
|
Z_start_location = st_get_position_mm(Z_AXIS) + Z_RAISE_BEFORE_PROBING;
|
|
|
|
Z_start_location = Z_current + Z_RAISE_BEFORE_PROBING;
|
|
|
|
|
|
|
|
|
|
|
|
plan_buffer_line(X_probe_location, Y_probe_location, Z_start_location,
|
|
|
|
plan_buffer_line(X_probe_location, Y_probe_location, Z_start_location,
|
|
|
|
E_current,
|
|
|
|
E_current,
|
|
|
|
homing_feedrate[X_AXIS] / 60,
|
|
|
|
homing_feedrate[X_AXIS] / 60,
|
|
|
|
active_extruder);
|
|
|
|
active_extruder);
|
|
|
|
st_synchronize();
|
|
|
|
st_synchronize();
|
|
|
|
current_position[Z_AXIS] = Z_current = st_get_position_mm(Z_AXIS);
|
|
|
|
Z_current = current_position[Z_AXIS] = st_get_axis_position_mm(Z_AXIS);
|
|
|
|
|
|
|
|
|
|
|
|
if (deploy_probe_for_each_reading) stow_z_probe();
|
|
|
|
if (deploy_probe_for_each_reading) stow_z_probe();
|
|
|
|
|
|
|
|
|
|
|
@ -4302,12 +4302,33 @@ inline void gcode_M114() {
|
|
|
|
SERIAL_PROTOCOLPGM(" E:");
|
|
|
|
SERIAL_PROTOCOLPGM(" E:");
|
|
|
|
SERIAL_PROTOCOL(current_position[E_AXIS]);
|
|
|
|
SERIAL_PROTOCOL(current_position[E_AXIS]);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CRITICAL_SECTION_START;
|
|
|
|
|
|
|
|
extern volatile long count_position[NUM_AXIS];
|
|
|
|
|
|
|
|
long xpos = count_position[X_AXIS],
|
|
|
|
|
|
|
|
ypos = count_position[Y_AXIS],
|
|
|
|
|
|
|
|
zpos = count_position[Z_AXIS];
|
|
|
|
|
|
|
|
CRITICAL_SECTION_END;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#if ENABLED(COREXY) || ENABLED(COREXZ)
|
|
|
|
|
|
|
|
SERIAL_PROTOCOLPGM(MSG_COUNT_A);
|
|
|
|
|
|
|
|
#else
|
|
|
|
SERIAL_PROTOCOLPGM(MSG_COUNT_X);
|
|
|
|
SERIAL_PROTOCOLPGM(MSG_COUNT_X);
|
|
|
|
SERIAL_PROTOCOL(st_get_position_mm(X_AXIS));
|
|
|
|
#endif
|
|
|
|
|
|
|
|
SERIAL_PROTOCOL(xpos);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#if ENABLED(COREXY)
|
|
|
|
|
|
|
|
SERIAL_PROTOCOLPGM(" B:");
|
|
|
|
|
|
|
|
#else
|
|
|
|
SERIAL_PROTOCOLPGM(" Y:");
|
|
|
|
SERIAL_PROTOCOLPGM(" Y:");
|
|
|
|
SERIAL_PROTOCOL(st_get_position_mm(Y_AXIS));
|
|
|
|
#endif
|
|
|
|
|
|
|
|
SERIAL_PROTOCOL(ypos);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#if ENABLED(COREXZ)
|
|
|
|
|
|
|
|
SERIAL_PROTOCOLPGM(" C:");
|
|
|
|
|
|
|
|
#else
|
|
|
|
SERIAL_PROTOCOLPGM(" Z:");
|
|
|
|
SERIAL_PROTOCOLPGM(" Z:");
|
|
|
|
SERIAL_PROTOCOL(st_get_position_mm(Z_AXIS));
|
|
|
|
#endif
|
|
|
|
|
|
|
|
SERIAL_PROTOCOL(zpos);
|
|
|
|
|
|
|
|
|
|
|
|
SERIAL_EOL;
|
|
|
|
SERIAL_EOL;
|
|
|
|
|
|
|
|
|
|
|
|