sfa3x - Driver for SFA30 formaldehyde detection module (I2C)
- group sfa3x
ESP-IDF driver for SFA30 formaldehyde detection module.
Ported from https://github.com/Sensirion/embedded-sfa3x
Copyright (c) 2021, Sensirion AG Copyright (c) 2021 Ruslan V. Uss unclerus@gmail.com
BSD Licensed as described in the file LICENSE
Defines
-
SFA3X_I2C_ADDR
Functions
-
esp_err_t sfa3x_init_desc(i2c_dev_t *dev, i2c_port_t port, gpio_num_t sda_gpio, gpio_num_t scl_gpio)
Initialize device descriptor.
- Parameters:
dev – Device descriptor
port – I2C port
sda_gpio – SDA GPIO
scl_gpio – SCL GPIO
- Returns:
ESP_OK
on success
-
esp_err_t sfa3x_free_desc(i2c_dev_t *dev)
Free device descriptor.
- Parameters:
dev – Device descriptor
- Returns:
ESP_OK
on success
-
esp_err_t sfa3x_reset(i2c_dev_t *dev)
Reset sensor.
This function brings the sensor into the same state as after power-up.
- Parameters:
dev – Device descriptor
- Returns:
ESP_OK
on success
-
esp_err_t sfa3x_start_continuous_measurement(i2c_dev_t *dev)
Start continuous measurement.
After power up, the module is in Idle-Mode. Before any measurement values can be read, the Measurement-Mode needs to be started using this command.
Note
This command is only available in idle mode.
- Parameters:
dev – Device descriptor
- Returns:
ESP_OK
on success
-
esp_err_t sfa3x_stop_continuous_measurement(i2c_dev_t *dev)
Stop continuous measurement.
Stop continuous measurement and return to idle mode for save energy.
Note
This command is only available in measurement mode.
- Parameters:
dev – Device descriptor
- Returns:
ESP_OK
on success
-
esp_err_t sfa3x_read_measurement(i2c_dev_t *dev, float *hcho, float *humidity, float *temperature)
Read sensor output and convert.
Note
This command is only available in measurement mode.
- Parameters:
dev – Device descriptor
hcho – Formaldehyde concentration in ppb
humidity – Relative humidity in percent RH
temperature – Temperature in degrees Celsius (°C)
- Returns:
ESP_OK
on success
-
esp_err_t sfa3x_get_device_marknig(i2c_dev_t *dev, char *marknig)
Read device marking.
To identify individual sensors, the device marking string (as printed on the sensor as 2D bar code) can be read with this function.
- Parameters:
dev – Device descriptor
marknig – 32 bytes buffer to store marking as NULL-terminated string
- Returns:
ESP_OK
on success
-
SFA3X_I2C_ADDR