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