ESPHome 2026.1.0-dev
Loading...
Searching...
No Matches
ltr390.h
Go to the documentation of this file.
1#pragma once
2
7
8namespace esphome {
9namespace ltr390 {
10
16
17// enums from https://github.com/adafruit/Adafruit_LTR390/
18// Sensing modes
23
24// Sensor gain levels
32
33// Sensor resolution
42
44 public:
45 void setup() override;
46 void dump_config() override;
47 void update() override;
48
51 void set_als_res_value(LTR390RESOLUTION res) { this->res_als_ = res; }
52 void set_uv_res_value(LTR390RESOLUTION res) { this->res_uv_ = res; }
53 void set_wfac_value(float wfac) { this->wfac_ = wfac; }
54
55 void set_light_sensor(sensor::Sensor *light_sensor) { this->light_sensor_ = light_sensor; }
56 void set_als_sensor(sensor::Sensor *als_sensor) { this->als_sensor_ = als_sensor; }
57 void set_uvi_sensor(sensor::Sensor *uvi_sensor) { this->uvi_sensor_ = uvi_sensor; }
58 void set_uv_sensor(sensor::Sensor *uv_sensor) { this->uv_sensor_ = uv_sensor; }
59
60 protected:
61 static constexpr uint8_t ENABLED_MODE_ALS = 1 << 0;
62 static constexpr uint8_t ENABLED_MODE_UVS = 1 << 1;
63
65
66 void read_als_();
67 void read_uvs_();
68
70 void standby_();
71
72 bool reading_{false};
73 uint8_t enabled_modes_{0};
74
79 float wfac_;
80
83
86};
87
88} // namespace ltr390
89} // namespace esphome
BedjetMode mode
BedJet operating mode.
This class simplifies creating components that periodically check a state.
Definition component.h:474
This Class provides the methods to read/write bytes from/to an i2c device.
Definition i2c.h:133
sensor::Sensor * als_sensor_
Definition ltr390.h:82
static constexpr uint8_t ENABLED_MODE_UVS
Definition ltr390.h:62
void set_als_sensor(sensor::Sensor *als_sensor)
Definition ltr390.h:56
void set_als_res_value(LTR390RESOLUTION res)
Definition ltr390.h:51
void read_mode_(LTR390MODE mode)
Definition ltr390.cpp:114
static constexpr uint8_t ENABLED_MODE_ALS
Definition ltr390.h:61
sensor::Sensor * light_sensor_
Definition ltr390.h:81
void set_uv_res_value(LTR390RESOLUTION res)
Definition ltr390.h:52
LTR390RESOLUTION res_uv_
Definition ltr390.h:78
void set_uv_sensor(sensor::Sensor *uv_sensor)
Definition ltr390.h:58
void set_uv_gain_value(LTR390GAIN gain)
Definition ltr390.h:50
optional< uint32_t > read_sensor_data_(LTR390MODE mode)
Definition ltr390.cpp:43
void set_wfac_value(float wfac)
Definition ltr390.h:53
void set_als_gain_value(LTR390GAIN gain)
Definition ltr390.h:49
sensor::Sensor * uv_sensor_
Definition ltr390.h:85
void set_uvi_sensor(sensor::Sensor *uvi_sensor)
Definition ltr390.h:57
void set_light_sensor(sensor::Sensor *light_sensor)
Definition ltr390.h:55
sensor::Sensor * uvi_sensor_
Definition ltr390.h:84
LTR390RESOLUTION res_als_
Definition ltr390.h:77
Base-class for all sensors.
Definition sensor.h:43
AlsGain501 gain
@ LTR390_RESOLUTION_13BIT
Definition ltr390.h:40
@ LTR390_RESOLUTION_19BIT
Definition ltr390.h:36
@ LTR390_RESOLUTION_20BIT
Definition ltr390.h:35
@ LTR390_RESOLUTION_16BIT
Definition ltr390.h:39
@ LTR390_RESOLUTION_17BIT
Definition ltr390.h:38
@ LTR390_RESOLUTION_18BIT
Definition ltr390.h:37
Providing packet encoding functions for exchanging data with a remote host.
Definition a01nyub.cpp:7