public AnalogControl(ArduinoPin pin, Form1 parent) { m_parent = parent; Pin = pin; InitializeComponent(); groupBoxAnalog.Text = pin.Name; trackBarAnalog.Value = pin.Value; textBoxAnalog.Text = pin.Value.ToString(); }
private void DeleteButton_Click(object sender, RoutedEventArgs e) { ArduinoPin pin = (e.Source as Button).DataContext as ArduinoPin; if (pin.IsDigitalOut) { oscParent.Endpoints.List.Remove(pin.Name); } Pins.Remove(pin); }
private void Route_MouseLeftButtonUp(object sender, MouseButtonEventArgs e) { ArduinoPin pin = (e.Source as Label).DataContext as ArduinoPin; var dialog = new RouteSelector(null, Osc.Tree.Root, true); if (pin.Route != null) { dialog.SetRoute(pin.Route); } dialog.ShowDialog(); if (dialog.DialogResult == true) { pin.Route = dialog.CurrentRoute; needsSaving = true; } }
public void LoadJSON(string content) { JObject obj = JObject.Parse(content); if (obj.ContainsKey("SelectedGroup")) { selectedGroup = (string)obj["SelectedGroup"]; } if (obj.ContainsKey("Pins")) { var arr = obj["Pins"] as JArray; foreach (var pin in arr) { var newpin = new ArduinoPin(oscParent); newpin.ReadJSON(pin as JObject); Pins.Add(newpin); } } UpdateRouteNames(); }
/// <summary> /// Configures the specified pin to behave either as an input /// or an output (IO0 - IO13). A0-A5 are mapped to 14-19 /// </summary> /// <param name="pin">Pin number.</param> /// <param name="mode">Mode to use.</param> public void PinMode(ArduinoPin pin, PinMode mode) { ArduinoInterop.pinMode((uint)pin, (uint)mode); }
/// <summary> /// Reads the value from the digital pin (IO0 - IO13). /// A0-A5 are mapped to 14-19 /// </summary> /// <param name="pin">Pin number.</param> /// <returns>1 for HIGH, 0 for LOW, or -1 for error</returns> public State DigitalRead(ArduinoPin pin) { return((State)ArduinoInterop.digitalRead((uint)pin)); }
/// <summary> /// Perform an analog write (PWM) operation. /// </summary> /// <param name="pin"> /// The Arduino GPIO pin on which to generate the pulse train. /// Pins 3, 5, 6, 7, 8, 9, 10, or 11 are valid. /// </param> /// <param name="value">The analong value, which translates to the /// duty cycle of the pulse train. Range: 0-2^analogWriteResolution(x) /// - 0 - 0% duty cycle (no pulses are generated, output is LOW) /// - 2^analogWriteResolution(x) - 100% duty cycle (pulse train is HIGH /// continuously) /// </param> public void AnalogWrite(ArduinoPin pin, uint value) { ArduinoInterop.analogWrite((uint)pin, value); }
/// <summary> /// Set the digital pin (IO0 - IO13) to the specified state. /// If the analog pins (A0-A5) are configured as digital IOs, /// also sets the state of these pins. /// A0-A5 are mapped to 14-19 /// </summary> /// <param name="pin">Pin number.</param> /// <param name="state">State to set.</param> public void DigitalWrite(ArduinoPin pin, State state) { ArduinoInterop.digitalWrite((uint)pin, (uint)state); }
/// <summary> /// Reads the value from the digital pin (IO0 - IO13). /// A0-A5 are mapped to 14-19 /// </summary> /// <param name="pin">Pin number.</param> /// <returns>1 for HIGH, 0 for LOW, or -1 for error</returns> public State DigitalRead(ArduinoPin pin) { return (State)ArduinoInterop.digitalRead((uint)pin); }