32static constexpr uint8_t GAIN_COUNT = 13;
33static constexpr uint8_t NUM_BANDS = 13;
48static constexpr uint16_t VISIBLE_MIN_NM = 380;
49static constexpr uint16_t VISIBLE_MAX_NM = 700;
50static constexpr uint16_t WIDEBAND_NM = 0;
51static constexpr uint16_t ABSENT_NM = 0xFFFF;
54static constexpr float LUMENS_PER_WATT = 683.002f;
119 void setup()
override;
122 void loop()
override;
167 std::array<sensor::Sensor *, NUM_BANDS>
sensors_{};
This class simplifies creating components that periodically check a state.
void enable_led(bool enable)
Turns the sensor's LED driver on or off. Meant for lambdas.
void set_channel_correction(const std::array< float, NUM_BANDS > &values)
AS734XComponent(const ChipInfo *chip)
float max_band_basic_count_
SUB_SENSOR(saturation_level) SUB_SENSOR(illuminance) SUB_SENSOR(irradiance_photopic) SUB_SENSOR(irradiance_par) SUB_SENSOR(ppfd) SUB_SENSOR(color_temperature) void set_rgb_hex_sensor(text_sensor
float glass_attenuation_factor_
void publish_light_metrics_()
text_sensor::TextSensor * rgb_hex_sensor_
void set_basic_counts_sensor(sensor::Sensor *sensor, uint8_t band)
std::array< float, NUM_BANDS > channel_correction_
std::array< float, NUM_BANDS > dark_current_
void set_basic_counts_normalization(Normalization normalization)
Chooses what the published basic counts are divided by.
void set_counts_sensor(sensor::Sensor *sensor, uint8_t band)
void abort_measurement_(const LogString *reason)
std::array< sensor::Sensor *, NUM_BANDS > basic_counts_sensors_
bool select_bank_(uint8_t reg)
bool update_bits_(uint8_t reg, uint8_t mask, bool value)
std::array< uint16_t, NUM_BANDS > raw_counts_
float normalization_divisor_() const
void publish_measurement_()
Normalization normalization_
void calculate_basic_counts_()
void set_astep(uint16_t astep)
void set_dark_current(const std::array< float, NUM_BANDS > &values)
void set_atime(uint8_t atime)
std::array< float, NUM_BANDS > basic_counts_
void dump_config() override
std::array< sensor::Sensor *, NUM_BANDS > sensors_
void set_glass_attenuation_factor(float factor)
void publish_basic_counts_()
enum esphome::as734x::AS734XComponent::State STATE_IDLE
This Class provides the methods to read/write bytes from/to an i2c device.
I2CRegister reg(uint8_t a_register)
calls the I2CRegister constructor
Base-class for all sensors.
const ChipInfo TCS3448_CHIP
const ChipInfo AS7341_CHIP
const ChipInfo AS7343_CHIP
float irradiance_photopic
Per-chip constants, stored in flash. The pointed-to tables are in flash too.
const uint16_t * wavelengths
const ChannelTristimulus * tristimulus
bool gain_correction_per_band
const ChannelContribution * contributions
uint8_t integration_cycles
const float * gain_correction