Library for LIS2DH12 acc.

Dependents:   acnSensa_LIS aconnoCellularGnss Lizzy

Revision:
5:15d1c73137e8
Parent:
4:043396f22548
Child:
6:b7e3a0c1210b
--- a/Lis2dh12.cpp	Wed Feb 28 19:59:37 2018 +0000
+++ b/Lis2dh12.cpp	Fri Mar 09 16:55:02 2018 +0000
@@ -79,8 +79,13 @@
     
     //i2c.readFromReg((char)OUT_X_H, &tempData, 1);
     //rawData = (int8_t)tempData << 8;
-    i2c.readFromReg((char)OUT_X_H, &tempData, 1);
-    rawData = (int8_t)tempData;
+    i2c.readFromReg((char)OUT_X_L, &rawData, 2);
+    
+    if (rawData >= 0)
+        rawData = (rawData>>4);
+    else
+        rawData = (rawData>>4) | 0xF000;
+        
     return rawData;
 }
 
@@ -89,8 +94,13 @@
     char tempData;
     //i2c.readFromReg((char)OUT_Y_H, &tempData, 1);
     //rawData = (int8_t)tempData << 8;
-    i2c.readFromReg((char)OUT_Y_H, &tempData, 1);
-    rawData = (int8_t)tempData;
+    i2c.readFromReg((char)OUT_Y_L, &rawData, 2);
+    
+    if (rawData >= 0)
+        rawData = (rawData>>4);
+    else
+        rawData = (rawData>>4) | 0xF000;
+        
     return rawData;
 }
 
@@ -99,8 +109,13 @@
     char tempData;
     //i2c.readFromReg((char)OUT_Z_H, &tempData, 1);
     //rawData = (int8_t)tempData << 8;
-    i2c.readFromReg((char)OUT_Z_H, &tempData, 1);
-    rawData = (int8_t)tempData;
+    i2c.readFromReg((char)OUT_Z_L, &rawData, 2);
+    
+    if (rawData >= 0)
+        rawData = (rawData>>4);
+    else
+        rawData = (rawData>>4) | 0xF000;
+        
     return rawData;
 }