Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
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.h
- Revision:
- 5:35e032c8d8aa
- Parent:
- 4:ebac8c8f6347
- Child:
- 7:9848196cb65e
diff -r ebac8c8f6347 -r 35e032c8d8aa bmi160.h
--- a/bmi160.h Fri Dec 09 00:45:10 2016 +0000
+++ b/bmi160.h Wed Dec 14 23:48:07 2016 +0000
@@ -56,6 +56,14 @@
///Return value on success.
static const uint8_t RTN_NO_ERROR = 0;
+ ///BMI160 Sensors
+ enum Sensors
+ {
+ MAG = 0, ///<Optional external sensor
+ GYRO, ///<Angular rate sensor
+ ACC ///<g sensor
+ };
+
///BMI160 registers
enum Registers
{
@@ -193,6 +201,7 @@
PFD_USED_LPM ///<Pre-filtered data are used in low power mode
};
+ ///BMI160 Power Modes
enum PowerModes
{
SUSPEND = 0, ///<Acc and Gyro, No sampling, No FIFO data readout
@@ -201,6 +210,21 @@
FAST_START_UP ///<Gyro start up delay time to normal mode <= 10 ms
};
+ ///BMI160 Commands for CMD register
+ enum Commands
+ {
+ START_FOC = 0x03, ///<Starts Fast Offset Calibrartion
+ ACC_SET_PMU_MODE = 0x14, ///<Sets acc power mode
+ GYR_SET_PMU_MODE, ///<Sets gyro power mode
+ MAG_SET_PMU_MODE, ///<Sets mag power mode
+ PROG_NVM = 0xA0, ///<Writes NVM backed registers into NVM
+ FIFO_FLUSH = 0xB0, ///<Clears FIFO
+ INT_RESET, ///<Clears interrupt engine, INT_STATUS, and
+ ///<the interrupt pin
+ STEP_CNT_CLR, ///<Triggers reset of the step counter
+ SOFT_RESET = 0xB6 ///<Triggers a reset including a reboot.
+ };
+
///@brief BMI160 Destructor.\n
///
@@ -274,6 +298,20 @@
const uint8_t *data) = 0;
+ ///@brief Sets sensors power mode through CMD register.\n
+ ///@details Observe command execution times given in datasheet.\n
+ ///
+ ///On Entry:
+ ///@param[in] sensor - Sensor which power mode we are setting
+ ///@param[in] pwrMode - Desired powermode of the sensor
+ ///
+ ///On Exit:
+ ///@param[out]
+ ///
+ ///@returns 0 on success, non 0 on failure
+ int32_t setSensorPowerMode(Sensors sensor, PowerModes pwrMode);
+
+
///@brief Get die temperature.\n
///
///On Entry:
@@ -295,8 +333,6 @@
///@param[out] none
///
///@returns none
-
-private:
};