Merge branch 'shooter' into release
# Conflicts: # Robot2016/src/Robot.cpp # Robot2016/src/Shooter.h
This commit is contained in:
commit
d90d6b9a79
@ -170,12 +170,10 @@ private:
|
|||||||
{
|
{
|
||||||
shooter.BoostRamp();
|
shooter.BoostRamp();
|
||||||
ramping = true;
|
ramping = true;
|
||||||
}*/
|
}
|
||||||
else if(ramping
|
else if(ramping && !operator_stick.GetRawButton(RAMP_RAISE)
|
||||||
&& !operator_stick.GetRawButton(RAMP_LOWER)
|
&& !operator_stick.GetRawButton(RAMP_LOWER))
|
||||||
&& !operator_stick.GetRawButton(RAMP_RAISE))
|
|
||||||
{
|
{
|
||||||
std::cout << "Stopping Ramp.";
|
|
||||||
shooter.StopRamp();
|
shooter.StopRamp();
|
||||||
ramping = false;
|
ramping = false;
|
||||||
}
|
}
|
||||||
@ -213,7 +211,6 @@ private:
|
|||||||
shooter.PickUp(false);
|
shooter.PickUp(false);
|
||||||
pickupRunning = false;
|
pickupRunning = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The 'inverting' variable is used to make sure that the drive train isn't getting
|
* The 'inverting' variable is used to make sure that the drive train isn't getting
|
||||||
* inverted every iteration of the TeleopPeriodic method while the button is held down.
|
* inverted every iteration of the TeleopPeriodic method while the button is held down.
|
||||||
@ -234,12 +231,12 @@ private:
|
|||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Unlike the previous actions, this method does need to be called every iteration of
|
* Unlike the previous actions, this method does need to be called every iteration of
|
||||||
* TeleopPeriodic. This is because the logic running this operation needs to be checked
|
* TeleopPeriodic. This is because the logic running this operation needs to be checked
|
||||||
* Every time the method is called. This cannot be a loop in the Shoot method because
|
* Every time the method is called. This cannot be a loop in the Shoot method because
|
||||||
* that would lock the robot every time the trigger is hit.
|
* that would lock the robot every time the trigger is hit.
|
||||||
*/
|
*/
|
||||||
/*if(operator_stick.GetRawButton(TRIGGER))
|
if(operator_stick.GetRawButton(TRIGGER) || (shooter.GetState() != 0))
|
||||||
{
|
{
|
||||||
shooting = true;
|
shooting = true;
|
||||||
shooter.Shoot();
|
shooter.Shoot();
|
||||||
|
@ -88,21 +88,18 @@ public:
|
|||||||
}
|
}
|
||||||
void Shoot()
|
void Shoot()
|
||||||
{
|
{
|
||||||
// TODO: Shooter Logic should go as follows:
|
if (shotClock.Get() > (SPINUP_TIME + 0.1))
|
||||||
|
{
|
||||||
/*
|
state = RESETTING;
|
||||||
Assuming a ball is held in the shooter. When the trigger is pulled,
|
}
|
||||||
the launch-spinny should be STOPPED. Start a Timer object counting
|
|
||||||
When... too hard to write.. I emailed you a flow chart.
|
|
||||||
*/
|
|
||||||
switch (state)
|
switch (state)
|
||||||
{
|
{
|
||||||
case READY:
|
case READY:
|
||||||
{
|
{
|
||||||
state = SPINNINGUP;
|
state = SPINNINGUP;
|
||||||
ramp->Set(-1);
|
ramp->Set(-1);
|
||||||
launcher->Set(PICKUP_POWER);
|
launcher->Set(LAUNCH_POWER);
|
||||||
pickup->Set(PICKUP_POWER);
|
pickup->Set(LAUNCH_POWER);
|
||||||
shotClock.Reset();
|
shotClock.Reset();
|
||||||
shotClock.Start();
|
shotClock.Start();
|
||||||
break;
|
break;
|
||||||
@ -116,13 +113,13 @@ public:
|
|||||||
shotClock.Start();
|
shotClock.Start();
|
||||||
} else
|
} else
|
||||||
{
|
{
|
||||||
std::cout << "*Goku noises*\n";
|
//std::cout << "*Goku noises*\n";
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case LAUNCH:
|
case LAUNCH:
|
||||||
{
|
{
|
||||||
ramp->Set(1);
|
ramp->Set(LAUNCH_POWER);
|
||||||
state = LAUNCHING;
|
state = LAUNCHING;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -155,8 +152,7 @@ public:
|
|||||||
void PickUp(bool state = true)
|
void PickUp(bool state = true)
|
||||||
{
|
{
|
||||||
pickup->Set((float) (state * PICKUP_POWER));
|
pickup->Set((float) (state * PICKUP_POWER));
|
||||||
launcher->Set((float) (state * PICKUP_POWER * -0.75));
|
launcher->Set((float) (state * PICKUP_POWER * -1));
|
||||||
//ramp->Set(-1.0*PICKUP_POWER);
|
|
||||||
//std::cout << "picking up!\n";
|
//std::cout << "picking up!\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -165,7 +161,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
void Unjam()
|
void Unjam()
|
||||||
{
|
{
|
||||||
pickup->Set(PICKUP_POWER * -0.75);
|
pickup->Set(-1 * PICKUP_POWER);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ShootLow()
|
void ShootLow()
|
||||||
@ -179,6 +175,11 @@ public:
|
|||||||
launcher->Set(power);
|
launcher->Set(power);
|
||||||
//std::cout << "setting shooter power" << std::endl;
|
//std::cout << "setting shooter power" << std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int GetState()
|
||||||
|
{
|
||||||
|
return state;
|
||||||
|
}
|
||||||
private:
|
private:
|
||||||
|
|
||||||
//RobotDrive *shooterDrive;
|
//RobotDrive *shooterDrive;
|
||||||
|
Reference in New Issue
Block a user