Exemple #1
0
        private GpioPin GetPin(InputPins pin)
        {
            GpioPin gpioPin = null;
            if (pin == InputPins.Input1)
                gpioPin = this.Input1Pin;
            else if (pin == InputPins.Input2)
                gpioPin = this.Input2Pin;
            else if (pin == InputPins.Input3)
                gpioPin = this.Input3Pin;
            else if (pin == InputPins.Input4)
                gpioPin = this.Input4Pin;

            if (gpioPin == null)
                throw new Exception("Invalid Pin");

            return gpioPin;
        }
Exemple #2
0
 public void StopMotor(InputPins pin)
 {
     var inputPin = GetPin(pin);
     inputPin.Write(GpioPinValue.Low);
 }
Exemple #3
0
 public void StartMotor(InputPins pin)
 {
     var inputPin = GetPin(pin);
     inputPin.Write(GpioPinValue.High);
 }
 public List <Articy.Unity.Interfaces.IInputPin> GetInputPins()
 {
     return(InputPins.Cast <IInputPin>().ToList());
 }
        private void OnFunctionRebuilt()
        {
            // Input parameter rebuild
            if (m_targetFunction.InputParameters.Count > InputPins.Count)
            {
                for (int i = 0; i < m_targetFunction.InputParameters.Count; i++)
                {
                    CKlaxVariable inputParameter = m_targetFunction.InputParameters[i];
                    if (InputPins.Count > i)
                    {
                        InputPins[i].Type = inputParameter.Type;
                        InputPins[i].Name = inputParameter.Name;
                    }
                    else
                    {
                        InputPins.Add(new CInputPin(inputParameter.Name, inputParameter.Type));
                    }
                }
            }
            else
            {
                for (int i = InputPins.Count - 1; i >= 0; i--)
                {
                    if (m_targetFunction.InputParameters.Count > i)
                    {
                        CKlaxVariable inputParameter = m_targetFunction.InputParameters[i];
                        InputPins[i].Type = inputParameter.Type;
                        InputPins[i].Name = inputParameter.Name;
                    }
                    else
                    {
                        InputPins.RemoveAt(i);
                    }
                }
            }

            // Output parameter rebuild
            if (m_targetFunction.OutputParameters.Count > OutputPins.Count)
            {
                for (int i = 0; i < m_targetFunction.OutputParameters.Count; i++)
                {
                    CKlaxVariable outputParameter = m_targetFunction.OutputParameters[i];
                    if (OutputPins.Count > i)
                    {
                        OutputPins[i].Type = outputParameter.Type;
                        OutputPins[i].Name = outputParameter.Name;
                    }
                    else
                    {
                        OutputPins.Add(new COutputPin(outputParameter.Name, outputParameter.Type));
                    }
                }
            }
            else
            {
                for (int i = OutputPins.Count - 1; i >= 0; i--)
                {
                    if (m_targetFunction.OutputParameters.Count > i)
                    {
                        CKlaxVariable outputParameter = m_targetFunction.OutputParameters[i];
                        OutputPins[i].Type = outputParameter.Type;
                        OutputPins[i].Name = outputParameter.Name;
                    }
                    else
                    {
                        OutputPins.RemoveAt(i);
                    }
                }
            }
            RaiseNodeRebuildEvent();
        }
Exemple #6
0
        public void StopMotor(InputPins pin)
        {
            var inputPin = GetPin(pin);

            inputPin.Write(GpioPinValue.Low);
        }
Exemple #7
0
        public void StartMotor(InputPins pin)
        {
            var inputPin = GetPin(pin);

            inputPin.Write(GpioPinValue.High);
        }