danny hack
Diff: Lis2dh12.h
- Revision:
- 0:cc5d477d5dbe
- Child:
- 2:1fa08c7a2a3c
diff -r 000000000000 -r cc5d477d5dbe Lis2dh12.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Lis2dh12.h Fri Dec 29 17:40:50 2017 +0000 @@ -0,0 +1,68 @@ +/* + * + * LIS2DH12 MEMS digital output motion sensor + * More info @ aconno.de + * Made by Jurica Resetar + * jurica_resetar@yahoo.com + * + */ + +#ifndef LIS2DH12_H +#define LIS2DH12_H + +#include "mbed.h" +#include "aconno_i2c.h" +#include "Lis2dh12_regs.h" + +enum Mode{ + HIGH_RES = 0, + NORMAL, + LOW_POWER, +}; + +enum Axis{ + X_axis = 0x01, + Y_axis = 0x02, + Z_axis = 0x04, +}; + +enum Odr{ + PowerDown = 0x00, + ODR_1Hz = 0x01, + ODR_10Hz = 0x02, + ODR_25Hz = 0x03, + ODR_50Hz = 0x04, + ODR_100Hz = 0x05, + ODR_200Hz = 0x06, + ODR_400Hz = 0x07, + ODR_1620Hz = 0x08, + ODR_Max = 0x09, // HighRes/Normal -> 1.344kHz, LowPower -> 5.376kHz +}; + +enum Scale{ + _2g = 0x00, + _4g = 0x01, + _8g = 0x02, + _16g = 0x03, +}; + +class Lis2dh12{ + public: + Lis2dh12(I2C *i2c_, char address); + uint8_t whoIAm(); + uint8_t setMode(Mode mode); + uint8_t enableAxes(Axis axis); + uint8_t disableAxes(Axis axis); + int16_t readXAxis(); + int16_t readYAxis(); + int16_t readZAxis(); + uint8_t setODR(Odr odr); + uint8_t setScale(Scale scale); + aconno_i2c i2c; + private: + +}; + + +#endif + \ No newline at end of file