Esempio n. 1
0
        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);
        }
Esempio n. 2
0
 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;
 }