All G92 A0 to also reset E0 (ditto for B and E1)
authorJim Morris <morris@wolfman.com>
Mon, 28 May 2018 19:12:53 +0000 (20:12 +0100)
committerJim Morris <morris@wolfman.com>
Mon, 28 May 2018 19:12:53 +0000 (20:12 +0100)
src/modules/robot/Robot.cpp

index d218c1f..6d44786 100644 (file)
@@ -596,8 +596,8 @@ void Robot::on_gcode_received(void *argument)
                     for (int i = A_AXIS; i < n_motors; i++) {
                         // ABC just need to set machine_position and compensated_machine_position if specified
                         char axis= 'A'+i-3;
-                        if(!actuators[i]->is_extruder() && gcode->has_letter(axis)) {
-                            float ap= gcode->get_value(axis);
+                        float ap= gcode->get_value(axis);
+                        if((!actuators[i]->is_extruder() || ap == 0) && gcode->has_letter(axis)) {
                             machine_position[i]= compensated_machine_position[i]= ap;
                             actuators[i]->change_last_milestone(ap); // this updates the last_milestone in the actuator
                         }