public void Move(float x, float y, float z, float i, float j, float k, float r) { switch (_state) { case MachineState.G0_RapidMove: case MachineState.G1_LinearMove: LinearMove(x, y, z); break; case MachineState.G2_ArcMove: ArcMove2(x, y, z, i, j, k, r, true); break; case MachineState.G3_ArcMoveCCW: ArcMove2(x, y, z, i, j, k, r, false); break; case MachineState.G92_SetPosition: _device.SetPosition(x, y, z); break; case MachineState.D92_Calibration: _device.Calibrate(x, y, z); break; default: //Logger.Error("Axis coords received, but machine is not in the right state"); break; } }