private void MainPage_Unloaded(object sender, RoutedEventArgs e) { if (led != null) { led.Off(); led.Dispose(); led = null; } }
private async void MainPage_Loaded(object sender, RoutedEventArgs e) { if (ApiInformation.IsApiContractPresent("Windows.Devices.DevicesLowLevelContract", 1)) { try { var gpio = await Windows.Devices.Gpio.GpioController.GetDefaultAsync(); if (gpio != null) { var provider = PwmProviderSoftware.GetPwmProvider(); if (provider != null) { var controllers = (await PwmController.GetControllersAsync(provider)); if (controllers != null) { var controller = controllers.FirstOrDefault(); if (controller != null) { controller.SetDesiredFrequency(100); var pinR = controller.OpenPin(5); var pinB = controller.OpenPin(6); var pinG = controller.OpenPin(13); led = new RgbLed(pinR, pinG, pinB); led.On(); led.Color = Colors.White; Task.Delay(50).Wait(); led.Color = Colors.Black; } } } } } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex.Message); } timer.Start(); } }