Device driver interface for the SCD30 sensor.
More...
#include "periph/i2c.h"
#include "saul.h"
#include "xtimer.h"
Go to the source code of this file.
|
| #define | SCD30_VERSION 0xD100 |
| | SCD30 Configuration parameter commands.
|
| |
| #define | SCD30_STATUS 0x0202 |
| | Get data ready status from scd30 device.
|
| |
| #define | SCD30_DATA 0x0300 |
| | Get data from scd30 device.
|
| |
| #define | SCD30_START 0x0010 |
| | Start measuring data from scd30 device.
|
| |
| #define | SCD30_STOP 0x0104 |
| | Stop measuring data from scd30 device.
|
| |
| #define | SCD30_SOFT_RESET 0xD304 |
| | Soft reset scd30 device.
|
| |
| #define | SCD30_INTERVAL 0x4600 |
| | Set measurement interval (2-1800 seconds)
|
| |
| #define | SCD30_ASC 0x5306 |
| | De-Activate Automatic Self-Calibration.
|
| |
| #define | SCD30_FRC 0x5204 |
| | Forced Recalibration.
|
| |
| #define | SCD30_T_OFFSET 0x5403 |
| | Set temperature Offset in 0.01 Celsius.
|
| |
| #define | SCD30_A_OFFSET 0x5102 |
| | Altitude Compensation in meters above sea level.
|
| |
|
| int8_t | scd30_init (scd30_t *dev, const scd30_params_t *params) |
| | Initialize SCD30.
|
| |
| int8_t | scd30_set_param (const scd30_t *dev, uint16_t param, uint16_t val) |
| | Set a configuration parameter of device.
|
| |
| int8_t | scd30_get_param (scd30_t *dev, uint16_t param, uint16_t *val) |
| | Get value set for a configuration parameter on the device.
|
| |
| int8_t | scd30_read_triggered (scd30_t *dev, scd30_measurement_t *result) |
| | read CO2 concentration, temperature and relative humidity once
|
| |
| uint8_t | scd30_read_periodic (scd30_t *dev, scd30_measurement_t *result) |
| | read co2 concentration, temperature and relative humidity when continuous measurements are being taken
|
| |
| int | scd30_start_periodic_measurement (scd30_t *dev, uint16_t *interval, uint16_t *apc) |
| | Initializes Continuous Measurements.
|
| |
| int8_t | scd30_stop_measurements (const scd30_t *dev) |
| | Stop Continuous measurements.
|
| |
| int8_t | scd30_reset (scd30_t *dev) |
| | Soft reset sensor.
|
| |
◆ SCD30_A_OFFSET
| #define SCD30_A_OFFSET 0x5102 |
Altitude Compensation in meters above sea level.
Definition at line 52 of file scd30.h.
◆ SCD30_ASC
De-Activate Automatic Self-Calibration.
Definition at line 49 of file scd30.h.
◆ SCD30_DATA
| #define SCD30_DATA 0x0300 |
Get data from scd30 device.
Definition at line 41 of file scd30.h.
◆ SCD30_FRC
Forced Recalibration.
400-2000ppm
Definition at line 50 of file scd30.h.
◆ SCD30_INTERVAL
| #define SCD30_INTERVAL 0x4600 |
Set measurement interval (2-1800 seconds)
Definition at line 47 of file scd30.h.
◆ SCD30_SOFT_RESET
| #define SCD30_SOFT_RESET 0xD304 |
Soft reset scd30 device.
Definition at line 45 of file scd30.h.
◆ SCD30_START
| #define SCD30_START 0x0010 |
Start measuring data from scd30 device.
Definition at line 43 of file scd30.h.
◆ SCD30_STATUS
| #define SCD30_STATUS 0x0202 |
Get data ready status from scd30 device.
Definition at line 38 of file scd30.h.
◆ SCD30_STOP
| #define SCD30_STOP 0x0104 |
Stop measuring data from scd30 device.
Definition at line 44 of file scd30.h.
◆ SCD30_T_OFFSET
| #define SCD30_T_OFFSET 0x5403 |
Set temperature Offset in 0.01 Celsius.
Definition at line 51 of file scd30.h.
◆ SCD30_VERSION
| #define SCD30_VERSION 0xD100 |
SCD30 Configuration parameter commands.
Get scd30 version
Definition at line 37 of file scd30.h.
◆ anonymous enum
Status and error codes for return values.
| Enumerator |
|---|
| SCD30_COM_FAILED | Communication with device failed.
|
| SCD30_INVALID_VALUE | Device doesn't exist.
|
| SCD30_CRC_ERROR | Invalid value or length.
|
| SCD30_NO_NEW_DATA | No new data.
|
Definition at line 58 of file scd30.h.
◆ scd30_get_param()
| int8_t scd30_get_param |
( |
scd30_t * | dev, |
|
|
uint16_t | param, |
|
|
uint16_t * | val ) |
Get value set for a configuration parameter on the device.
- Parameters
-
| dev | scd30 device |
| param | param to be set/operation to be performed param codes mentioned in scd30_internal |
| val | Pointer to the value to be set for that parameter |
- Returns
- SCD30_OK on success
◆ scd30_init()
Initialize SCD30.
- Parameters
-
| dev | scd30 device |
| params | scd30 device params |
- Returns
- SCD30_OK if device started
◆ scd30_read_periodic()
read co2 concentration, temperature and relative humidity when continuous measurements are being taken
- Parameters
-
| dev | scd30 device |
| result | struct to store result |
- Returns
- SCD30_OK on success
◆ scd30_read_triggered()
read CO2 concentration, temperature and relative humidity once
- Parameters
-
| dev | scd30 device |
| result | Values are stored in this struct |
- Returns
- SCD30_OK on success
◆ scd30_reset()
| int8_t scd30_reset |
( |
scd30_t * | dev | ) |
|
Soft reset sensor.
- Parameters
-
- Returns
- SCD30_OK if soft reset successful
◆ scd30_set_param()
| int8_t scd30_set_param |
( |
const scd30_t * | dev, |
|
|
uint16_t | param, |
|
|
uint16_t | val ) |
Set a configuration parameter of device.
- Parameters
-
| dev | scd30 device |
| param | param to be set/operation to be performed param codes mentioned in scd30_internal |
| val | value to be set for that parameter |
- Returns
- SCD30_OK on success
◆ scd30_start_periodic_measurement()
| int scd30_start_periodic_measurement |
( |
scd30_t * | dev, |
|
|
uint16_t * | interval, |
|
|
uint16_t * | apc ) |
Initializes Continuous Measurements.
- Parameters
-
| dev | scd30 device |
| interval | Interval at which new measurements have to be taken in seconds (between 2 and 1800 seconds, both inclusive) |
| apc | Average Pressure Compensation 0 to disable pressure compensation 700-1400 mBar for valid pressure compensation |
- Returns
- SCD30_OK if device started
◆ scd30_stop_measurements()
| int8_t scd30_stop_measurements |
( |
const scd30_t * | dev | ) |
|
Stop Continuous measurements.
- Parameters
-
- Returns
- SCD30_OK if measurement stopped