Exemple #1
0
        /* 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);
        }