12 #include <hal/Types.h>
14 #include "frc/GyroBase.h"
35 static constexpr
int kOversampleBits = 10;
36 static constexpr
int kAverageBits = 0;
37 static constexpr
double kSamplesPerSecond = 50.0;
38 static constexpr
double kCalibrationSampleTime = 5.0;
39 static constexpr
double kDefaultVoltsPerDegreePerSecond = 0.007;
73 explicit AnalogGyro(std::shared_ptr<AnalogInput> channel);
85 AnalogGyro(
int channel,
int center,
double offset);
101 AnalogGyro(std::shared_ptr<AnalogInput> channel,
int center,
double offset);
126 double GetRate()
const override;
173 void Reset()
override;
185 std::shared_ptr<AnalogInput> m_analog;
188 HAL_GyroHandle m_gyroHandle = HAL_kInvalidHandle;
void SetSensitivity(double voltsPerDegreePerSecond)
Set the gyro sensitivity.
WPILib FRC namespace.
Definition: SPIAccelerometerSim.h:18
virtual int GetCenter() const
Return the gyro center value.
AnalogGyro(int channel)
Gyro constructor using the Analog Input channel number.
double GetAngle() const override
Return the actual angle in degrees that the robot is currently facing.
void Reset() override
Reset the gyro.
void SetDeadband(double volts)
Set the size of the neutral zone.
Use a rate gyro to return the robots heading relative to a starting position.
Definition: AnalogGyro.h:33
double GetRate() const override
Return the rate of rotation of the gyro.
GyroBase is the common base class for Gyro implementations such as AnalogGyro.
Definition: GyroBase.h:21
virtual double GetOffset() const
Return the gyro offset value.
void Calibrate() override
Calibrate the gyro by running for a number of samples and computing the center value.
virtual void InitGyro()
Initialize the gyro.