ESPHome 2025.12.0-dev
Loading...
Searching...
No Matches
qmc5883l.h
Go to the documentation of this file.
1#pragma once
2
6#include "esphome/core/hal.h"
7
8namespace esphome {
9namespace qmc5883l {
10
17
22
29
31 public:
32 void setup() override;
33 void dump_config() override;
34 float get_setup_priority() const override;
35 void update() override;
36
37 void set_drdy_pin(GPIOPin *pin) { drdy_pin_ = pin; }
38 void set_datarate(QMC5883LDatarate datarate) { datarate_ = datarate; }
40 void set_oversampling(QMC5883LOversampling oversampling) { oversampling_ = oversampling; }
41 void set_x_sensor(sensor::Sensor *x_sensor) { x_sensor_ = x_sensor; }
42 void set_y_sensor(sensor::Sensor *y_sensor) { y_sensor_ = y_sensor; }
43 void set_z_sensor(sensor::Sensor *z_sensor) { z_sensor_ = z_sensor; }
44 void set_heading_sensor(sensor::Sensor *heading_sensor) { heading_sensor_ = heading_sensor; }
45 void set_temperature_sensor(sensor::Sensor *temperature_sensor) { temperature_sensor_ = temperature_sensor; }
46
47 protected:
56 GPIOPin *drdy_pin_{nullptr};
61 i2c::ErrorCode read_bytes_16_le_(uint8_t a_register, uint16_t *data, uint8_t len = 1);
63};
64
65} // namespace qmc5883l
66} // namespace esphome
Helper class to request loop() to be called as fast as possible.
Definition helpers.h:1027
This class simplifies creating components that periodically check a state.
Definition component.h:437
This Class provides the methods to read/write bytes from/to an i2c device.
Definition i2c.h:133
uint8_t size_t len
Definition i2c.h:273
sensor::Sensor * temperature_sensor_
Definition qmc5883l.h:55
enum esphome::qmc5883l::QMC5883LComponent::ErrorCode error_code_
void set_z_sensor(sensor::Sensor *z_sensor)
Definition qmc5883l.h:43
i2c::ErrorCode read_bytes_16_le_(uint8_t a_register, uint16_t *data, uint8_t len=1)
Definition qmc5883l.cpp:179
void set_heading_sensor(sensor::Sensor *heading_sensor)
Definition qmc5883l.h:44
void set_datarate(QMC5883LDatarate datarate)
Definition qmc5883l.h:38
QMC5883LOversampling oversampling_
Definition qmc5883l.h:50
void set_temperature_sensor(sensor::Sensor *temperature_sensor)
Definition qmc5883l.h:45
void set_x_sensor(sensor::Sensor *x_sensor)
Definition qmc5883l.h:41
void set_range(QMC5883LRange range)
Definition qmc5883l.h:39
float get_setup_priority() const override
Definition qmc5883l.cpp:89
void set_oversampling(QMC5883LOversampling oversampling)
Definition qmc5883l.h:40
HighFrequencyLoopRequester high_freq_
Definition qmc5883l.h:62
void set_y_sensor(sensor::Sensor *y_sensor)
Definition qmc5883l.h:42
void set_drdy_pin(GPIOPin *pin)
Definition qmc5883l.h:37
Base-class for all sensors.
Definition sensor.h:42
Range range
Definition msa3xx.h:0
ErrorCode
Error codes returned by I2CBus and I2CDevice methods.
Definition i2c_bus.h:31
Providing packet encoding functions for exchanging data with a remote host.
Definition a01nyub.cpp:7