Example #1
0
        /// <summary>
        /// Prepares the rail for use by moving the motor all the way up to the top to find the zero position.
        /// </summary>
        public void Initialize()
        { // TODO: What happens when it is already at the top? This likely won't toggle the switch...
            this.Initializing = true;

            IPWMOutput MotorPWM = PWMBBB.PWMDevice2.OutputB;
            IDigitalIn LimitSw  = new DigitalInBBB(BBBPin.P8_08);

            this.MotorCtrl = new TalonMC(MotorPWM, MOTOR_MAX_SPEED);
            this.Limit     = new LimitSwitch(LimitSw, false);
            //this.Encoder = new Encoder(2, 3, 80);

            this.Limit.SwitchToggle += this.EventTriggered;
            //this.Encoder.Turned += this.EventTriggered;

            Timer TimeoutTrigger = new Timer()
            {
                Interval = INIT_TIMEOUT, AutoReset = false
            };

            TimeoutTrigger.Elapsed += this.EventTriggered;
            TimeoutTrigger.Enabled  = true;
            this.GotoTop();
        }
Example #2
0
        public void Initialize()
        {
            this.Initializing = true;

            IPWMOutput MotorOut = PWMBBB.PWMDevice1.OutputA;
            IDigitalIn LimitSw  = new DigitalInBBB(BBBPin.P8_12);

            this.MotorCtrl = new TalonMC(MotorOut, MOTOR_MAX_SPEED);
            this.Limit     = new LimitSwitch(LimitSw, false);
            //this.Encoder = new Encoder(6, 7, 420);

            this.Limit.SwitchToggle += this.EventTriggered;
            //this.Encoder.Turned += this.EventTriggered;

            Timer TimeoutTrigger = new Timer()
            {
                Interval = INIT_TIMEOUT, AutoReset = false
            };

            TimeoutTrigger.Elapsed += this.EventTriggered;
            TimeoutTrigger.Enabled  = true;
            // Do init stuff.
            this.TargetAngle = 360;
        }