Beispiel #1
0
 public void toggleOutput(ToggleOutputEvent inToggleOutputEvent)
 {
     if (_deviceConnected)
     {
         bool    currentState;
         DIOPins pinToToggle = inToggleOutputEvent._pinToToggle;
         _pinStates.TryGetValue(pinToToggle, out currentState);
         log.Debug(string.Format("Trying to set pin {0} with current state {1}, to state {2}", pinToToggle, currentState, !currentState));
         if (currentState)
         {
             _physicalLayer.setOutputState(new UpdateOutputEvent(inToggleOutputEvent._pinToToggle, false));
             _pinStates.TryUpdate(pinToToggle, false, true);
         }
         else
         {
             _physicalLayer.setOutputState(new UpdateOutputEvent(inToggleOutputEvent._pinToToggle, true));
             _pinStates.TryUpdate(pinToToggle, true, false);
         }
     }
     else
     {
         log.Error("Can not toggle output because device is not connected");
     }
 }