Driver class for MPU9250.
More...
#include <MPU9250.h>
|
enum | GyroFSR : uint8_t { GYRO_FSR_250DPS = 0x0
, GYRO_FSR_500DPS = 0x08
, GYRO_FSR_1000DPS = 0x10
, GYRO_FSR_2000DPS = 0x18
} |
|
enum | AccelFSR : uint8_t { ACCEL_FSR_2G = 0x0
, ACCEL_FSR_4G = 0x08
, ACCEL_FSR_8G = 0x10
, ACCEL_FSR_16G = 0x18
} |
|
enum | I2CMasterInterfaceClock : uint8_t {
I2C_MST_IF_CLK_348 = 0x0
, I2C_MST_IF_CLK_333 = 0x1
, I2C_MST_IF_CLK_320 = 0x2
, I2C_MST_IF_CLK_308 = 0x3
,
I2C_MST_IF_CLK_296 = 0x4
, I2C_MST_IF_CLK_286 = 0x5
, I2C_MST_IF_CLK_276 = 0x6
, I2C_MST_IF_CLK_267 = 0x7
,
I2C_MST_IF_CLK_258 = 0x8
, I2C_MST_IF_CLK_500 = 0x9
, I2C_MST_IF_CLK_471 = 0xA
, I2C_MST_IF_CLK_444 = 0xB
,
I2C_MST_IF_CLK_421 = 0xC
, I2C_MST_IF_CLK_400 = 0xD
, I2C_MST_IF_CLK_381 = 0xE
, I2C_MST_IF_CLK_364 = 0xF
} |
|
enum | MPU9250Registers : uint8_t {
REG_SMPLRT_DIV = 0x19
, REG_CONFIG = 0x1A
, REG_GYRO_CONFIG = 0x1B
, REG_ACCEL_CONFIG = 0x1C
,
REG_FIFO_EN = 0x23
, REG_I2C_MST_CTRL = 0x24
, REG_I2C_SLV0_ADDR = 0x25
, REG_I2C_SLV0_REG = 0x26
,
REG_I2C_SLV0_CTRL = 0x27
, REG_I2C_SLV1_ADDR = 0x28
, REG_I2C_SLV1_REG = 0x29
, REG_I2C_SLV1_CTRL = 0x2A
,
REG_I2C_SLV2_ADDR = 0x2B
, REG_I2C_SLV2_REG = 0x2C
, REG_I2C_SLV2_CTRL = 0x2D
, REG_I2C_SLV3_ADDR = 0x2E
,
REG_I2C_SLV3_REG = 0x2F
, REG_I2C_SLV3_CTRL = 0x30
, REG_I2C_SLV4_ADDR = 0x31
, REG_I2C_SLV4_REG = 0x32
,
REG_I2C_SLV4_DO = 0x33
, REG_I2C_SLV4_CTRL = 0x34
, REG_INT_PIN_CFG = 0x37
, REG_INT_ENABLE = 0x38
,
REG_INT_STATUS = 0x3A
, REG_ACCEL_XOUT_H = 0x3B
, REG_ACCEL_XOUT_L = 0x3C
, REG_ACCEL_YOUT_H = 0x3D
,
REG_ACCEL_YOUT_L = 0x3E
, REG_ACCEL_ZOUT_H = 0x3F
, REG_ACCEL_ZOUT_L = 0x40
, REG_TEMP_OUT_H = 0x41
,
REG_TEMP_OUT_L = 0x42
, REG_GYRO_XOUT_H = 0x43
, REG_GYRO_XOUT_L = 0x44
, REG_GYRO_YOUT_H = 0x45
,
REG_GYRO_YOUT_L = 0x46
, REG_GYRO_ZOUT_H = 0x47
, REG_GYRO_ZOUT_L = 0x48
, REG_EXT_SENS_DATA_00 = 0x49
,
REG_I2C_SLV0_DO = 0x63
, REG_I2C_SLV1_DO = 0x64
, REG_I2C_SLV2_DO = 0x65
, REG_I2C_SLV3_DO = 0x66
,
REG_MST_DELAY_CTRL = 0x67
, REG_USER_CTRL = 0x6A
, REG_PWR_MGMT_1 = 0x6B
, REG_PWR_MGMT_2 = 0x6C
,
REG_WHO_AM_I = 0x75
} |
|
enum | AK8963Registers : uint8_t {
AK8963_REG_WHO_AM_I = 0x0
, AK8963_REG_ST1 = 0x2
, AK8963_REG_HXL = 0x3
, AK8963_REG_HXH = 0x4
,
AK8963_REG_HYL = 0x5
, AK8963_REG_HYH = 0x6
, AK8963_REG_HZL = 0x7
, AK8963_REG_HZH = 0x8
,
AK8963_REG_ST2 = 0x9
, AK8963_REG_CNTL1 = 0xA
, AK8963_REG_CNTL2 = 0xB
, AK8963_REG_ASAX = 0x10
,
AK8963_REG_ASAY = 0x11
, AK8963_REG_ASAZ = 0x12
} |
|
using | DataType |
|
|
MPU9250Data | sampleImpl () override |
| Read a data sample from the sensor. In case of errors, the method should return the last available correct sample.
|
|
Driver class for MPU9250.
Definition at line 37 of file MPU9250.h.
◆ AccelFSR
Enumerator |
---|
ACCEL_FSR_2G | |
ACCEL_FSR_4G | |
ACCEL_FSR_8G | |
ACCEL_FSR_16G | |
Definition at line 48 of file MPU9250.h.
◆ AK8963Registers
Enumerator |
---|
AK8963_REG_WHO_AM_I | |
AK8963_REG_ST1 | |
AK8963_REG_HXL | |
AK8963_REG_HXH | |
AK8963_REG_HYL | |
AK8963_REG_HYH | |
AK8963_REG_HZL | |
AK8963_REG_HZH | |
AK8963_REG_ST2 | |
AK8963_REG_CNTL1 | |
AK8963_REG_CNTL2 | |
AK8963_REG_ASAX | |
AK8963_REG_ASAY | |
AK8963_REG_ASAZ | |
Definition at line 148 of file MPU9250.h.
◆ GyroFSR
Enumerator |
---|
GYRO_FSR_250DPS | |
GYRO_FSR_500DPS | |
GYRO_FSR_1000DPS | |
GYRO_FSR_2000DPS | |
Definition at line 40 of file MPU9250.h.
◆ I2CMasterInterfaceClock
Enumerator |
---|
I2C_MST_IF_CLK_348 | |
I2C_MST_IF_CLK_333 | |
I2C_MST_IF_CLK_320 | |
I2C_MST_IF_CLK_308 | |
I2C_MST_IF_CLK_296 | |
I2C_MST_IF_CLK_286 | |
I2C_MST_IF_CLK_276 | |
I2C_MST_IF_CLK_267 | |
I2C_MST_IF_CLK_258 | |
I2C_MST_IF_CLK_500 | |
I2C_MST_IF_CLK_471 | |
I2C_MST_IF_CLK_444 | |
I2C_MST_IF_CLK_421 | |
I2C_MST_IF_CLK_400 | |
I2C_MST_IF_CLK_381 | |
I2C_MST_IF_CLK_364 | |
Definition at line 56 of file MPU9250.h.
◆ MPU9250Registers
Enumerator |
---|
REG_SMPLRT_DIV | |
REG_CONFIG | |
REG_GYRO_CONFIG | |
REG_ACCEL_CONFIG | |
REG_FIFO_EN | |
REG_I2C_MST_CTRL | |
REG_I2C_SLV0_ADDR | |
REG_I2C_SLV0_REG | |
REG_I2C_SLV0_CTRL | |
REG_I2C_SLV1_ADDR | |
REG_I2C_SLV1_REG | |
REG_I2C_SLV1_CTRL | |
REG_I2C_SLV2_ADDR | |
REG_I2C_SLV2_REG | |
REG_I2C_SLV2_CTRL | |
REG_I2C_SLV3_ADDR | |
REG_I2C_SLV3_REG | |
REG_I2C_SLV3_CTRL | |
REG_I2C_SLV4_ADDR | |
REG_I2C_SLV4_REG | |
REG_I2C_SLV4_DO | |
REG_I2C_SLV4_CTRL | |
REG_INT_PIN_CFG | |
REG_INT_ENABLE | |
REG_INT_STATUS | |
REG_ACCEL_XOUT_H | |
REG_ACCEL_XOUT_L | |
REG_ACCEL_YOUT_H | |
REG_ACCEL_YOUT_L | |
REG_ACCEL_ZOUT_H | |
REG_ACCEL_ZOUT_L | |
REG_TEMP_OUT_H | |
REG_TEMP_OUT_L | |
REG_GYRO_XOUT_H | |
REG_GYRO_XOUT_L | |
REG_GYRO_YOUT_H | |
REG_GYRO_YOUT_L | |
REG_GYRO_ZOUT_H | |
REG_GYRO_ZOUT_L | |
REG_EXT_SENS_DATA_00 | |
REG_I2C_SLV0_DO | |
REG_I2C_SLV1_DO | |
REG_I2C_SLV2_DO | |
REG_I2C_SLV3_DO | |
REG_MST_DELAY_CTRL | |
REG_USER_CTRL | |
REG_PWR_MGMT_1 | |
REG_PWR_MGMT_2 | |
REG_WHO_AM_I | |
Definition at line 95 of file MPU9250.h.
◆ MPU9250()
Instantiates the driver.
- Parameters
-
highSpeedSpiClockDivider | Clocl diver for 20MHz SPI communication with the device |
Definition at line 32 of file MPU9250.cpp.
◆ getDefaultSPIConfig()
◆ init()
bool Boardcore::MPU9250::init |
( |
| ) |
|
|
overridevirtual |
◆ sampleImpl()
◆ selfTest()
bool Boardcore::MPU9250::selfTest |
( |
| ) |
|
|
inlineoverridevirtual |
◆ ACCELERATION_FS_MAP
const float Boardcore::MPU9250::ACCELERATION_FS_MAP[4] = {2.0, 4.0, 8.0, 16.0} |
◆ AK8963_ADDR
constexpr uint8_t Boardcore::MPU9250::AK8963_ADDR = 0xC |
|
staticconstexpr |
◆ AK8963_REG_CNTL1_BIT_16_BIT_OUT
constexpr uint8_t Boardcore::MPU9250::AK8963_REG_CNTL1_BIT_16_BIT_OUT = 0xF |
|
staticconstexpr |
◆ AK8963_REG_CNTL1_CONT_MES_MODE_1
constexpr uint8_t Boardcore::MPU9250::AK8963_REG_CNTL1_CONT_MES_MODE_1 = 0x12 |
|
staticconstexpr |
◆ AK8963_REG_CNTL1_CONT_MES_MODE_2
constexpr uint8_t Boardcore::MPU9250::AK8963_REG_CNTL1_CONT_MES_MODE_2 = 0x16 |
|
staticconstexpr |
◆ AK8963_REG_CNTL1_FUSE_ROM_ACCESS_MODE
constexpr uint8_t Boardcore::MPU9250::AK8963_REG_CNTL1_FUSE_ROM_ACCESS_MODE = 0xF |
|
staticconstexpr |
◆ AK8963_REG_CNTL1_POWER_DOWN_MODE
constexpr uint8_t Boardcore::MPU9250::AK8963_REG_CNTL1_POWER_DOWN_MODE = 0x0 |
|
staticconstexpr |
◆ AK8963_REG_CNTL1_SELF_TEST_MODE
constexpr uint8_t Boardcore::MPU9250::AK8963_REG_CNTL1_SELF_TEST_MODE = 0x8 |
|
staticconstexpr |
◆ AK8963_REG_CNTL1_SINGLE_MES_MODE
constexpr uint8_t Boardcore::MPU9250::AK8963_REG_CNTL1_SINGLE_MES_MODE = 0x11 |
|
staticconstexpr |
◆ AK8963_REG_CNTL2_BIT_SRST
constexpr uint8_t Boardcore::MPU9250::AK8963_REG_CNTL2_BIT_SRST = 0x1 |
|
staticconstexpr |
◆ AK8963_REG_WHO_AM_I_VAL
constexpr uint8_t Boardcore::MPU9250::AK8963_REG_WHO_AM_I_VAL = 0x48 |
|
staticconstexpr |
◆ GYROSCOPE_FS_MAP
const float Boardcore::MPU9250::GYROSCOPE_FS_MAP[4] = {250, 500, 1000, 2000} |
◆ REG_CONFIG_DLPF_CFG_1
constexpr uint8_t Boardcore::MPU9250::REG_CONFIG_DLPF_CFG_1 = 0x1 |
|
staticconstexpr |
◆ REG_I2C_SLV_CTRL_EN
constexpr uint8_t Boardcore::MPU9250::REG_I2C_SLV_CTRL_EN = 0x80 |
|
staticconstexpr |
◆ REG_PWR_MGMT_1_BIT_H_RESET
constexpr uint8_t Boardcore::MPU9250::REG_PWR_MGMT_1_BIT_H_RESET = 0x80 |
|
staticconstexpr |
◆ REG_PWR_MGMT_1_CLKSEL_AUTO
constexpr uint8_t Boardcore::MPU9250::REG_PWR_MGMT_1_CLKSEL_AUTO = 0x1 |
|
staticconstexpr |
◆ REG_USER_CTRL_I2C_MST_EN
constexpr uint8_t Boardcore::MPU9250::REG_USER_CTRL_I2C_MST_EN = 0x20 |
|
staticconstexpr |
◆ REG_WHO_AM_I_VAL
constexpr uint8_t Boardcore::MPU9250::REG_WHO_AM_I_VAL = 0x71 |
|
staticconstexpr |
The documentation for this class was generated from the following files: