11static constexpr uint8_t LIS3DH_REG_OUT_ADC3_L = 0x0C;
12static constexpr uint8_t LIS3DH_REG_WHO_AM_I = 0x0F;
13static constexpr uint8_t LIS3DH_REG_TEMP_CFG = 0x1F;
14static constexpr uint8_t LIS3DH_REG_CTRL_REG1 = 0x20;
15static constexpr uint8_t LIS3DH_REG_CTRL_REG2 = 0x21;
16static constexpr uint8_t LIS3DH_REG_CTRL_REG3 = 0x22;
17static constexpr uint8_t LIS3DH_REG_CTRL_REG4 = 0x23;
18static constexpr uint8_t LIS3DH_REG_CTRL_REG5 = 0x24;
19static constexpr uint8_t LIS3DH_REG_CTRL_REG6 = 0x25;
20static constexpr uint8_t LIS3DH_REG_REFERENCE = 0x26;
21static constexpr uint8_t LIS3DH_REG_OUT_X_L = 0x28;
22static constexpr uint8_t LIS3DH_REG_INT1_CFG = 0x30;
23static constexpr uint8_t LIS3DH_REG_INT1_SRC = 0x31;
24static constexpr uint8_t LIS3DH_REG_INT1_THS = 0x32;
25static constexpr uint8_t LIS3DH_REG_INT1_DURATION = 0x33;
27static constexpr uint8_t LIS3DH_WHO_AM_I_VALUE = 0x33;
30static constexpr uint8_t LIS3DH_AUTO_INCREMENT = 0x80;
33static constexpr uint8_t LIS3DH_CTRL_REG1_AXES_EN = 0x07;
34static constexpr uint8_t LIS3DH_CTRL_REG1_LPEN = 0x08;
36static constexpr uint8_t LIS3DH_CTRL_REG2_HP_IA1 = 0x01;
38static constexpr uint8_t LIS3DH_CTRL_REG4_HR = 0x08;
39static constexpr uint8_t LIS3DH_CTRL_REG4_BDU = 0x80;
41static constexpr uint8_t LIS3DH_CTRL_REG5_LIR_INT1 = 0x08;
43static constexpr uint8_t LIS3DH_CTRL_REG3_I1_IA1 = 0x40;
44static constexpr uint8_t LIS3DH_CTRL_REG6_I2_IA1 = 0x40;
45static constexpr uint8_t LIS3DH_CTRL_REG6_INT_POLARITY = 0x02;
47static constexpr uint8_t LIS3DH_TEMP_CFG_ADC_EN = 0x80;
48static constexpr uint8_t LIS3DH_TEMP_CFG_TEMP_EN = 0x40;
52static constexpr float LIS3DH_TEMP_REFERENCE_C = 25.0f;
91 void setup()
override;
100 bool active_high,
bool high_pass) {
BedjetMode mode
BedJet operating mode.
This Class provides the methods to read/write bytes from/to an i2c device.
bool setup_accelerometer_()
void dump_config() override
LIS3DHInterruptPin interrupt_pin_
LIS3DHOperatingMode operating_mode_
bool setup_temperature_()
void set_data_rate(LIS3DHDataRate data_rate)
LIS3DHDataRate data_rate_
void add_temperature_listener(F &&cb)
LazyCallbackManager< void(float)> temperature_callback_
uint8_t interrupt_threshold_
uint8_t interrupt_axes_cfg_
bool update_data(motion::MotionData &data) override
void set_interrupt(LIS3DHInterruptPin pin, uint8_t threshold, uint8_t duration, uint8_t axes_cfg, bool latched, bool active_high, bool high_pass)
bool publish_temperature_()
uint8_t interrupt_duration_
void set_range(LIS3DHRange range)
void set_operating_mode(LIS3DHOperatingMode mode)
void on_shutdown() override
bool interrupt_active_high_
bool interrupt_high_pass_
@ LIS3DH_DATA_RATE_1620HZ
@ LIS3DH_DATA_RATE_1344HZ
@ LIS3DH_MODE_HIGH_RESOLUTION