ESPHome 2025.5.0
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 float get_setup_priority() const override;
18
19 void set_accel_x_sensor(sensor::Sensor *accel_x_sensor) { accel_x_sensor_ = accel_x_sensor; }
20 void set_accel_y_sensor(sensor::Sensor *accel_y_sensor) { accel_y_sensor_ = accel_y_sensor; }
21 void set_accel_z_sensor(sensor::Sensor *accel_z_sensor) { accel_z_sensor_ = accel_z_sensor; }
22 void set_temperature_sensor(sensor::Sensor *temperature_sensor) { temperature_sensor_ = temperature_sensor; }
23 void set_gyro_x_sensor(sensor::Sensor *gyro_x_sensor) { gyro_x_sensor_ = gyro_x_sensor; }
24 void set_gyro_y_sensor(sensor::Sensor *gyro_y_sensor) { gyro_y_sensor_ = gyro_y_sensor; }
25 void set_gyro_z_sensor(sensor::Sensor *gyro_z_sensor) { gyro_z_sensor_ = gyro_z_sensor; }
26
27 protected:
35
36 void internal_setup_(int stage);
37 bool setup_complete_{false};
38
40 i2c::ErrorCode read_le_int16_(uint8_t reg, int16_t *value, uint8_t len);
41};
42
43} // namespace bmi160
44} // namespace esphome
This class simplifies creating components that periodically check a state.
Definition component.h:301
void set_accel_z_sensor(sensor::Sensor *accel_z_sensor)
Definition bmi160.h:21
void set_accel_x_sensor(sensor::Sensor *accel_x_sensor)
Definition bmi160.h:19
sensor::Sensor * accel_z_sensor_
Definition bmi160.h:30
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:204
void set_accel_y_sensor(sensor::Sensor *accel_y_sensor)
Definition bmi160.h:20
void set_gyro_x_sensor(sensor::Sensor *gyro_x_sensor)
Definition bmi160.h:23
sensor::Sensor * gyro_y_sensor_
Definition bmi160.h:33
void set_gyro_z_sensor(sensor::Sensor *gyro_z_sensor)
Definition bmi160.h:25
sensor::Sensor * gyro_x_sensor_
Definition bmi160.h:32
void set_gyro_y_sensor(sensor::Sensor *gyro_y_sensor)
Definition bmi160.h:24
sensor::Sensor * accel_x_sensor_
Definition bmi160.h:28
sensor::Sensor * gyro_z_sensor_
Definition bmi160.h:34
void set_temperature_sensor(sensor::Sensor *temperature_sensor)
Definition bmi160.h:22
void internal_setup_(int stage)
Definition bmi160.cpp:119
sensor::Sensor * temperature_sensor_
Definition bmi160.h:31
sensor::Sensor * accel_y_sensor_
Definition bmi160.h:29
float get_setup_priority() const override
Definition bmi160.cpp:267
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
Base-class for all sensors.
Definition sensor.h:57
ErrorCode
Error codes returned by I2CBus and I2CDevice methods.
Definition i2c_bus.h:11
Providing packet encoding functions for exchanging data with a remote host.
Definition a01nyub.cpp:7
std::string size_t len
Definition helpers.h:301