add G28.1 to do a manual homing (similar to what G92 used to do)
authorJim Morris <morris@wolfman.com>
Mon, 14 Dec 2015 06:13:59 +0000 (22:13 -0800)
committerJim Morris <morris@wolfman.com>
Mon, 14 Dec 2015 06:13:59 +0000 (22:13 -0800)
src/modules/tools/endstops/Endstops.cpp

index 75a1fc8..d218927 100644 (file)
@@ -615,6 +615,13 @@ void Endstops::on_gcode_received(void *argument)
     Gcode *gcode = static_cast<Gcode *>(argument);
     if ( gcode->has_g) {
         if ( gcode->g == 28 ) {
+            if(gcode->subcode == 1) { // G28.1
+                // do a manual homing based on current position, no endstops required
+                if(gcode->has_letter('X')) THEKERNEL->robot->reset_axis_position(gcode->get_value('X'), X_AXIS);
+                if(gcode->has_letter('Y')) THEKERNEL->robot->reset_axis_position(gcode->get_value('Y'), Y_AXIS);
+                if(gcode->has_letter('Z')) THEKERNEL->robot->reset_axis_position(gcode->get_value('Z'), Z_AXIS);
+                return;
+            }
 
             // G28 is received, we have homing to do