First Commit as a new library
Dependents: Host_Software_MAX32664GWEB_HR_wrist Host_Software_MAX32664GWEC_SpO2_HR Host_Software_MAX32664GWEB_HR_EXTENDED Host_Software_MAX32664GWEC_SpO2_HR-_EXTE ... more
Diff: bmi160.cpp
- Revision:
- 8:a89b529b1d96
- Parent:
- 7:9848196cb65e
- Child:
- 9:ca6b5fecdd63
diff -r 9848196cb65e -r a89b529b1d96 bmi160.cpp
--- a/bmi160.cpp Thu Dec 15 23:46:42 2016 +0000
+++ b/bmi160.cpp Tue Dec 20 00:10:04 2016 +0000
@@ -84,3 +84,67 @@
return rtnVal;
}
+
+
+//*****************************************************************************
+int32_t BMI160::getSensorDataAndTime(uint8_t *data)
+{
+ return readBlock(DATA_0, SENSORTIME_2, data);
+}
+
+
+//*****************************************************************************
+int32_t BMI160::getAccAxis(SensorAxis axis, AxisData &data)
+{
+ uint8_t localData[2];
+ int32_t rtnVal;
+
+ switch(axis)
+ {
+ case X_AXIS:
+ rtnVal = readBlock(DATA_14, DATA_15, localData);
+ break;
+
+ case Y_AXIS:
+ rtnVal = readBlock(DATA_16, DATA_17, localData);
+ break;
+
+ case Z_AXIS:
+ rtnVal = readBlock(DATA_18, DATA_19, localData);
+ break;
+
+ default:
+ rtnVal = -1;
+ break;
+ }
+
+ if(rtnVal == RTN_NO_ERROR)
+ {
+ data.raw = ((localData[1] << 8) | localData[0]);
+ data.scaled = (data.raw/16384.0F); //only 2G range right now
+ }
+
+ return rtnVal;
+}
+
+
+//*****************************************************************************
+int32_t BMI160::getAccXYZ(SensorData &data)
+{
+ uint8_t localData[6];
+ int32_t rtnVal = readBlock(DATA_14, DATA_19, localData);
+
+ if(rtnVal == RTN_NO_ERROR)
+ {
+ data.xAxis.raw = ((localData[1] << 8) | localData[0]);
+ data.yAxis.raw = ((localData[3] << 8) | localData[2]);
+ data.zAxis.raw = ((localData[5] << 8) | localData[4]);
+
+ //only 2G range right now
+ data.xAxis.scaled = (data.xAxis.raw/16384.0F);
+ data.yAxis.scaled = (data.yAxis.raw/16384.0F);
+ data.zAxis.scaled = (data.zAxis.raw/16384.0F);
+ }
+
+ return rtnVal;
+}