Files

62 lines
1.1 KiB
C
Raw Normal View History

#ifndef Pivot_H
#define Pivot_H
#include "Commands/PIDSubsystem.h"
#include "WPILib.h"
/**
* The Pivot subsystem contains the Van-door motor and the pot for PID control
* of angle of the pivot and claw.
*/
class Pivot: public PIDSubsystem
{
public:
// Constants for some useful angles
static const double COLLECT = 105;
static const double LOW_GOAL = 90;
static const double SHOOT = 45;
static const double SHOOT_NEAR = 30;
private:
// Subsystem devices
DigitalInput* upperLimitSwitch;
DigitalInput* lowerLimitSwitch;
Potentiometer* pot;
SpeedController* motor;
public:
Pivot();
/**
* No default command, if PID is enabled, the current setpoint will be maintained.
*/
void InitDefaultCommand() {}
/**
* @return The angle read in by the potentiometer
*/
double ReturnPIDInput();
/**
* Set the motor speed based off of the PID output
*/
void UsePIDOutput(double output);
/**
* @return If the pivot is at its upper limit.
*/
bool IsAtUpperLimit();
/**
* @return If the pivot is at its lower limit.
*/
bool IsAtLowerLimit();
/**
* @return The current angle of the pivot.
*/
double GetAngle();
};
#endif