Interface to the BNO055 sensor
BNO055.h@0:b3e019f0ce58, 2019-01-24 (annotated)
- Committer:
- hzelayasolano22
- Date:
- Thu Jan 24 00:24:49 2019 +0000
- Revision:
- 0:b3e019f0ce58
Library for BNO055 complete!
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
hzelayasolano22 | 0:b3e019f0ce58 | 1 | /* Embedded Systems Final Project: 9-Axis Absolute Orientation imu (BNO055) ndof.h |
hzelayasolano22 | 0:b3e019f0ce58 | 2 | */ |
hzelayasolano22 | 0:b3e019f0ce58 | 3 | |
hzelayasolano22 | 0:b3e019f0ce58 | 4 | #ifndef BNO055_H |
hzelayasolano22 | 0:b3e019f0ce58 | 5 | #define BNO055_H |
hzelayasolano22 | 0:b3e019f0ce58 | 6 | |
hzelayasolano22 | 0:b3e019f0ce58 | 7 | #include "mbed.h" |
hzelayasolano22 | 0:b3e019f0ce58 | 8 | |
hzelayasolano22 | 0:b3e019f0ce58 | 9 | #define BNO055_MODE_NDOF 0 //used to call the 9 axis orientation of imu |
hzelayasolano22 | 0:b3e019f0ce58 | 10 | |
hzelayasolano22 | 0:b3e019f0ce58 | 11 | #define BNO055_ANGLE_UNITS_DEGREE 0 |
hzelayasolano22 | 0:b3e019f0ce58 | 12 | #define BNO055_ANGLE_UNITS_RADIAN 1 |
hzelayasolano22 | 0:b3e019f0ce58 | 13 | |
hzelayasolano22 | 0:b3e019f0ce58 | 14 | |
hzelayasolano22 | 0:b3e019f0ce58 | 15 | class BNO055 {//class for imu |
hzelayasolano22 | 0:b3e019f0ce58 | 16 | public: |
hzelayasolano22 | 0:b3e019f0ce58 | 17 | BNO055(I2C i2c, int addr);//constructor |
hzelayasolano22 | 0:b3e019f0ce58 | 18 | float readHeading(void);//class methods |
hzelayasolano22 | 0:b3e019f0ce58 | 19 | float readRoll(void); |
hzelayasolano22 | 0:b3e019f0ce58 | 20 | float readPitch(void); |
hzelayasolano22 | 0:b3e019f0ce58 | 21 | char checkID(void); //Check for proper communication with sensor |
hzelayasolano22 | 0:b3e019f0ce58 | 22 | void setMode(int modeCode); //Set program to NDOF forge mode |
hzelayasolano22 | 0:b3e019f0ce58 | 23 | int setAngleUnits(int unitsCode); //Select Euler Angles as units |
hzelayasolano22 | 0:b3e019f0ce58 | 24 | private: |
hzelayasolano22 | 0:b3e019f0ce58 | 25 | I2C _i2c; |
hzelayasolano22 | 0:b3e019f0ce58 | 26 | int _addr; |
hzelayasolano22 | 0:b3e019f0ce58 | 27 | int _units; |
hzelayasolano22 | 0:b3e019f0ce58 | 28 | }; |
hzelayasolano22 | 0:b3e019f0ce58 | 29 | |
hzelayasolano22 | 0:b3e019f0ce58 | 30 | #endif |