public Task StartAsync(CancellationToken cancellationToken) { Console.WriteLine("Starting Vending Service..."); if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux)) { // Setup the pins for the buttons Hardware.Gpio.OpenPin(HardwareAccess.INPUT_1, PinMode.InputPullUp); Hardware.Gpio.OpenPin(HardwareAccess.INPUT_2, PinMode.InputPullUp); Hardware.Gpio.OpenPin(HardwareAccess.INPUT_3, PinMode.InputPullUp); // Register Event Listeners Hardware.Gpio.RegisterCallbackForPinValueChangedEvent(HardwareAccess.INPUT_1, PinEventTypes.Rising, Button_Pressed); Hardware.Gpio.RegisterCallbackForPinValueChangedEvent(HardwareAccess.INPUT_2, PinEventTypes.Rising, Button_Pressed); Hardware.Gpio.RegisterCallbackForPinValueChangedEvent(HardwareAccess.INPUT_3, PinEventTypes.Rising, Button_Pressed); Hardware.Gpio.RegisterCallbackForPinValueChangedEvent(HardwareAccess.INPUT_1, PinEventTypes.Falling, Button_Released); Hardware.Gpio.RegisterCallbackForPinValueChangedEvent(HardwareAccess.INPUT_2, PinEventTypes.Falling, Button_Released); Hardware.Gpio.RegisterCallbackForPinValueChangedEvent(HardwareAccess.INPUT_3, PinEventTypes.Falling, Button_Released); // Turn on the lights Hardware.LightsOn(); } return(Task.CompletedTask); }
public IActionResult Lights([FromBody] bool value) { if (value) { _hardware.LightsOn(); } else { _hardware.LightsOff(); } return(Ok(value)); }