private void SetConfiguredAction(PinButton pinButton, PinAction pinAction = PinAction.None) { PinSetup.Hide(); var pin = (Pin)pinButton.DataContext; pin.Value = 0; pin.ConfiguredAction = pinAction; SavePinState(pin); }
private void SetupButton(PinButton pinButton) { var pin = (Pin)pinButton.DataContext; PinSetupCaption.Text = pin.Caption; PinSetupAnalogRead.Visibility = pin.Functions.Contains(PinAction.AnalogRead) ? Visibility.Visible : Visibility.Collapsed; PinSetupAnalogWrite.Visibility = pin.Functions.Contains(PinAction.AnalogWrite) ? Visibility.Visible : Visibility.Collapsed; PinSetupAnalogWriteDac.Visibility = pin.Functions.Contains(PinAction.AnalogWriteDac) ? Visibility.Visible : Visibility.Collapsed; PinSetupDigitalgRead.Visibility = pin.Functions.Contains(PinAction.DigitalRead) ? Visibility.Visible : Visibility.Collapsed; PinSetupDigitalWrite.Visibility = pin.Functions.Contains(PinAction.DigitalWrite) ? Visibility.Visible : Visibility.Collapsed; PinSetupAnalogRead.DataContext = pinButton; PinSetupAnalogWrite.DataContext = pinButton; PinSetupAnalogWriteDac.DataContext = pinButton; PinSetupDigitalgRead.DataContext = pinButton; PinSetupDigitalWrite.DataContext = pinButton; PinSetup.ShowAt(pinButton); }
private async void PinUpdate(PinButton pinButton) { var pin = (Pin)pinButton.DataContext; switch (pin.ConfiguredAction) { case PinAction.AnalogRead: pin.AnalogReadAsync(); break; case PinAction.AnalogWrite: case PinAction.AnalogWriteDac: AnalogPinWriteCaption.Text = string.Format(analogPinWriteCaption, pin.Caption); AnalogPinSlider.Minimum = 0; AnalogPinSlider.Maximum = pin.MaxAnalogWriteValue; AnalogPinSlider.Value = pin.Value; AnalogPinSlider.DataContext = pin; AnalogPinValueText.Text = pin.Value.ToString(); AnalogValueFlyout.ShowAt(pinButton); break; case PinAction.DigitalRead: await pin.DigitalReadAsync(); break; case PinAction.DigitalWrite: pin.DigitalWriteAsync(); break; } }