TeamSurface / Mbed 2 deprecated ROME_P5_normal

Dependencies:   mbed

Committer:
kueenste
Date:
Fri Apr 20 13:49:49 2018 +0000
Revision:
0:d87b2f1196e7
P5 Fertig

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kueenste 0:d87b2f1196e7 1 /*
kueenste 0:d87b2f1196e7 2 * IMU.h
kueenste 0:d87b2f1196e7 3 * Copyright (c) 2018, ZHAW
kueenste 0:d87b2f1196e7 4 * All rights reserved.
kueenste 0:d87b2f1196e7 5 */
kueenste 0:d87b2f1196e7 6
kueenste 0:d87b2f1196e7 7 #ifndef IMU_H_
kueenste 0:d87b2f1196e7 8 #define IMU_H_
kueenste 0:d87b2f1196e7 9
kueenste 0:d87b2f1196e7 10 #include <cstdlib>
kueenste 0:d87b2f1196e7 11 #include <mbed.h>
kueenste 0:d87b2f1196e7 12
kueenste 0:d87b2f1196e7 13 /**
kueenste 0:d87b2f1196e7 14 * This is a device driver class for the ST LSM9DS0 inertial measurement unit.
kueenste 0:d87b2f1196e7 15 */
kueenste 0:d87b2f1196e7 16 class IMU {
kueenste 0:d87b2f1196e7 17
kueenste 0:d87b2f1196e7 18 public:
kueenste 0:d87b2f1196e7 19
kueenste 0:d87b2f1196e7 20 IMU(SPI& spi, DigitalOut& csG, DigitalOut& csXM);
kueenste 0:d87b2f1196e7 21 virtual ~IMU();
kueenste 0:d87b2f1196e7 22 float readGyroX();
kueenste 0:d87b2f1196e7 23 float readGyroY();
kueenste 0:d87b2f1196e7 24 float readGyroZ();
kueenste 0:d87b2f1196e7 25 float readAccelerationX();
kueenste 0:d87b2f1196e7 26 float readAccelerationY();
kueenste 0:d87b2f1196e7 27 float readAccelerationZ();
kueenste 0:d87b2f1196e7 28 float readMagnetometerX();
kueenste 0:d87b2f1196e7 29 float readMagnetometerY();
kueenste 0:d87b2f1196e7 30 float readMagnetometerZ();
kueenste 0:d87b2f1196e7 31 float readHeading();
kueenste 0:d87b2f1196e7 32
kueenste 0:d87b2f1196e7 33 private:
kueenste 0:d87b2f1196e7 34
kueenste 0:d87b2f1196e7 35 static const char WHO_AM_I_G = 0x0F;
kueenste 0:d87b2f1196e7 36 static const char CTRL_REG1_G = 0x20;
kueenste 0:d87b2f1196e7 37 static const char OUT_X_L_G = 0x28;
kueenste 0:d87b2f1196e7 38 static const char OUT_X_H_G = 0x29;
kueenste 0:d87b2f1196e7 39 static const char OUT_Y_L_G = 0x2A;
kueenste 0:d87b2f1196e7 40 static const char OUT_Y_H_G = 0x2B;
kueenste 0:d87b2f1196e7 41 static const char OUT_Z_L_G = 0x2C;
kueenste 0:d87b2f1196e7 42 static const char OUT_Z_H_G = 0x2D;
kueenste 0:d87b2f1196e7 43
kueenste 0:d87b2f1196e7 44 static const char WHO_AM_I_XM = 0x0F;
kueenste 0:d87b2f1196e7 45
kueenste 0:d87b2f1196e7 46 static const char INT_CTRL_REG_M = 0x12;
kueenste 0:d87b2f1196e7 47 static const char CTRL_REG0_XM = 0x1F;
kueenste 0:d87b2f1196e7 48 static const char CTRL_REG1_XM = 0x20;
kueenste 0:d87b2f1196e7 49 static const char CTRL_REG2_XM = 0x21;
kueenste 0:d87b2f1196e7 50 static const char CTRL_REG3_XM = 0x22;
kueenste 0:d87b2f1196e7 51 static const char CTRL_REG4_XM = 0x23;
kueenste 0:d87b2f1196e7 52 static const char CTRL_REG5_XM = 0x24;
kueenste 0:d87b2f1196e7 53 static const char CTRL_REG6_XM = 0x25;
kueenste 0:d87b2f1196e7 54 static const char CTRL_REG7_XM = 0x26;
kueenste 0:d87b2f1196e7 55
kueenste 0:d87b2f1196e7 56 static const char OUT_X_L_A = 0x28;
kueenste 0:d87b2f1196e7 57 static const char OUT_X_H_A = 0x29;
kueenste 0:d87b2f1196e7 58 static const char OUT_Y_L_A = 0x2A;
kueenste 0:d87b2f1196e7 59 static const char OUT_Y_H_A = 0x2B;
kueenste 0:d87b2f1196e7 60 static const char OUT_Z_L_A = 0x2C;
kueenste 0:d87b2f1196e7 61 static const char OUT_Z_H_A = 0x2D;
kueenste 0:d87b2f1196e7 62
kueenste 0:d87b2f1196e7 63 static const float PI;
kueenste 0:d87b2f1196e7 64
kueenste 0:d87b2f1196e7 65 SPI& spi;
kueenste 0:d87b2f1196e7 66 DigitalOut& csG;
kueenste 0:d87b2f1196e7 67 DigitalOut& csXM;
kueenste 0:d87b2f1196e7 68
kueenste 0:d87b2f1196e7 69 void writeRegister(DigitalOut& cs, char address, char value);
kueenste 0:d87b2f1196e7 70 char readRegister(DigitalOut& cs, char address);
kueenste 0:d87b2f1196e7 71 };
kueenste 0:d87b2f1196e7 72
kueenste 0:d87b2f1196e7 73 #endif /* IMU_H_ */
kueenste 0:d87b2f1196e7 74