danny hack
Diff: Lis2dh12.cpp
- 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; }