예제 #1
0
 private void constructMotorMover()
 {
     mockMotor        = MockMotor.Create();
     motorLocator     = new MotorLocator(new MockGpio(), mockMotor.Information);
     positionSignaler = new PositionSignaler(motorLocator);
     motorMover       = new MotorMover(3, positionSignaler, motorLocator, mockMotor);
 }
예제 #2
0
 private void setup()
 {
     mockMotor       = MockMotor.Create();
     locator         = new MotorLocator(new MockGpio(), mockMotor.Information);
     signaler        = new PositionSignaler(locator);
     mover           = new MotorMover(3, signaler, locator, mockMotor);
     topInterrupt    = new MockPhotoInterrupter(1, lowerTopIntPos, upperTopIntPos, locator, mockMotor);
     bottomInterrupt = new MockPhotoInterrupter(-1, lowerBottomIntPos, upperBottomIntPos, locator, mockMotor);
     calibrator      = new MotorCalibrator(-5, 5, mover, mockMotor.Information, topInterrupt, bottomInterrupt);
 }
예제 #3
0
        public MotorMover(int estimatedOvershoot, IPositionSignaler posSignaler, IMotorLocator motorLocator, IMotorDrv motorDrv)
        {
            EstimatedOvershoot = estimatedOvershoot;

            signaler = posSignaler;
            Locator  = motorLocator;
            motor    = motorDrv;

            signaler.ReachedPosition           += finishedCounting;
            motor.Information.DirectionChanged += directionChanged;

            isMoving   = false;
            state      = MoverState.Ready;
            lockObject = new object();
        }
예제 #4
0
 public MockMotorMover(IMotorDrv motor, IMotorLocator locator, IPositionSignaler signaler) : base(4, signaler, locator, motor)
 {
     this.motor    = motor;
     this.locator  = locator;
     this.signaler = signaler;
 }