This class implements support for the Sensirion SPS30 i2c/UART Particulate Matter PM1.0, PM2.5, PM4, PM10 Air Quality sensors.
More...
|
void | set_pm_1_0_sensor (sensor::Sensor *pm_1_0) |
|
void | set_pm_2_5_sensor (sensor::Sensor *pm_2_5) |
|
void | set_pm_4_0_sensor (sensor::Sensor *pm_4_0) |
|
void | set_pm_10_0_sensor (sensor::Sensor *pm_10_0) |
|
void | set_pmc_0_5_sensor (sensor::Sensor *pmc_0_5) |
|
void | set_pmc_1_0_sensor (sensor::Sensor *pmc_1_0) |
|
void | set_pmc_2_5_sensor (sensor::Sensor *pmc_2_5) |
|
void | set_pmc_4_0_sensor (sensor::Sensor *pmc_4_0) |
|
void | set_pmc_10_0_sensor (sensor::Sensor *pmc_10_0) |
|
void | set_pm_size_sensor (sensor::Sensor *pm_size) |
|
void | set_auto_cleaning_interval (uint32_t auto_cleaning_interval) |
|
void | setup () override |
|
void | update () override |
|
void | dump_config () override |
|
float | get_setup_priority () const override |
|
bool | start_fan_cleaning () |
|
| PollingComponent () |
|
| PollingComponent (uint32_t update_interval) |
| Initialize this polling component with the given update interval in ms. More...
|
|
virtual void | set_update_interval (uint32_t update_interval) |
| Manually set the update interval in ms for this polling object. More...
|
|
void | call_setup () override |
|
virtual uint32_t | get_update_interval () const |
| Get the update interval in ms of this sensor. More...
|
|
virtual void | loop () |
| This method will be called repeatedly. More...
|
|
float | get_actual_setup_priority () const |
|
void | set_setup_priority (float priority) |
|
virtual float | get_loop_priority () const |
| priority of loop(). More...
|
|
void | call () |
|
virtual void | on_shutdown () |
|
virtual void | on_safe_shutdown () |
|
uint32_t | get_component_state () const |
|
virtual void | mark_failed () |
| Mark this component as failed. More...
|
|
bool | is_failed () |
|
virtual bool | can_proceed () |
|
bool | status_has_warning () |
|
bool | status_has_error () |
|
void | status_set_warning () |
|
void | status_set_error () |
|
void | status_clear_warning () |
|
void | status_clear_error () |
|
void | status_momentary_warning (const std::string &name, uint32_t length=5000) |
|
void | status_momentary_error (const std::string &name, uint32_t length=5000) |
|
bool | has_overridden_loop () const |
|
void | set_component_source (const char *source) |
| Set where this component was loaded from for some debug messages. More...
|
|
const char * | get_component_source () const |
| Get the integration where this component was declared as a string. More...
|
|
bool | read_data (uint16_t *data, uint8_t len) |
| Read data words from i2c device. More...
|
|
bool | read_data (uint16_t &data) |
| Read 1 data word from i2c device. More...
|
|
bool | get_register (uint16_t command, uint16_t *data, uint8_t len, uint8_t delay=0) |
| get data words from i2c register. More...
|
|
bool | get_register (uint16_t i2c_register, uint16_t &data, uint8_t delay=0) |
| Read 1 data word from 16 bit i2c register. More...
|
|
bool | get_8bit_register (uint8_t i2c_register, uint16_t *data, uint8_t len, uint8_t delay=0) |
| get data words from i2c register. More...
|
|
bool | get_8bit_register (uint8_t i2c_register, uint16_t &data, uint8_t delay=0) |
| Read 1 data word from 8 bit i2c register. More...
|
|
template<class T > |
bool | write_command (T i2c_register) |
| Write a command to the i2c device. More...
|
|
template<class T > |
bool | write_command (T i2c_register, uint16_t data) |
| Write a command and one data word to the i2c device . More...
|
|
template<class T > |
bool | write_command (T i2c_register, const std::vector< uint16_t > &data) |
| Write a command with arguments as words. More...
|
|
template<class T > |
bool | write_command (T i2c_register, const uint16_t *data, uint8_t len) |
| Write a command with arguments as words. More...
|
|
| I2CDevice ()=default |
|
void | set_i2c_address (uint8_t address) |
|
void | set_i2c_bus (I2CBus *bus) |
|
I2CRegister | reg (uint8_t a_register) |
|
ErrorCode | read (uint8_t *data, size_t len) |
|
ErrorCode | read_register (uint8_t a_register, uint8_t *data, size_t len, bool stop=true) |
|
ErrorCode | write (const uint8_t *data, uint8_t len, bool stop=true) |
|
ErrorCode | write_register (uint8_t a_register, const uint8_t *data, size_t len, bool stop=true) |
|
bool | read_bytes (uint8_t a_register, uint8_t *data, uint8_t len) |
|
bool | read_bytes_raw (uint8_t *data, uint8_t len) |
|
template<size_t N> |
optional< std::array< uint8_t, N > > | read_bytes (uint8_t a_register) |
|
template<size_t N> |
optional< std::array< uint8_t, N > > | read_bytes_raw () |
|
bool | read_bytes_16 (uint8_t a_register, uint16_t *data, uint8_t len) |
|
bool | read_byte (uint8_t a_register, uint8_t *data, bool stop=true) |
|
optional< uint8_t > | read_byte (uint8_t a_register) |
|
bool | read_byte_16 (uint8_t a_register, uint16_t *data) |
|
bool | write_bytes (uint8_t a_register, const uint8_t *data, uint8_t len, bool stop=true) |
|
bool | write_bytes (uint8_t a_register, const std::vector< uint8_t > &data) |
|
template<size_t N> |
bool | write_bytes (uint8_t a_register, const std::array< uint8_t, N > &data) |
|
bool | write_bytes_16 (uint8_t a_register, const uint16_t *data, uint8_t len) |
|
bool | write_byte (uint8_t a_register, uint8_t data, bool stop=true) |
|
bool | write_byte_16 (uint8_t a_register, uint16_t data) |
|
|
bool | start_continuous_measurement_ () |
|
virtual void | call_loop () |
|
virtual void | call_dump_config () |
|
void | set_interval (const std::string &name, uint32_t interval, std::function< void()> &&f) |
| Set an interval function with a unique name. More...
|
|
void | set_interval (uint32_t interval, std::function< void()> &&f) |
|
bool | cancel_interval (const std::string &name) |
| Cancel an interval function. More...
|
|
void | set_retry (const std::string &name, uint32_t initial_wait_time, uint8_t max_attempts, std::function< RetryResult()> &&f, float backoff_increase_factor=1.0f) |
| Set an retry function with a unique name. More...
|
|
void | set_retry (uint32_t initial_wait_time, uint8_t max_attempts, std::function< RetryResult()> &&f, float backoff_increase_factor=1.0f) |
|
bool | cancel_retry (const std::string &name) |
| Cancel a retry function. More...
|
|
void | set_timeout (const std::string &name, uint32_t timeout, std::function< void()> &&f) |
| Set a timeout function with a unique name. More...
|
|
void | set_timeout (uint32_t timeout, std::function< void()> &&f) |
|
bool | cancel_timeout (const std::string &name) |
| Cancel a timeout function. More...
|
|
void | defer (const std::string &name, std::function< void()> &&f) |
| Defer a callback to the next loop() call. More...
|
|
void | defer (std::function< void()> &&f) |
| Defer a callback to the next loop() call. More...
|
|
bool | cancel_defer (const std::string &name) |
| Cancel a defer callback using the specified name, name must not be empty. More...
|
|
bool | write_command_ (uint16_t command, CommandLen command_len, const uint16_t *data, uint8_t data_len) |
| Write a command with arguments as words. More...
|
|
bool | get_register_ (uint16_t reg, CommandLen command_len, uint16_t *data, uint8_t len, uint8_t delay) |
| get data words from i2c register. More...
|
|
uint8_t | sht_crc_ (uint16_t data) |
| 8-bit CRC checksum that is transmitted after each data word for read and write operation More...
|
|
uint8_t | sht_crc_ (uint8_t data1, uint8_t data2) |
| 8-bit CRC checksum that is transmitted after each data word for read and write operation More...
|
|
This class implements support for the Sensirion SPS30 i2c/UART Particulate Matter PM1.0, PM2.5, PM4, PM10 Air Quality sensors.
Definition at line 12 of file sps30.h.
void esphome::sps30::SPS30Component::update |
( |
| ) |
|
|
overridevirtual |
Check if warning flag active (sensor reconnected?)
Sensor restarted and reading attempt made next cycle
Check if measurement is ready before reading the value
The following logic is required to address the cases when a sensor is quickly replaced before it's marked as failed so that new sensor is eventually forced to be reinitialized for continuous measurement.
Reading and converting Mass concentration
Reading and converting Number concentration
Reading and converting Typical size
Implements esphome::PollingComponent.
Definition at line 113 of file sps30.cpp.