示例#1
0
 static void Button_StateChanged(object sender, AutoRepeatEventArgs e)
 {
     // We will only change when the button gets pressed
     if (Button.Read()) return;
     // Toggles Red
     Red.Write(!Red.Read());
     // Makes green invert Red
     Green.Write(!Red.Read());
 }
示例#2
0
 /// <summary>
 /// Triggered when a button is pressed, still pressed, or released
 /// </summary>
 /// <param name="Sender">The AutoRepeatInputPort object</param>
 /// <param name="EventArgs">Event arguments</param>
 static void Button_StateChanged(object Sender, AutoRepeatEventArgs EventArgs)
 {
     switch (EventArgs.State)
     {
         case AutoRepeatInputPort.AutoRepeatState.Press:
             Debug.Print("Pressed");
             break;
         case AutoRepeatInputPort.AutoRepeatState.Release:
             Debug.Print("Released");
             break;
         case AutoRepeatInputPort.AutoRepeatState.Tick:
             Debug.Print("Tick-Tock Goes the Clock");
             break;
     }
 }
 void _windowCircuit_StateChanged(object sender, AutoRepeatEventArgs e)
 {
     switch (e.State)
     {
         case AutoRepeatInputPort.AutoRepeatState.Press:
             // The circuit opened meaning a window was opened
             _logger.Debug("Window Circuit Opened");
             _mqttService.Publish(new MqttParcel(Topic + "window", "opened", QoS.BestEfforts, false));
             break;
         case AutoRepeatInputPort.AutoRepeatState.Release:
             // The circuit closed meaning all windows were closed
             _logger.Debug("Window Circuit Closed");
             _mqttService.Publish(new MqttParcel(Topic + "window", "closed", QoS.BestEfforts, false));
             break;
     }
 }
 void _sleepMode_StateChanged(object sender, AutoRepeatEventArgs e)
 {
     switch (e.State)
     {
         case AutoRepeatInputPort.AutoRepeatState.Press:
             // The sleep security mode button was pressed
             _logger.Debug("Sleep button pressed");
             _mqttService.Publish(new MqttParcel(Topic + "alarmstate", "sleep", QoS.BestEfforts, false));
             break;
     }
 }
 void _motionCircuit_StateChanged(object sender, AutoRepeatEventArgs e)
 {
     switch (e.State)
     {
         case AutoRepeatInputPort.AutoRepeatState.Press:
             // The circuit opened meaning a motion detector fired
             _logger.Debug("Motion Circuit Opened");
             _mqttService.Publish(new MqttParcel(Topic + "motion", "opened", QoS.BestEfforts, false));
             break;
         case AutoRepeatInputPort.AutoRepeatState.Release:
             // The circuit closed meaning all motion detectors are not firing
             _logger.Debug("Motion Circuit Closed");
             _mqttService.Publish(new MqttParcel(Topic + "motion", "closed", QoS.BestEfforts, false));
             break;
     }
 }
 void _keyboardEnterKey_StateChanged(object sender, AutoRepeatEventArgs e)
 {
     switch (e.State)
     {
         case AutoRepeatInputPort.AutoRepeatState.Press:
             _logger.Debug("Enter Key Pressed");
             if (_keyboardInput != "")
             {
                 _mqttService.Publish(new MqttParcel(Topic + "code", _keyboardInput, QoS.BestEfforts, false));
                 _keyboardInput = "";
             }
             break;
         case AutoRepeatInputPort.AutoRepeatState.Release:
             _logger.Debug("Enter Key Released");
             break;
     }
 }
 void _keyboard1Key_StateChanged(object sender, AutoRepeatEventArgs e)
 {
     switch (e.State)
     {
         case AutoRepeatInputPort.AutoRepeatState.Press:
             _logger.Debug("1 Key Pressed");
             _keyboardInput = _keyboardInput + "1";
             break;
         case AutoRepeatInputPort.AutoRepeatState.Release:
             _logger.Debug("1 Key Released");
             break;
     }
 }
 void _door_StateChanged(object sender, AutoRepeatEventArgs e)
 {
     switch (e.State)
     {
         case AutoRepeatInputPort.AutoRepeatState.Press:
             _logger.Debug("opened");
             _mqttService.Publish(new MqttParcel(Topic + "door", "opened", QoS.BestEfforts, false));
             break;
         case AutoRepeatInputPort.AutoRepeatState.Release:
             _logger.Debug("closed");
             _mqttService.Publish(new MqttParcel(Topic + "door", "closed", QoS.BestEfforts, false));
             break;
     }
 }
 void _doorBell_StateChanged(object sender, AutoRepeatEventArgs e)
 {
     switch (e.State)
     {
         case AutoRepeatInputPort.AutoRepeatState.Press:
             _logger.Debug("Doorbell Pushed");
             _mqttService.Publish(new MqttParcel(Topic + "doorbell", "pushed", QoS.BestEfforts, false));
             break;
     }
 }