This fix is not DELTA compatible

This commit is contained in:
Scott Lahteine 2016-06-02 17:11:54 -07:00
parent 064efb20e0
commit 664b299a51
4 changed files with 29 additions and 18 deletions

View file

@ -225,9 +225,12 @@ void ok_to_send();
void reset_bed_level();
void prepare_move();
void set_current_position_from_planner();
void kill(const char*);
#if DISABLED(DELTA) && DISABLED(SCARA)
void set_current_position_from_planner();
#endif
#if ENABLED(FILAMENT_RUNOUT_SENSOR)
void handle_filament_runout();
#endif

View file

@ -5894,20 +5894,22 @@ inline void gcode_M400() { stepper.synchronize(); }
#endif // FILAMENT_WIDTH_SENSOR
void set_current_position_from_planner() {
stepper.synchronize();
#if ENABLED(AUTO_BED_LEVELING_FEATURE)
vector_3 pos = planner.adjusted_position(); // values directly from steppers...
current_position[X_AXIS] = pos.x;
current_position[Y_AXIS] = pos.y;
current_position[Z_AXIS] = pos.z;
#else
current_position[X_AXIS] = stepper.get_axis_position_mm(X_AXIS);
current_position[Y_AXIS] = stepper.get_axis_position_mm(Y_AXIS);
current_position[Z_AXIS] = stepper.get_axis_position_mm(Z_AXIS);
#endif
sync_plan_position(); // ...re-apply to planner position
}
#if DISABLED(DELTA) && DISABLED(SCARA)
void set_current_position_from_planner() {
stepper.synchronize();
#if ENABLED(AUTO_BED_LEVELING_FEATURE)
vector_3 pos = planner.adjusted_position(); // values directly from steppers...
current_position[X_AXIS] = pos.x;
current_position[Y_AXIS] = pos.y;
current_position[Z_AXIS] = pos.z;
#else
current_position[X_AXIS] = stepper.get_axis_position_mm(X_AXIS);
current_position[Y_AXIS] = stepper.get_axis_position_mm(Y_AXIS);
current_position[Z_AXIS] = stepper.get_axis_position_mm(Z_AXIS);
#endif
sync_plan_position(); // ...re-apply to planner position
}
#endif
/**
* M410: Quickstop - Abort all planned moves
@ -5917,7 +5919,9 @@ void set_current_position_from_planner() {
*/
inline void gcode_M410() {
stepper.quick_stop();
set_current_position_from_planner();
#if DISABLED(DELTA) && DISABLED(SCARA)
set_current_position_from_planner();
#endif
}

View file

@ -187,7 +187,9 @@ void Endstops::report_state() {
card.sdprinting = false;
card.closefile();
stepper.quick_stop();
set_current_position_from_planner();
#if DISABLED(DELTA) && DISABLED(SCARA)
set_current_position_from_planner();
#endif
thermalManager.disable_all_heaters(); // switch off all heaters.
}
#endif

View file

@ -482,7 +482,9 @@ inline void line_to_current(AxisEnum axis) {
static void lcd_sdcard_stop() {
stepper.quick_stop();
set_current_position_from_planner();
#if DISABLED(DELTA) && DISABLED(SCARA)
set_current_position_from_planner();
#endif
clear_command_queue();
card.sdprinting = false;
card.closefile();