Пример #1
0
 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();
 }
Пример #2
0
        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);
        }
Пример #3
0
        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;
            }
        }
Пример #4
0
        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();
        }
Пример #5
0
 /// <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);
 }
Пример #6
0
 /// <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));
 }
Пример #7
0
 /// <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);
 }
Пример #8
0
 /// <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);
 }
Пример #9
0
 /// <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);
 }
Пример #10
0
 /// <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);
 }
Пример #11
0
 /// <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);
 }
Пример #12
0
 /// <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);
 }