public void ComboBoxToPin(Pi2Pin pin, ComboBox cb) { if (cb.SelectedIndex == 0) { pin.InOut = Pi2InOutValue.In; pin.HiLow = Pi2HiLowValue.Low; } else if (cb.SelectedIndex == 1) { pin.InOut = Pi2InOutValue.In; pin.HiLow = Pi2HiLowValue.Hi; } else if (cb.SelectedIndex == 2) { pin.InOut = Pi2InOutValue.Out; pin.HiLow = Pi2HiLowValue.Low; } else if (cb.SelectedIndex == 3) { pin.InOut = Pi2InOutValue.Out; pin.HiLow = Pi2HiLowValue.Hi; } }
public void SetPin(Pi2Pin pin) { var serverInfo = new Pi2GpioServerInfo() { Port = Pi2GpioPorts.PinValuesPort }; Pi2GpioJson.SetPin(serverInfo, pin); }
public void SetComboBox(Pi2Pin pin) { if(!comboBoxGpioMap.ContainsKey(pin.Number)) { return; } var cb = comboBoxGpioMap[pin.Number]; if (pin.InOut == Pi2InOutValue.In && pin.HiLow == Pi2HiLowValue.Low) { cb.Foreground = new SolidColorBrush(Colors.Red); cb.SelectedIndex = 0; } else if (pin.InOut == Pi2InOutValue.In && pin.HiLow == Pi2HiLowValue.Hi) { cb.Foreground = new SolidColorBrush(Colors.Red); cb.SelectedIndex = 1; } else if (pin.InOut == Pi2InOutValue.Out && pin.HiLow == Pi2HiLowValue.Low) { cb.Foreground = new SolidColorBrush(Colors.Green); cb.SelectedIndex = 2; } else if (pin.InOut == Pi2InOutValue.Out && pin.HiLow == Pi2HiLowValue.Hi) { cb.Foreground = new SolidColorBrush(Colors.Green); cb.SelectedIndex = 3; } }
private void gpioComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e) { if(processComboEvents == false) { return; } var comboBox = sender as ComboBox; var pins = comboBoxGpioMap.Where(x => x.Value == sender); foreach(var ipin in pins) { Pi2Pin pin = new Pi2Pin() { Number = ipin.Key }; ComboBoxToPin(pin, comboBox); gpio.SetPin(pin); SetComboBox(pin); } }
public void PinChanged(Pi2Pin pin) { var t = Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.High, () => { SetComboBox(pin); }); }