/* Constructor */ protected Stepper(ConnectorPin protection, ConnectorPin direction, ConnectorPin impulse, ConnectorPin reset, ConnectorPin enable) { _logger = new Logger(nameof(Stepper)); /* Config pins */ _protectionPin = new GPIOInstance(protection, PinDirection.Input); _directionPin = new GPIOInstance(direction, PinDirection.Output); _impulsePin = new GPIOInstance(impulse, PinDirection.Output); _resetPin = new GPIOInstance(reset, PinDirection.Output); _enablePin = new GPIOInstance(enable, PinDirection.Output); /* Disable motor by default to prevent heating */ Enable(false); /* Set direction as FORWARD by default */ SetDirection(Direction.Forward); /* Reset pin */ _resetPin.Write(true); /* Launch PWM */ _gpio_pwm = 23; System.Diagnostics.Process.Start("/usr/sbin/pi-blaster", "--gpio 23").WaitForExit(); _pwm = new PWM(_gpio_pwm); _pwm.SetDuty(0); }