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()); }
/// <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; } }