IMU Interface library to use MecanumController library
imu_interface.hpp@0:981e748c841a, 2021-08-23 (annotated)
- Committer:
- sgrsn
- Date:
- Mon Aug 23 17:01:48 2021 +0000
- Revision:
- 0:981e748c841a
one
Who changed what in which revision?
User | Revision | Line number | New 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 |