52 bool init()
override {
return true; }
106 Eigen::Matrix3f accT = Eigen::Matrix3f::Identity();
107 Eigen::Matrix3f gyroT = Eigen::Matrix3f::Identity();
108 Eigen::Matrix3f magT = Eigen::Matrix3f::Identity();
A software IMU sensor that allows applying transformations to the data after sampling via a callback....
RotatedIMU(SampleIMUFunction sampleFunction)
Construct a new Rotated IMU object.
static Eigen::Matrix3f rotateAroundZ(float angle)
Creates a rotation matrix around the Z axis.
void addGyroTransformation(const Eigen::Matrix3f &t)
Multiplies the current gyroscope transformation.
static Eigen::Matrix3f rotateAroundX(float angle)
Creates a rotation matrix around the X axis.
void resetTransformations()
Resets all the transformations to the original (Identity) ones.
IMUData sampleImpl() override
Read a data sample from the sensor. In case of errors, the method should return the last available co...
bool selfTest() override
Check if the sensor is working.
void addAccTransformation(const Eigen::Matrix3f &t)
Multiplies the current accelerometer transformation.
std::function< IMUData()> SampleIMUFunction
static Eigen::Matrix3f rotateAroundY(float angle)
Creates a rotation matrix around the Y axis.
void addMagTransformation(const Eigen::Matrix3f &t)
Multiplies the current magnetometer transformation.
bool init() override
Initialize the sensor.
Base sensor class with has to be extended by any sensor driver.
This file includes all the types the logdecoder script will decode.