private bool CheckAndSoSetFeedSpeed(string token, ref GRBLRealtimeStatus status) { token = token.ToLower(); if (token.IndexOf("fs:") == 0) { string[] t = token.Substring(3).Split(','); int realtimeSpeedRate, spindleSpeed; if (t.Length > 1 && int.TryParse(t[0], out realtimeSpeedRate) && int.TryParse(t[1], out spindleSpeed)) { status.m_realtimeFeedRate = realtimeSpeedRate; status.m_spindleSpeed = spindleSpeed; return(true); } } else if (token.IndexOf("f:") == 0) { int realtimefeedrate = 0; if (int.TryParse(token.Substring(2), out realtimefeedrate)) { status.m_realtimeFeedRate = realtimefeedrate; return(true); } } return(false); }
private bool CheckAndSoSetPosition(string token, ref GRBLRealtimeStatus status) { try { token = token.ToLower(); float x, y, z; if (RecoverVector3Value(token, "mpos:", out x, out y, out z)) { status.m_motorPosition.x = x; status.m_motorPosition.y = y; status.m_motorPosition.z = z; status.m_workspacePosition.x = x - status.m_workCoordinateOffset.x; status.m_workspacePosition.y = y - status.m_workCoordinateOffset.y; status.m_workspacePosition.z = z - status.m_workCoordinateOffset.z; return(true); } else if (RecoverVector3Value(token, "wco:", out x, out y, out z)) { status.m_workCoordinateOffset.x = x; status.m_workCoordinateOffset.y = y; status.m_workCoordinateOffset.z = z; return(true); } else if (RecoverVector3Value(token, "ov:", out x, out y, out z)) { status.m_overrideValueInPourcent.x = x; status.m_overrideValueInPourcent.y = y; status.m_overrideValueInPourcent.z = z; return(true); } else if (RecoverVector3Value(token, "wpos:", out x, out y, out z)) { status.m_workspacePosition.x = x; status.m_workspacePosition.y = y; status.m_workspacePosition.z = z; status.m_motorPosition.x = x + status.m_workCoordinateOffset.x; status.m_motorPosition.y = y + status.m_workCoordinateOffset.y; status.m_motorPosition.z = z + status.m_workCoordinateOffset.z; return(true); } } catch { return(false); } return(false); }
private bool CheckAndSoSetState(string token, ref GRBLRealtimeStatus status) { token = token.ToLower(); if (token == "idle") { status.m_currentState = GRBLState.Idle; return(true); } if (token == "run") { status.m_currentState = GRBLState.Run; return(true); } if (token == "hold") { status.m_currentState = GRBLState.Hold; return(true); } if (token == "job") { status.m_currentState = GRBLState.Jog; return(true); } if (token == "alarm") { status.m_currentState = GRBLState.Alarm; return(true); } if (token == "door") { status.m_currentState = GRBLState.Door; return(true); } if (token == "check") { status.m_currentState = GRBLState.Check; return(true); } if (token == "home") { status.m_currentState = GRBLState.Home; return(true); } if (token == "sleep") { status.m_currentState = GRBLState.Sleep; return(true); } return(false); }