ESPHome 2025.5.0
Loading...
Searching...
No Matches
esphome::bmi160 Namespace Reference

Data Structures

class  BMI160Component
 

Enumerations

enum class  Cmd : uint8_t {
  START_FOC = 0x03 , ACCL_SET_PMU_MODE = 0b00010000 , GYRO_SET_PMU_MODE = 0b00010100 , MAG_SET_PMU_MODE = 0b00011000 ,
  PROG_NVM = 0xA0 , FIFO_FLUSH = 0xB0 , INT_RESET = 0xB1 , SOFT_RESET = 0xB6 ,
  STEP_CNT_CLR = 0xB2
}
 
enum class  GyroPmuMode : uint8_t { SUSPEND = 0b00 , NORMAL = 0b01 , LOW_POWER = 0b10 }
 
enum class  AcclPmuMode : uint8_t { SUSPEND = 0b00 , NORMAL = 0b01 , FAST_STARTUP = 0b11 }
 
enum class  MagPmuMode : uint8_t { SUSPEND = 0b00 , NORMAL = 0b01 , LOW_POWER = 0b10 }
 
enum class  AcclFilterMode : uint8_t { POWER_SAVING = 0b00000000 , PERF = 0b10000000 }
 
enum class  AcclBandwidth : uint8_t {
  OSR4_AVG1 = 0b00000000 , OSR2_AVG2 = 0b00010000 , NORMAL_AVG4 = 0b00100000 , RES_AVG8 = 0b00110000 ,
  RES_AVG16 = 0b01000000 , RES_AVG32 = 0b01010000 , RES_AVG64 = 0b01100000 , RES_AVG128 = 0b01110000
}
 
enum class  AccelOutputDataRate : uint8_t {
  HZ_25_32 = 0b0001 , HZ_25_16 = 0b0010 , HZ_25_8 = 0b0011 , HZ_25_4 = 0b0100 ,
  HZ_25_2 = 0b0101 , HZ_25 = 0b0110 , HZ_50 = 0b0111 , HZ_100 = 0b1000 ,
  HZ_200 = 0b1001 , HZ_400 = 0b1010 , HZ_800 = 0b1011 , HZ_1600 = 0b1100
}
 
enum class  AccelRange : uint8_t { RANGE_2G = 0b0011 , RANGE_4G = 0b0101 , RANGE_8G = 0b1000 , RANGE_16G = 0b1100 }
 
enum class  GyroBandwidth : uint8_t { OSR4 = 0x00 , OSR2 = 0x10 , NORMAL = 0x20 }
 
enum class  GyroOuputDataRate : uint8_t {
  HZ_25 = 0x06 , HZ_50 = 0x07 , HZ_100 = 0x08 , HZ_200 = 0x09 ,
  HZ_400 = 0x0A , HZ_800 = 0x0B , HZ_1600 = 0x0C , HZ_3200 = 0x0D
}
 
enum class  GyroRange : uint8_t {
  RANGE_2000_DPS = 0x0 , RANGE_1000_DPS = 0x1 , RANGE_500_DPS = 0x2 , RANGE_250_DPS = 0x3 ,
  RANGE_125_DPS = 0x4
}
 

Variables

const uint8_t BMI160_REGISTER_CHIPID = 0x00
 
const uint8_t BMI160_REGISTER_CMD = 0x7E
 
const uint8_t BMI160_REGISTER_ACCEL_CONFIG = 0x40
 
const uint8_t BMI160_REGISTER_ACCEL_RANGE = 0x41
 
const uint8_t BMI160_REGISTER_GYRO_CONFIG = 0x42
 
const uint8_t BMI160_REGISTER_GYRO_RANGE = 0x43
 
const uint8_t BMI160_REGISTER_DATA_GYRO_X_LSB = 0x0C
 
const uint8_t BMI160_REGISTER_DATA_GYRO_X_MSB = 0x0D
 
const uint8_t BMI160_REGISTER_DATA_GYRO_Y_LSB = 0x0E
 
const uint8_t BMI160_REGISTER_DATA_GYRO_Y_MSB = 0x0F
 
const uint8_t BMI160_REGISTER_DATA_GYRO_Z_LSB = 0x10
 
const uint8_t BMI160_REGISTER_DATA_GYRO_Z_MSB = 0x11
 
const uint8_t BMI160_REGISTER_DATA_ACCEL_X_LSB = 0x12
 
const uint8_t BMI160_REGISTER_DATA_ACCEL_X_MSB = 0x13
 
const uint8_t BMI160_REGISTER_DATA_ACCEL_Y_LSB = 0x14
 
const uint8_t BMI160_REGISTER_DATA_ACCEL_Y_MSB = 0x15
 
const uint8_t BMI160_REGISTER_DATA_ACCEL_Z_LSB = 0x16
 
const uint8_t BMI160_REGISTER_DATA_ACCEL_Z_MSB = 0x17
 
const uint8_t BMI160_REGISTER_DATA_TEMP_LSB = 0x20
 
const uint8_t BMI160_REGISTER_DATA_TEMP_MSB = 0x21
 
const float GRAVITY_EARTH = 9.80665f
 

Enumeration Type Documentation

◆ AccelOutputDataRate

enum class esphome::bmi160::AccelOutputDataRate : uint8_t
strong
Enumerator
HZ_25_32 
HZ_25_16 
HZ_25_8 
HZ_25_4 
HZ_25_2 
HZ_25 
HZ_50 
HZ_100 
HZ_200 
HZ_400 
HZ_800 
HZ_1600 

Definition at line 55 of file bmi160.cpp.

◆ AccelRange

enum class esphome::bmi160::AccelRange : uint8_t
strong
Enumerator
RANGE_2G 
RANGE_4G 
RANGE_8G 
RANGE_16G 

Definition at line 70 of file bmi160.cpp.

◆ AcclBandwidth

enum class esphome::bmi160::AcclBandwidth : uint8_t
strong
Enumerator
OSR4_AVG1 
OSR2_AVG2 
NORMAL_AVG4 
RES_AVG8 
RES_AVG16 
RES_AVG32 
RES_AVG64 
RES_AVG128 

Definition at line 45 of file bmi160.cpp.

◆ AcclFilterMode

enum class esphome::bmi160::AcclFilterMode : uint8_t
strong
Enumerator
POWER_SAVING 
PERF 

Definition at line 41 of file bmi160.cpp.

◆ AcclPmuMode

enum class esphome::bmi160::AcclPmuMode : uint8_t
strong
Enumerator
SUSPEND 
NORMAL 
FAST_STARTUP 

Definition at line 29 of file bmi160.cpp.

◆ Cmd

enum class esphome::bmi160::Cmd : uint8_t
strong
Enumerator
START_FOC 
ACCL_SET_PMU_MODE 
GYRO_SET_PMU_MODE 
MAG_SET_PMU_MODE 
PROG_NVM 
FIFO_FLUSH 
INT_RESET 
SOFT_RESET 
STEP_CNT_CLR 

Definition at line 13 of file bmi160.cpp.

◆ GyroBandwidth

enum class esphome::bmi160::GyroBandwidth : uint8_t
strong
Enumerator
OSR4 
OSR2 
NORMAL 

Definition at line 78 of file bmi160.cpp.

◆ GyroOuputDataRate

enum class esphome::bmi160::GyroOuputDataRate : uint8_t
strong
Enumerator
HZ_25 
HZ_50 
HZ_100 
HZ_200 
HZ_400 
HZ_800 
HZ_1600 
HZ_3200 

Definition at line 83 of file bmi160.cpp.

◆ GyroPmuMode

enum class esphome::bmi160::GyroPmuMode : uint8_t
strong
Enumerator
SUSPEND 
NORMAL 
LOW_POWER 

Definition at line 24 of file bmi160.cpp.

◆ GyroRange

enum class esphome::bmi160::GyroRange : uint8_t
strong
Enumerator
RANGE_2000_DPS 
RANGE_1000_DPS 
RANGE_500_DPS 
RANGE_250_DPS 
RANGE_125_DPS 

Definition at line 94 of file bmi160.cpp.

◆ MagPmuMode

enum class esphome::bmi160::MagPmuMode : uint8_t
strong
Enumerator
SUSPEND 
NORMAL 
LOW_POWER 

Definition at line 34 of file bmi160.cpp.

Variable Documentation

◆ BMI160_REGISTER_ACCEL_CONFIG

const uint8_t esphome::bmi160::BMI160_REGISTER_ACCEL_CONFIG = 0x40

Definition at line 40 of file bmi160.cpp.

◆ BMI160_REGISTER_ACCEL_RANGE

const uint8_t esphome::bmi160::BMI160_REGISTER_ACCEL_RANGE = 0x41

Definition at line 69 of file bmi160.cpp.

◆ BMI160_REGISTER_CHIPID

const uint8_t esphome::bmi160::BMI160_REGISTER_CHIPID = 0x00

Definition at line 10 of file bmi160.cpp.

◆ BMI160_REGISTER_CMD

const uint8_t esphome::bmi160::BMI160_REGISTER_CMD = 0x7E

Definition at line 12 of file bmi160.cpp.

◆ BMI160_REGISTER_DATA_ACCEL_X_LSB

const uint8_t esphome::bmi160::BMI160_REGISTER_DATA_ACCEL_X_LSB = 0x12

Definition at line 108 of file bmi160.cpp.

◆ BMI160_REGISTER_DATA_ACCEL_X_MSB

const uint8_t esphome::bmi160::BMI160_REGISTER_DATA_ACCEL_X_MSB = 0x13

Definition at line 109 of file bmi160.cpp.

◆ BMI160_REGISTER_DATA_ACCEL_Y_LSB

const uint8_t esphome::bmi160::BMI160_REGISTER_DATA_ACCEL_Y_LSB = 0x14

Definition at line 110 of file bmi160.cpp.

◆ BMI160_REGISTER_DATA_ACCEL_Y_MSB

const uint8_t esphome::bmi160::BMI160_REGISTER_DATA_ACCEL_Y_MSB = 0x15

Definition at line 111 of file bmi160.cpp.

◆ BMI160_REGISTER_DATA_ACCEL_Z_LSB

const uint8_t esphome::bmi160::BMI160_REGISTER_DATA_ACCEL_Z_LSB = 0x16

Definition at line 112 of file bmi160.cpp.

◆ BMI160_REGISTER_DATA_ACCEL_Z_MSB

const uint8_t esphome::bmi160::BMI160_REGISTER_DATA_ACCEL_Z_MSB = 0x17

Definition at line 113 of file bmi160.cpp.

◆ BMI160_REGISTER_DATA_GYRO_X_LSB

const uint8_t esphome::bmi160::BMI160_REGISTER_DATA_GYRO_X_LSB = 0x0C

Definition at line 102 of file bmi160.cpp.

◆ BMI160_REGISTER_DATA_GYRO_X_MSB

const uint8_t esphome::bmi160::BMI160_REGISTER_DATA_GYRO_X_MSB = 0x0D

Definition at line 103 of file bmi160.cpp.

◆ BMI160_REGISTER_DATA_GYRO_Y_LSB

const uint8_t esphome::bmi160::BMI160_REGISTER_DATA_GYRO_Y_LSB = 0x0E

Definition at line 104 of file bmi160.cpp.

◆ BMI160_REGISTER_DATA_GYRO_Y_MSB

const uint8_t esphome::bmi160::BMI160_REGISTER_DATA_GYRO_Y_MSB = 0x0F

Definition at line 105 of file bmi160.cpp.

◆ BMI160_REGISTER_DATA_GYRO_Z_LSB

const uint8_t esphome::bmi160::BMI160_REGISTER_DATA_GYRO_Z_LSB = 0x10

Definition at line 106 of file bmi160.cpp.

◆ BMI160_REGISTER_DATA_GYRO_Z_MSB

const uint8_t esphome::bmi160::BMI160_REGISTER_DATA_GYRO_Z_MSB = 0x11

Definition at line 107 of file bmi160.cpp.

◆ BMI160_REGISTER_DATA_TEMP_LSB

const uint8_t esphome::bmi160::BMI160_REGISTER_DATA_TEMP_LSB = 0x20

Definition at line 114 of file bmi160.cpp.

◆ BMI160_REGISTER_DATA_TEMP_MSB

const uint8_t esphome::bmi160::BMI160_REGISTER_DATA_TEMP_MSB = 0x21

Definition at line 115 of file bmi160.cpp.

◆ BMI160_REGISTER_GYRO_CONFIG

const uint8_t esphome::bmi160::BMI160_REGISTER_GYRO_CONFIG = 0x42

Definition at line 77 of file bmi160.cpp.

◆ BMI160_REGISTER_GYRO_RANGE

const uint8_t esphome::bmi160::BMI160_REGISTER_GYRO_RANGE = 0x43

Definition at line 93 of file bmi160.cpp.

◆ GRAVITY_EARTH

const float esphome::bmi160::GRAVITY_EARTH = 9.80665f

Definition at line 117 of file bmi160.cpp.