ESPHome 2025.7.2
Loading...
Searching...
No Matches
ltr390.h
Go to the documentation of this file.
1#pragma once
2
3#include <tuple>
4#include <vector>
9
10namespace esphome {
11namespace ltr390 {
12
18
19// enums from https://github.com/adafruit/Adafruit_LTR390/
20// Sensing modes
25
26// Sensor gain levels
34
35// Sensor resolution
44
46 public:
47 void setup() override;
48 void dump_config() override;
49 void update() override;
50
53 void set_als_res_value(LTR390RESOLUTION res) { this->res_als_ = res; }
54 void set_uv_res_value(LTR390RESOLUTION res) { this->res_uv_ = res; }
55 void set_wfac_value(float wfac) { this->wfac_ = wfac; }
56
57 void set_light_sensor(sensor::Sensor *light_sensor) { this->light_sensor_ = light_sensor; }
58 void set_als_sensor(sensor::Sensor *als_sensor) { this->als_sensor_ = als_sensor; }
59 void set_uvi_sensor(sensor::Sensor *uvi_sensor) { this->uvi_sensor_ = uvi_sensor; }
60 void set_uv_sensor(sensor::Sensor *uv_sensor) { this->uv_sensor_ = uv_sensor; }
61
62 protected:
64
65 void read_als_();
66 void read_uvs_();
67
68 void read_mode_(int mode_index);
69
71
72 // a list of modes and corresponding read functions
73 std::vector<std::tuple<LTR390MODE, std::function<void()>>> mode_funcs_;
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:422
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
void set_als_sensor(sensor::Sensor *als_sensor)
Definition ltr390.h:58
void set_als_res_value(LTR390RESOLUTION res)
Definition ltr390.h:53
sensor::Sensor * light_sensor_
Definition ltr390.h:81
void set_uv_res_value(LTR390RESOLUTION res)
Definition ltr390.h:54
LTR390RESOLUTION res_uv_
Definition ltr390.h:78
void read_mode_(int mode_index)
Definition ltr390.cpp:107
void set_uv_sensor(sensor::Sensor *uv_sensor)
Definition ltr390.h:60
void set_uv_gain_value(LTR390GAIN gain)
Definition ltr390.h:52
optional< uint32_t > read_sensor_data_(LTR390MODE mode)
Definition ltr390.cpp:43
void set_wfac_value(float wfac)
Definition ltr390.h:55
void set_als_gain_value(LTR390GAIN gain)
Definition ltr390.h:51
sensor::Sensor * uv_sensor_
Definition ltr390.h:85
void set_uvi_sensor(sensor::Sensor *uvi_sensor)
Definition ltr390.h:59
void set_light_sensor(sensor::Sensor *light_sensor)
Definition ltr390.h:57
sensor::Sensor * uvi_sensor_
Definition ltr390.h:84
std::vector< std::tuple< LTR390MODE, std::function< void()> > > mode_funcs_
Definition ltr390.h:73
LTR390RESOLUTION res_als_
Definition ltr390.h:77
Base-class for all sensors.
Definition sensor.h:62
AlsGain501 gain
@ LTR390_RESOLUTION_13BIT
Definition ltr390.h:42
@ LTR390_RESOLUTION_19BIT
Definition ltr390.h:38
@ LTR390_RESOLUTION_20BIT
Definition ltr390.h:37
@ LTR390_RESOLUTION_16BIT
Definition ltr390.h:41
@ LTR390_RESOLUTION_17BIT
Definition ltr390.h:40
@ LTR390_RESOLUTION_18BIT
Definition ltr390.h:39
Providing packet encoding functions for exchanging data with a remote host.
Definition a01nyub.cpp:7