IMU Interface library to use MecanumController library

Committer:
sgrsn
Date:
Mon Aug 23 17:01:48 2021 +0000
Revision:
0:981e748c841a
one

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sgrsn 0:981e748c841a 1 #ifndef IMU_INTERFACE_HPP
sgrsn 0:981e748c841a 2 #define IMU_INTERFACE_HPP
sgrsn 0:981e748c841a 3
sgrsn 0:981e748c841a 4 #include "PMSU_100.hpp"
sgrsn 0:981e748c841a 5
sgrsn 0:981e748c841a 6 class IMUInterface
sgrsn 0:981e748c841a 7 {
sgrsn 0:981e748c841a 8 public:
sgrsn 0:981e748c841a 9 IMUInterface()
sgrsn 0:981e748c841a 10 {
sgrsn 0:981e748c841a 11 }
sgrsn 0:981e748c841a 12 virtual double GetYawRadians();
sgrsn 0:981e748c841a 13 };
sgrsn 0:981e748c841a 14
sgrsn 0:981e748c841a 15 class PMSUInterface : public IMUInterface
sgrsn 0:981e748c841a 16 {
sgrsn 0:981e748c841a 17 public:
sgrsn 0:981e748c841a 18 PMSUInterface(PinName tx, PinName rx) : IMUInterface(), device_(tx, rx)
sgrsn 0:981e748c841a 19 {
sgrsn 0:981e748c841a 20 }
sgrsn 0:981e748c841a 21 double GetYawRadians()
sgrsn 0:981e748c841a 22 {
sgrsn 0:981e748c841a 23 device_.update();
sgrsn 0:981e748c841a 24 return device_.yaw_rad;
sgrsn 0:981e748c841a 25 }
sgrsn 0:981e748c841a 26
sgrsn 0:981e748c841a 27 private:
sgrsn 0:981e748c841a 28 PMSUSerial device_;
sgrsn 0:981e748c841a 29 };
sgrsn 0:981e748c841a 30
sgrsn 0:981e748c841a 31
sgrsn 0:981e748c841a 32 #endif