Esempio n. 1
0
 /// <summary>
 /// If commands are found in the queue it sends commands and removes processed commands from queue
 /// </summary>
 private void ProcessCommand()
 {
     // Check if we have any commands in the queue to process.
     if (queue.Count > 0)
     {
         Cm11Message command = queue.Peek();
         if (command != null)
         {
             // Try to send command to CM11 device
             try
             {
                 if (Send(command.Buffer, command.Count))
                 {
                     if (SendOk())
                     {
                         lock (queuePadLock)
                         {
                             queue.Dequeue();
                         }
                     }
                 }
             }
             catch (System.TimeoutException)
             {
                 RaiseErrorEvent(new Cm11LowLevelDriverError("Sending command to CM11 interace failed. Is the CM11 interface still plugged in to the AC outlet?"));
             }
         }
     }
 }
Esempio n. 2
0
 /// <summary>
 /// Adds a message to the queue.
 /// </summary>
 /// <param name="message">Message to be added to the queue</param>
 public void AddMessage(Cm11Message message)
 {
     lock (queuePadLock)
     {
         if (this.queue.Count < 100)
         {
             this.queue.Enqueue(message);
         }
         else
         {
             // We already have 100 commands waiting.
             // Just drop further commands. Comms are probably
             // down.
             RaiseErrorEvent(new Cm11LowLevelDriverError("Communication to CM11 interface is probably down and message queue is full."));
         }
     }
 }
 /// <summary>
 /// Adds a message to the queue.
 /// </summary>
 /// <param name="message">Message to be added to the queue</param>
 public void AddMessage(Cm11Message message)
 {
     lock (queuePadLock)
     {
         if (this.queue.Count < 100)
         {
             this.queue.Enqueue(message);
         }
         else
         {
             // We already have 100 commands waiting. 
             // Just drop further commands. Comms are probably
             // down. 
             RaiseErrorEvent(new Cm11LowLevelDriverError("Communication to CM11 interface is probably down and message queue is full."));
         }
     }
 }