2
0
mirror of https://github.com/team2059/Dent synced 2025-01-07 22:14:14 -05:00
dent/Subsystems/Drivetrain.h

59 lines
1.4 KiB
C
Raw Permalink Normal View History

2015-01-16 19:29:55 -05:00
#ifndef DRIVETRAIN_H
#define DRIVETRAIN_H
#include "WPILib.h"
2015-03-09 09:48:18 -04:00
/**
* @brief Drives the robot
2015-07-31 12:52:15 -04:00
*
2015-03-09 09:48:18 -04:00
* 4 wheel mecanum drive
*/
2015-07-31 12:52:15 -04:00
class Drivetrain: public Subsystem {
private:
CANTalon *rightFront, //<! Front right motor
*leftFront, //<! Front left motor
*rightRear, //<! Back right motor
*leftRear; //<! Back left motor
Gyro *gyro; //<! Gyro
public:
/**
* @brief Constructs Drivetrain
*/
Drivetrain();
/**
* @brief Current motor to test
*/
enum e_motors {
FRONTRIGHT, //<! Front right motor
FRONTLEFT, //<! Front left motor
BACKRIGHT, //<! Back right motor
BACKLEFT //<! Back left motor
};
/**
* @brief No action
*/
void InitDefaultCommand();
/**
* @brief Drives the robot with mecanum
*
* @param x Joystick x value (-1.0 to 1.0)
* @param y Joystick y value (-1.0 to 1.0)
* @param z Joystick z value (-1.0 to 1.0)
* @param sensitivity Sensitivity (0.0 to 1.0)
* @param driveStraight Overrides z value to correct for motor lag (default: false)
*/
void DriveMecanum(double x, double y, double z, double sensitivity, bool driveStraight = false);
/**
* @brief Tests one motor
*
* @param motor Motor to test
* @param power Power to set motor
*/
void TestMotor(e_motors motor, double power);
/**
* @brief Sets the gyro value to 0.0
*/
void ResetGyro();
2015-01-16 19:29:55 -05:00
};
#endif
2015-02-08 12:26:15 -05:00
// vim: ts=2:sw=2:et