12 #include <HAL/Types.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;
43 explicit AnalogGyro(std::shared_ptr<AnalogInput> channel);
44 AnalogGyro(
int channel,
int center,
double offset);
45 AnalogGyro(std::shared_ptr<AnalogInput> channel,
int center,
double offset);
49 double GetRate()
const override;
54 void Reset()
override;
59 std::shared_ptr<AnalogInput> m_analog;
62 HAL_GyroHandle m_gyroHandle = HAL_kInvalidHandle;
Definition: RobotController.cpp:14
AnalogGyro(int channel)
Gyro constructor using the Analog Input channel number.
Definition: AnalogGyro.cpp:28
void Calibrate() override
Calibrate the gyro by running for a number of samples and computing the center value.
Definition: AnalogGyro.cpp:170
void SetDeadband(double volts)
Set the size of the neutral zone.
Definition: AnalogGyro.cpp:265
virtual ~AnalogGyro()
AnalogGyro Destructor.
Definition: AnalogGyro.cpp:118
double GetAngle() const override
Return the actual angle in degrees that the robot is currently facing.
Definition: AnalogGyro.cpp:189
virtual double GetOffset() const
Return the gyro offset value.
Definition: AnalogGyro.cpp:218
virtual void InitGyro()
Initialize the gyro.
Definition: AnalogGyro.cpp:137
Use a rate gyro to return the robots heading relative to a starting position.
Definition: AnalogGyro.h:33
virtual int GetCenter() const
Return the gyro center value.
Definition: AnalogGyro.cpp:232
GyroBase is the common base class for Gyro implementations such as AnalogGyro.
Definition: GyroBase.h:20
double GetRate() const override
Return the rate of rotation of the gyro.
Definition: AnalogGyro.cpp:204
void SetSensitivity(double voltsPerDegreePerSecond)
Set the gyro sensitivity.
Definition: AnalogGyro.cpp:249
void Reset() override
Reset the gyro.
Definition: AnalogGyro.cpp:127