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; }
public void StopMotor(InputPins pin) { var inputPin = GetPin(pin); inputPin.Write(GpioPinValue.Low); }
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(); }