Program Listing for File OdomRotationSensor.cpp
↰ Return to documentation for file (src/LouLib/Odometry/OdomRotationSensor.cpp
)
#include "OdomRotationSensor.hpp"
LouLib::Odometry::OdomRotationSensor::OdomRotationSensor(int port, bool reversed,
const LouLib::Units::Length &wheelDiam) : rotationSensor(port, reversed), wheelDiam(wheelDiam){
gearRatio = 1;
rotationSensor.reset_position();
}
void LouLib::Odometry::OdomRotationSensor::setGearRatio(int wheelSide, int sensorSide) {
gearRatio = (double)wheelSide/(double)sensorSide;
}
LouLib::Units::Length LouLib::Odometry::OdomRotationSensor::getPosition() {
Units::Angle drivingRotation = rotationSensor.get_position() * Units::CENTIDEGREE;
Units::Angle drivenRotation = drivingRotation / gearRatio;
return drivenRotation.to(Units::RADIAN) * (wheelDiam/2.0);
}