2
0
mirror of https://github.com/team2059/Dent synced 2024-12-18 20:52:29 -05:00
dent/Commands/Autonomous/AutoDrive.h

56 lines
1.4 KiB
C
Raw Normal View History

2015-02-06 13:45:01 -05:00
#ifndef AUTODRIVE_H
#define AUTODRIVE_H
#include "Commands/Command.h"
#include "../../DentRobot.h"
2015-02-06 13:45:01 -05:00
#include "../../DentRobot.h"
#include "WPILib.h"
2015-03-01 17:19:00 -05:00
/**
* @brief Drives the robot without a joystick
*
* Drives the robot given a timeout and joystick values
*/
2015-02-06 13:45:01 -05:00
class AutoDrive: public Command{
2015-02-13 21:41:38 -05:00
private:
2015-03-02 08:28:03 -05:00
double x, //<! The x value of the simulated joystick value
2015-03-17 16:33:25 -04:00
y, //<! The y value of the simulated joystick value
z; //<! The z value of the simulated joystick value
bool gyro;
2015-02-06 13:45:01 -05:00
public:
2015-03-01 17:19:00 -05:00
/**
* @brief Constructs AutoDrive
*
2015-03-09 09:48:18 -04:00
* @param duration Timeout in seconds
* @param xtmp Joystick x value (default: 0.0)
* @param ytmp Joystick y value (default: 0.75)
2015-03-17 16:33:25 -04:00
* @param ztmp Joystick z value (default: 0.0)
* @param useGyro Use the gyro when driving
2015-03-01 17:19:00 -05:00
*/
2015-03-17 16:33:25 -04:00
AutoDrive(double duration, double xtmp = 0.0, double ytmp = -0.75, double ztmp = 0.0, bool useGyro = true);
2015-03-01 17:19:00 -05:00
/**
* @brief Initializes the class
*/
2015-02-06 13:45:01 -05:00
void Initialize();
2015-03-01 17:19:00 -05:00
/**
* @brief Drives the robot
*/
2015-02-06 13:45:01 -05:00
void Execute();
2015-03-01 17:19:00 -05:00
/**
* @brief Checks if the command is finished
*
* @return True only if the timeout was reached
*/
2015-02-06 13:45:01 -05:00
bool IsFinished();
2015-03-01 17:19:00 -05:00
/**
* @brief Sets the drivetrain to stop
*/
2015-02-06 13:45:01 -05:00
void End();
2015-03-01 17:19:00 -05:00
/**
* @brief Calls End()
*/
2015-02-06 13:45:01 -05:00
void Interrupted();
};
#endif
2015-02-08 12:26:15 -05:00
// vim: ts=2:sw=2:et