ESPHome 2026.2.1
Loading...
Searching...
No Matches
bmi160.h
Go to the documentation of this file.
1#pragma once
2
6
7namespace esphome {
8namespace bmi160 {
9
11 public:
12 void setup() override;
13 void dump_config() override;
14
15 void update() override;
16
17 void set_accel_x_sensor(sensor::Sensor *accel_x_sensor) { accel_x_sensor_ = accel_x_sensor; }
18 void set_accel_y_sensor(sensor::Sensor *accel_y_sensor) { accel_y_sensor_ = accel_y_sensor; }
19 void set_accel_z_sensor(sensor::Sensor *accel_z_sensor) { accel_z_sensor_ = accel_z_sensor; }
20 void set_temperature_sensor(sensor::Sensor *temperature_sensor) { temperature_sensor_ = temperature_sensor; }
21 void set_gyro_x_sensor(sensor::Sensor *gyro_x_sensor) { gyro_x_sensor_ = gyro_x_sensor; }
22 void set_gyro_y_sensor(sensor::Sensor *gyro_y_sensor) { gyro_y_sensor_ = gyro_y_sensor; }
23 void set_gyro_z_sensor(sensor::Sensor *gyro_z_sensor) { gyro_z_sensor_ = gyro_z_sensor; }
24
25 protected:
33
34 void internal_setup_(int stage);
35 bool setup_complete_{false};
36
38 i2c::ErrorCode read_le_int16_(uint8_t reg, int16_t *value, uint8_t len);
39};
40
41} // namespace bmi160
42} // namespace esphome
This class simplifies creating components that periodically check a state.
Definition component.h:512
void set_accel_z_sensor(sensor::Sensor *accel_z_sensor)
Definition bmi160.h:19
void set_accel_x_sensor(sensor::Sensor *accel_x_sensor)
Definition bmi160.h:17
sensor::Sensor * accel_z_sensor_
Definition bmi160.h:28
i2c::ErrorCode read_le_int16_(uint8_t reg, int16_t *value, uint8_t len)
reads len 16-bit little-endian integers from the given i2c register
Definition bmi160.cpp:203
void set_accel_y_sensor(sensor::Sensor *accel_y_sensor)
Definition bmi160.h:18
void set_gyro_x_sensor(sensor::Sensor *gyro_x_sensor)
Definition bmi160.h:21
sensor::Sensor * gyro_y_sensor_
Definition bmi160.h:31
void set_gyro_z_sensor(sensor::Sensor *gyro_z_sensor)
Definition bmi160.h:23
sensor::Sensor * gyro_x_sensor_
Definition bmi160.h:30
void set_gyro_y_sensor(sensor::Sensor *gyro_y_sensor)
Definition bmi160.h:22
sensor::Sensor * accel_x_sensor_
Definition bmi160.h:26
sensor::Sensor * gyro_z_sensor_
Definition bmi160.h:32
void set_temperature_sensor(sensor::Sensor *temperature_sensor)
Definition bmi160.h:20
void internal_setup_(int stage)
Definition bmi160.cpp:119
sensor::Sensor * temperature_sensor_
Definition bmi160.h:29
sensor::Sensor * accel_y_sensor_
Definition bmi160.h:27
This Class provides the methods to read/write bytes from/to an i2c device.
Definition i2c.h:133
I2CRegister reg(uint8_t a_register)
calls the I2CRegister constructor
Definition i2c.h:153
uint8_t size_t len
Definition i2c.h:273
Base-class for all sensors.
Definition sensor.h:43
ErrorCode
Error codes returned by I2CBus and I2CDevice methods.
Definition i2c_bus.h:15
Providing packet encoding functions for exchanging data with a remote host.
Definition a01nyub.cpp:7