コード例 #1
0
 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;
     }
 }
コード例 #2
0
 public void SetPin(Pi2Pin pin)
 {
     var serverInfo = new Pi2GpioServerInfo() { Port = Pi2GpioPorts.PinValuesPort };
     Pi2GpioJson.SetPin(serverInfo, pin);
 }
コード例 #3
0
        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;
            }
        }
コード例 #4
0
        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);
            }
        }
コード例 #5
0
 public void PinChanged(Pi2Pin pin)
 {
     var t = Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.High, () =>
     {
         SetComboBox(pin);
     });
 }