167 int16_t slope, uint16_t time_constant);
178 int16_t *slope, uint16_t *time_constant);
214 const sen5x_t *dev, int16_t index_offset, int16_t learning_time_offset_hours,
215 int16_t learning_time_gain_hours, int16_t gating_max_duration_minutes,
216 int16_t std_initial, int16_t gain_factor);
234 const sen5x_t *dev, int16_t *index_offset, int16_t *learning_time_offset_hours,
235 int16_t *learning_time_gain_hours, int16_t *gating_max_duration_minutes,
236 int16_t *std_initial, int16_t *gain_factor);
257 const sen5x_t *dev, int16_t index_offset, int16_t learning_time_offset_hours,
258 int16_t learning_time_gain_hours, int16_t gating_max_duration_minutes,
259 int16_t std_initial, int16_t gain_factor);
280 const sen5x_t *dev, int16_t *index_offset, int16_t *learning_time_offset_hours,
281 int16_t *learning_time_gain_hours, int16_t *gating_max_duration_minutes,
282 int16_t *std_initial, int16_t *gain_factor);
uint_fast8_t i2c_t
Default i2c_t type definition.
int sen5x_init(sen5x_t *dev, const sen5x_params_t *params)
Initialize the given device.
void sen5x_set_warm_start(const sen5x_t *dev, uint16_t warm_start)
Set the parameter for a warm start on the device, to improve initial accuracy of the ambient temperat...
void sen5x_wake_no_pm(const sen5x_t *dev)
Starts a continuous measurement without PM.
void sen5x_clean_fan(const sen5x_t *dev)
Sets the fan to maximum speed, to clean it within 10 seconds.
void sen5x_set_temperature_offset(const sen5x_t *dev, int16_t temp_offset, int16_t slope, uint16_t time_constant)
Set a custom temperature offset to the ambient temperature.
void sen5x_wake(const sen5x_t *dev)
Starts a continuous measurement.
void sen5x_get_voc_state(const sen5x_t *dev, uint8_t *state, uint8_t state_size)
Set the VOC Algorithm state.
void sen5x_get_warm_start(const sen5x_t *dev, uint16_t *warm_start)
Get the warm start parameter.
void sen5x_sleep(const sen5x_t *dev)
Stops the measurement and returns to idle mode.
void sen5x_get_temperature_offset(const sen5x_t *dev, int16_t *temp_offset, int16_t *slope, uint16_t *time_constant)
Set a custom temperature offset to the ambient temperature.
void sen5x_get_voc_algorithm_tuning(const sen5x_t *dev, int16_t *index_offset, int16_t *learning_time_offset_hours, int16_t *learning_time_gain_hours, int16_t *gating_max_duration_minutes, int16_t *std_initial, int16_t *gain_factor)
Get the VOC Algorithm tuning parameters.
void sen5x_set_rht_acceleration(const sen5x_t *dev, uint16_t mode)
Set the mode for the RH/T acceleration algorithm.
void sen5x_read_values(const sen5x_t *dev, sen5x_measurement_t *values)
Read measured mass concentration, humidity and temperature values.
void sen5x_read_pm_values(const sen5x_t *dev, sen5x_measurement_t *values)
Read measured particle matter values.
void sen5x_set_voc_algorithm_tuning(const sen5x_t *dev, int16_t index_offset, int16_t learning_time_offset_hours, int16_t learning_time_gain_hours, int16_t gating_max_duration_minutes, int16_t std_initial, int16_t gain_factor)
Set the parameters for the VOC Algorithm tuning.
void sen5x_set_voc_state(const sen5x_t *dev, const uint8_t *state, uint8_t state_size)
Get the VOC Algorithm state.
bool sen5x_data_ready_flag(const sen5x_t *dev)
Sets the fan to maximum speed, to clean it within 10 seconds.
void sen5x_get_nox_algorithm_tuning(const sen5x_t *dev, int16_t *index_offset, int16_t *learning_time_offset_hours, int16_t *learning_time_gain_hours, int16_t *gating_max_duration_minutes, int16_t *std_initial, int16_t *gain_factor)
Get the NOx Algorithm tuning parameters.
int sen5x_reset(const sen5x_t *dev)
Execute a reset on the given device.
void sen5x_set_nox_algorithm_tuning(const sen5x_t *dev, int16_t index_offset, int16_t learning_time_offset_hours, int16_t learning_time_gain_hours, int16_t gating_max_duration_minutes, int16_t std_initial, int16_t gain_factor)
Set the parameters for the NOx Algorithm tuning.
void sen5x_get_rht_acceleration(const sen5x_t *dev, uint16_t *mode)
Get the mode for the RH/T acceleration algorithm.
Low-level I2C peripheral driver interface definition.
Wrapper for measured values.
uint16_t mass_concentration_pm4p0
raw value is scaled with factor 10: PM4.0 [µg/m³] = value / 10
uint16_t number_concentration_pm4p0
raw value is scaled with factor 10: PM4.0 [#/cm³] = value / 10
uint16_t mass_concentration_pm10p0
raw value is scaled with factor 10: PM10.0 [µg/m³] = value / 10
uint16_t number_concentration_pm0p5
raw value is scaled with factor 10: PM0.5 [#/cm³] = value / 10
int16_t ambient_humidity
raw value is scaled with factor 100: RH [%] = value / 100
uint16_t mass_concentration_pm1p0
raw value is scaled with factor 10: PM1.0 [µg/m³] = value / 10
uint16_t mass_concentration_pm2p5
raw value is scaled with factor 10: PM2.5 [µg/m³] = value / 10
int16_t voc_index
raw value is scaled with factor 10: VOC Index = value / 10
int16_t ambient_temperature
raw value is scaled with factor 200: T [°C] = value / 200
uint16_t number_concentration_pm10p0
raw value is scaled with factor 10: PM10.0 [#/cm³] = value / 10
int16_t nox_index
raw value is scaled with factor 10: NOx Index = value / 10
uint16_t number_concentration_pm1p0
raw value is scaled with factor 10: PM1.0 [#/cm³] = value / 10
uint16_t typical_particle_size
raw value is scaled with factor 1000: Size [µm] = value / 1000
uint16_t number_concentration_pm2p5
raw value is scaled with factor 10: PM2.5 [#/cm³] = value / 10
Device initialization parameters.
uint8_t i2c_addr
I2C address.
i2c_t i2c_dev
I2C device which is used.
Device descriptor for the driver.
sen5x_params_t params
Device initialization parameters.
Functionality for reading [S]ensor [A]ctuator [U]ber [L]ayer sensors as SenML.