コード例 #1
0
 /////////////////////////////////////////////////////////////////////////////////////////// 
 /// <summary>
 /// Called each time the client thread is executed
 /// </summary>
 /////////////////////////////////////////////////////////////////////////////////////////// 
 private void mClient_ThreadCallback(object sender, EventArgs e)
 {
     //If we are not connected set all flags to false
     if (!Connected) {
         mCommunicationStarted = false;
         mTorqueEventSubscribed = false;
         mAlarmEventSubscribed = false;
         mStatus = OpenProtocolStatus.Disconnected;
     } else {
         StartCommunication();
         SubscribeToLastTighteningResult();
         if (mCommunicationStarted && mLastSetTime < DateTime.Now.AddHours(4)) {
             Message setTime = new Message(MessageType.SetTime);
             mLastSetTime = DateTime.Now.AddMilliseconds(500); // Add 500 milliseconds for transfer time.
             setTime.Data = mLastSetTime.ToString("yyyy-MM-dd:HH:mm:ss");
             Send(setTime, MessageType.CommandAccepted);
         }
         if (mTorqueEventSubscribed) {
             mStatus = (mEnabled) ? OpenProtocolStatus.Running : OpenProtocolStatus.Disabled;
         } else {
             mStatus = OpenProtocolStatus.Initializing;
         }
     }
 }
コード例 #2
0
 public void Disconnect()
 {
     mCommunicationStarted = false;
     mTorqueEventSubscribed = false;
     mAlarmEventSubscribed = false;
     mStatus = OpenProtocolStatus.Disconnected;
     if(mClient != null && mClient.Connected) mClient.Disconnect();
 }