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.
Fork of BMI160 by
Revision 13:5d132f873b07, committed 2016-12-20
- Comitter:
- j3
- Date:
- Tue Dec 20 19:02:36 2016 +0000
- Parent:
- 12:64931a80340d
- Child:
- 14:646eb94fa2eb
- Commit message:
- working on docs
Changed in this revision
| bmi160.h | Show annotated file Show diff for this revision Revisions of this file |
--- a/bmi160.h Tue Dec 20 18:38:42 2016 +0000
+++ b/bmi160.h Tue Dec 20 19:02:36 2016 +0000
@@ -56,7 +56,7 @@
///Return value on success.
static const uint8_t RTN_NO_ERROR = 0;
- ///BMI160 Sensors
+ ///Sensor types
enum Sensors
{
MAG = 0, ///<Optional external sensor
@@ -87,6 +87,7 @@
AxisData zAxis; ///<Sensor Z axis data
};
+
///BMI160 registers
enum Registers
{
@@ -201,15 +202,17 @@
};
- ///@name ERR_REG(0x02) Group
- ///Bit masks, positions, and enumerations
+ ///@name ERR_REG(0x02)
+ ///Error register data
///@{
+
static const uint8_t FATAL_ERR = 0x01;
static const uint8_t ERR_CODE = 0x1E;
static const uint8_t I2C_FAIL_ERR = 0x20;
static const uint8_t DROP_CMD_ERR = 0x40;
static const uint8_t MAG_DRDY_ERR = 0x80;
+ ///Enumerated error codes
enum ErrorCodes
{
NO_ERROR = 0, ///<No Error
@@ -224,16 +227,18 @@
///@}
- ///@name ACC_CONF(0x40) and ACC_RANGE(0x41) Group
- ///Bit masks, positions, and enumerations
+ ///@name ACC_CONF(0x40) and ACC_RANGE(0x41)
+ ///Data for configuring accelerometer
///@{
- static const uint8_t ACC_ODR = 0x0F;
- static const uint8_t ACC_ODR_POS = 0;
- static const uint8_t ACC_BWP = 0x70;
+
+ static const uint8_t ACC_ODR_MASK = 0x0F;
+ static const uint8_t ACC_ODR_POS = 0x00;
+ static const uint8_t ACC_BWP_MASK = 0x70;
static const uint8_t ACC_BWP_POS = 0x04;
- static const uint8_t ACC_US = 0x80;
+ static const uint8_t ACC_US_MASK = 0x80;
static const uint8_t ACC_US_POS = 0x07;
+ ///Accelerometer output data rates
enum AccOutPutDataRate
{
ACC_ODR_1 = 1, ///< 25/32Hz
@@ -250,6 +255,7 @@
ACC_ODR_12 ///< 1600Hz
};
+ ///Accelerometer bandwidth parameters
enum AccBandWidthParam
{
ACC_BWP_0 = 0, ///< Average 1 cycle
@@ -262,12 +268,14 @@
ACC_BWP_7 ///< Average 128 cycles
};
+ ///Accelerometer undersampling
enum AccUnderSampling
{
ACC_US_OFF = 0,
ACC_US_ON
};
+ ///Accelerometer ranges
enum AccRange
{
SENS_2G = 0, ///<Accelerometer range +-2G
@@ -276,6 +284,7 @@
SENS_16G, ///<Accelerometer range +-16G
};
+ ///Accelerometer configuration data structure
struct AccConfig
{
AccRange range;
@@ -284,10 +293,12 @@
AccOutPutDataRate odr;
};
+ ///Accelerometer default configuration
static const AccConfig DEFAULT_ACC_CONFIG;
///@}
+ ///Enumerated power modes
enum PowerModes
{
SUSPEND = 0, ///<Acc and Gyro, No sampling, No FIFO data readout
@@ -297,6 +308,7 @@
};
+ ///Enumerated commands used with CMD register
enum Commands
{
START_FOC = 0x03, ///<Starts Fast Offset Calibrartion
