void HandleArmInputs(void) { if (gamepad.GetLeftY() < -0.1) { if (potentiometer.GetVoltage() < 4.5) { armMotor.Set(1.0); } else { armMotor.Set(0.0); } } else if (gamepad.GetLeftY() > 0.1) { if (potentiometer.GetVoltage() > .5) { armMotor.Set(-1.0); } else { armMotor.Set(0.0); } } else { armMotor.Set(0.0); } if (gamepad.GetEvent(BUTTON_CLAW_1_LOCKED) == kEventClosed) { greenClaw.Set(DoubleSolenoid::kForward); } else if (gamepad.GetEvent(BUTTON_CLAW_1_UNLOCKED) == kEventClosed) { greenClaw.Set(DoubleSolenoid::kReverse); } else if (gamepad.GetEvent(BUTTON_CLAW_2_LOCKED) == kEventClosed) { yellowClaw.Set(DoubleSolenoid::kForward); } else if (gamepad.GetEvent(BUTTON_CLAW_2_UNLOCKED) == kEventClosed) { yellowClaw.Set(DoubleSolenoid::kReverse); } }
void Autonomous(void) { myRobot.SetSafetyEnabled(false); // Move the arm to a level position armMotor.Set(ARM_FWD); while (!((potentiometer.GetVoltage() > 2.4) && (potentiometer.GetVoltage() < 2.6))) { // Check to make sure we don't overrotate the arm in either direction if (potentiometer.GetVoltage() > 4.5 || potentiometer.GetVoltage() < 0.5) { armMotor.Set(0.0); return; } Wait(0.2); UpdateStatusDisplays(); } armMotor.Set(0.0); // Drive robot DoAutonomousMoveStep(&m_autoForward[0], "Moving..."); DoAutonomousMoveStep(&m_autoForward[1], "Moving..."); //Shoot for five seconds Timer* t = new Timer(); t->Start(); shooterMotor.Set(SHOOTER_FWD); indexerMotor.Set(INDEXER_FWD); while(!t->HasPeriodPassed(5.0)) { Wait(0.02); } shooterMotor.Set(0.0); indexerMotor.Set(0.0); }
void HandleResetButton(void) { if (gamepad.GetEvent(BUTTON_STOP_ALL) == kEventClosed) { collectorMotor.Set(0.0); m_collectorMotorRunning = false; shooterMotor.Set(0.0); m_shooterMotorRunning = false; indexerMotor.Set(0.0); armMotor.Set(0.0); jogTimer.Stop(); jogTimer.Reset(); m_jogTimerRunning = false; } }
void HandleArmInputs(void) { if (!m_jogTimerRunning) { if (gamepad.GetLeftY() < -0.1) { if (potentiometer.GetVoltage() < 4.5) { armMotor.Set(ARM_FWD); } else { armMotor.Set(0.0); } } else if (gamepad.GetLeftY() > 0.1) { if (potentiometer.GetVoltage() > .5) { armMotor.Set(ARM_REV); } else { armMotor.Set(0.0); } } else if (kEventClosed == gamepad.GetDPadEvent(Gamepad::kUp)) { armMotor.Set(ARM_FWD); jogTimer.Start(); jogTimer.Reset(); m_jogTimerRunning = true; } else if (kEventClosed == gamepad.GetDPadEvent(Gamepad::kDown)) { armMotor.Set(ARM_REV); jogTimer.Start(); jogTimer.Reset(); m_jogTimerRunning = true; } else { armMotor.Set(0.0); } } else if (jogTimer.HasPeriodPassed(JOG_TIME)) { armMotor.Set(0); jogTimer.Stop(); jogTimer.Reset(); m_jogTimerRunning = false; } if (gamepad.GetEvent(BUTTON_CLAW_1_LOCKED) == kEventClosed) { greenClaw.Set(DoubleSolenoid::kForward); } else if (gamepad.GetEvent(BUTTON_CLAW_1_UNLOCKED) == kEventClosed) { greenClaw.Set(DoubleSolenoid::kReverse); } else if (gamepad.GetEvent(BUTTON_CLAW_2_LOCKED) == kEventClosed) { yellowClaw.Set(DoubleSolenoid::kForward); } else if (gamepad.GetEvent(BUTTON_CLAW_2_UNLOCKED) == kEventClosed) { yellowClaw.Set(DoubleSolenoid::kReverse); } }