Rename Gyro to AnalogGyro and make Gyro an interface.

Refactor common implementation parts of AnalogGyro into GyroBase.

This will make it possible to add digital gyros in a similar way to how
digital accelerometers were added.

Change-Id: I437ef259e9ecb81f18a91a95c5a58b6607db5e15
This commit is contained in:
Peter Johnson
2015-11-06 12:05:40 -08:00
parent e2a4556669
commit c20d34c2b6
22 changed files with 391 additions and 210 deletions

View File

@@ -4,7 +4,7 @@
DriveTrain::DriveTrain()
: Subsystem("DriveTrain"), left_encoder(new Encoder(1, 2)),
right_encoder(new Encoder(3, 4)), rangefinder(new AnalogInput(6)),
gyro(new Gyro(1)) {
gyro(new AnalogGyro(1)) {
drive = new RobotDrive(new Talon(1), new Talon(2),
new Talon(3), new Talon(4));

View File

@@ -13,7 +13,7 @@ private:
RobotDrive* drive;
std::shared_ptr<Encoder> left_encoder, right_encoder;
std::shared_ptr<AnalogInput> rangefinder;
std::shared_ptr<Gyro> gyro;
std::shared_ptr<AnalogGyro> gyro;
public:
DriveTrain();

View File

@@ -27,7 +27,7 @@ class Robot: public SampleRobot {
const double voltsPerDegreePerSecond = .0128;
RobotDrive myRobot;
Gyro gyro;
AnalogGyro gyro;
Joystick joystick;
public:

View File

@@ -11,7 +11,7 @@
class Robot: public SampleRobot {
Joystick joystick;
RobotDrive myRobot;
Gyro gyro;
AnalogGyro gyro;
//channels for motors
const int leftMotorChannel = 1;

View File

@@ -13,7 +13,7 @@ DriveTrain::DriveTrain()
drive(frontRightCIM, backLeftCIM, frontRightCIM, backRightCIM),
rightEncoder(new Encoder(1, 2, true, Encoder::k4X)),
leftEncoder(new Encoder(3, 4, false, Encoder::k4X)),
gyro(new Gyro(0)) {
gyro(new AnalogGyro(0)) {
// XXX: LiveWindow::GetInstance()->AddActuator("DriveTrain", "Front Left CIM", (Victor) frontLeftCIM);
// XXX: LiveWindow::GetInstance()->AddActuator("DriveTrain", "Front Right CIM", (Victor) frontRightCIM);
// XXX: LiveWindow::GetInstance()->AddActuator("DriveTrain", "Back Left CIM", (Victor) backLeftCIM);

View File

@@ -16,7 +16,7 @@ private:
std::shared_ptr<SpeedController> backLeftCIM, backRightCIM;
RobotDrive drive;
std::shared_ptr<Encoder> rightEncoder, leftEncoder;
std::shared_ptr<Gyro> gyro;
std::shared_ptr<AnalogGyro> gyro;
public:
DriveTrain();