Library for LIS2DH12 acc.

Dependents:   acnSensa_LIS aconnoCellularGnss Lizzy

Revision:
0:cc5d477d5dbe
Child:
2:1fa08c7a2a3c
--- /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