Exemplo n.º 1
0
        public YAxis(IDriveSettingRepository driveSettingRepository, IEmergencyStop emergencyStop, IGpioControllerFacade gpioControllerFacade)
            : base(driveSettingRepository, emergencyStop)
        {
            var drivePins = new DrivePins
            {
                EnablePin          = 22,
                DirectionPin       = 5,
                StepPin            = 6,
                ReferenceSwitchPin = 21
            };

            _stepperDriveControl = new StepperDriveControl(drivePins, gpioControllerFacade);

            _defaultDriveSetting = new DriveSetting
            {
                DriveName                 = Name,
                MaxSpeed                  = new Speed(80, SpeedUnit.MillimeterPerSecond),
                Acceleration              = new Acceleration(80, AccelerationUnit.MillimeterPerSecondSquared),
                SpindlePitch              = new Length(8, LengthUnit.Millimeter),
                StepsPerRevolution        = 400,
                SoftwareLimitMinus        = new Length(0.1, LengthUnit.Millimeter),
                SoftwareLimitPlus         = new Length(141.1, LengthUnit.Millimeter),
                ReverseDirection          = false,
                ReferenceDrivingDirection = DrivingDirection.Negative,
                ReferencePosition         = new Length(0, LengthUnit.Millimeter),
                ReferenceDrivingSpeed     = new Speed(3.5, SpeedUnit.MillimeterPerSecond)
            };
        }
Exemplo n.º 2
0
 protected AbstractAxis(IDriveSettingRepository driveSettingRepository, IEmergencyStop emergencyStop)
 {
     (_driveSettingRepository, _emergencyStop) = (driveSettingRepository, emergencyStop);
     _stopDrivingTokenSource = new CancellationTokenSource();
     _currentStatus          = new BehaviorSubject <Status>(emergencyStop.EmergencyStopPressed ? Status.Error : Status.NotReady);
     _drivingTask            = Task.Run(() =>
     {
         // just to intialize the member, so no exception is thrown when emergency stop is pressed
     });
     _emergencyStop.EmergencyStopPressedChanged += EmergencyStopPressedChanged;
 }
Exemplo n.º 3
0
 public TestingController(IDriveSettingRepository driveSettingRepository, IEmergencyStop emergencyStop)
 {
     _driveSettingsRepo = driveSettingRepository;
     _emergencyStop     = emergencyStop;
 }