public bool ChangeCodeB(string ANewCode) { LockState_t IState = State; // Save current state State = LockState_t.Disconnected; if (!Tool.SendCmd("B:" + ANewCode)) { return(false); } if (!Tool.WaitAnswer()) { return(false); } // Check what received if (Tool.RXString.StartsWith("B")) { CodeB = ANewCode; State = IState; // Restore state return(true); } else { return(false); } }
public bool Kick() { LockState_t IState = State; // Save current state State = LockState_t.Disconnected; for (int i = 0; i < 7; i++) { Thread.Sleep(10); if (!Tool.SendCmd("K")) { continue; } if (!Tool.WaitAnswer()) { continue; } // Check what received if (Tool.RXString.StartsWith("K")) { State = IState; // Restore state return(true); } } return(false); }
public bool GetState() { LockState_t IState = State; // Save current state State = LockState_t.Disconnected; if (!Tool.SendCmd("S")) { return(false); } if (!Tool.WaitAnswer()) { return(false); } // Check what received if (!Tool.RXString.StartsWith("S:")) { return(false); } // Get service code, two lock codes and complexity from state reply string[] sl = Tool.RXString.Substring(2).Split(','); // Split reply to chunks if (sl.Count() != 4) { return(false); // Must be 4 chunks } ServiceCode = sl[0]; CodeA = sl[1]; CodeB = sl[2]; if (!Int32.TryParse(sl[3], out Complexity)) { return(false); } // === Now get side which tool is connected to === if (!Tool.SendCmd("G")) { return(false); } if (!Tool.WaitAnswer()) { return(false); } // Check what received if (Tool.RXString.StartsWith("G:A")) { Side = LockSide_t.SideA; } else if (Tool.RXString.StartsWith("G:B")) { Side = LockSide_t.SideB; } else { return(false); } State = IState; // Restore state return(true); }
public bool Close() { LockState_t IState = State; // Save current state State = LockState_t.Disconnected; if (!Tool.SendCmd("C")) { return(false); } if (!Tool.WaitAnswer()) { return(false); } // Check what received if (!Tool.RXString.StartsWith("C")) { return(false); } State = IState; // Restore state return(true); }
public bool Open() { LockState_t IState = State; // Save current state State = LockState_t.Disconnected; if (!Tool.SendCmd("O")) return false; if (!Tool.WaitAnswer()) return false; // Check what received if (!Tool.RXString.StartsWith("O")) return false; State = IState; // Restore state return true; }
public bool GetState() { LockState_t IState = State; // Save current state State = LockState_t.Disconnected; if (!Tool.SendCmd("S")) return false; if (!Tool.WaitAnswer()) return false; // Check what received if (!Tool.RXString.StartsWith("S:")) return false; // Get service code, two lock codes and complexity from state reply string[] sl = Tool.RXString.Substring(2).Split(','); // Split reply to chunks if (sl.Count() != 4) return false; // Must be 4 chunks ServiceCode = sl[0]; CodeA = sl[1]; CodeB = sl[2]; if (!Int32.TryParse(sl[3], out Complexity)) return false; // === Now get side which tool is connected to === if (!Tool.SendCmd("G")) return false; if (!Tool.WaitAnswer()) return false; // Check what received if (Tool.RXString.StartsWith("G:A")) Side = LockSide_t.SideA; else if (Tool.RXString.StartsWith("G:B")) Side = LockSide_t.SideB; else return false; State = IState; // Restore state return true; }
public bool ChangeServiceCode(string ANewCode) { LockState_t IState = State; // Save current state State = LockState_t.Disconnected; if (!Tool.SendCmd("V:" + ANewCode)) return false; if (!Tool.WaitAnswer()) return false; // Check what received if (Tool.RXString.StartsWith("V")) { ServiceCode = ANewCode; State = IState; // Restore state return true; } else return false; }