airquality11  2.1.0.0
Data Structures | Macros | Typedefs | Enumerations | Functions
airquality11.h File Reference

This file contains API for Air Quality 11 Click Driver. More...

#include "mikrosdk_version.h"
#include "drv_digital_out.h"
#include "drv_digital_in.h"
#include "drv_i2c_master.h"
#include "drv_spi_master.h"
#include "spi_specifics.h"

Go to the source code of this file.

Data Structures

struct  airquality11_s
 Air Quality 11 Click context object. More...
 
struct  airquality11_cfg_t
 Air Quality 11 Click configuration object. More...
 

Macros

#define AIRQUALITY11_REG_PART_ID   0x00
 Air Quality 11 description register. More...
 
#define AIRQUALITY11_REG_OPMODE   0x10
 
#define AIRQUALITY11_REG_CONFIG   0x11
 
#define AIRQUALITY11_REG_COMMAND   0x12
 
#define AIRQUALITY11_REG_TEMP_IN   0x13
 
#define AIRQUALITY11_REG_RH_IN   0x15
 
#define AIRQUALITY11_REG_DEVICE_STATUS   0x20
 
#define AIRQUALITY11_REG_DATA_AQI_UBA   0x21
 
#define AIRQUALITY11_REG_DATA_ETVOC   0x22
 
#define AIRQUALITY11_REG_DATA_ECO2   0x24
 
#define AIRQUALITY11_REG_DATA_AQI_S   0x26
 
#define AIRQUALITY11_REG_DATA_T   0x30
 
#define AIRQUALITY11_REG_DATA_RH   0x32
 
#define AIRQUALITY11_REG_DATA_MISR   0x38
 
#define AIRQUALITY11_REG_GPR_WRITE   0x40
 
#define AIRQUALITY11_REG_GPR_READ   0x48
 
#define AIRQUALITY11_TEMP_MIN   -40.0f
 Air Quality 11 measure conditions data values. More...
 
#define AIRQUALITY11_TEMP_MAX   80.0f
 
#define AIRQUALITY11_TEMP_CALC_KC   273.15f
 
#define AIRQUALITY11_TEMP_CALC_MLT   64.0f
 
#define AIRQUALITY11_HUM_MIN   5.0f
 
#define AIRQUALITY11_HUM_MAX   95.0f
 
#define AIRQUALITY11_HUM_CALC_MLT   512.0f
 
#define AIRQUALITY11_AQI_UBA_EXELLENT   1
 Air Quality 11 AQI-UBA rating values. More...
 
#define AIRQUALITY11_AQI_UBA_GOOD   2
 
#define AIRQUALITY11_AQI_UBA_MODERATE   3
 
#define AIRQUALITY11_AQI_UBA_POOR   4
 
#define AIRQUALITY11_AQI_UBA_UNHEALTHY   5
 
#define AIRQUALITY11_AQI_UBA_BITMASK   0x07
 Air Quality 11 air quality index according to the UBA bitmask. More...
 
#define AIRQUALITY11_PART_ID   0x0161u
 Air Quality 11 device identity value. More...
 
#define AIRQUALITY11_DEVICE_ADDRESS_0   0x52
 Air Quality 11 device address setting. More...
 
#define AIRQUALITY11_DEVICE_ADDRESS_1   0x53
 
#define AIRQUALITY11_SET_DATA_SAMPLE_EDGE   SET_SPI_DATA_SAMPLE_EDGE
 Data sample selection. More...
 
#define AIRQUALITY11_SET_DATA_SAMPLE_MIDDLE   SET_SPI_DATA_SAMPLE_MIDDLE
 
#define AIRQUALITY11_MAP_MIKROBUS(cfg, mikrobus)
 MikroBUS pin mapping. More...
 

Typedefs

typedef err_t(* airquality11_master_io_t) (struct airquality11_s *, uint8_t, uint8_t *, uint8_t)
 
typedef struct airquality11_s airquality11_t
 Air Quality 11 Click context object. More...
 

Enumerations

enum  airquality11_drv_t { AIRQUALITY11_DRV_SEL_SPI, AIRQUALITY11_DRV_SEL_I2C }
 Air Quality 11 Click driver selector. More...
 
enum  airquality11_return_value_t { AIRQUALITY11_OK = 0, AIRQUALITY11_ERROR = -1 }
 Air Quality 11 Click return value data. More...
 
enum  airquality11_op_mode_t {
  AIRQUALITY11_DEEP_SLEEP = 0, AIRQUALITY11_IDLE, AIRQUALITY11_STANDARD, AIRQUALITY11_LOW_POWER,
  AIRQUALITY11_ULTRA_LOW_POWER, AIRQUALITY11_RESET = 0xF0
}
 Air Quality 11 Click operating mode value data. More...
 
enum  airquality11_cmd_t { AIRQUALITY11_CMD_NOP = 0x00, AIRQUALITY11_CMD_GET_APPVER = 0x0E, AIRQUALITY11_CMD_CLRGPR = 0xCC }
 Air Quality 11 Click command value data. More...
 

Functions

void airquality11_cfg_setup (airquality11_cfg_t *cfg)
 Air Quality 11 configuration object setup function. More...
 
void airquality11_drv_interface_sel (airquality11_cfg_t *cfg, airquality11_drv_t drv_sel)
 Air Quality 11 driver interface setup function. More...
 
err_t airquality11_init (airquality11_t *ctx, airquality11_cfg_t *cfg)
 Air Quality 11 initialization function. More...
 
err_t airquality11_default_cfg (airquality11_t *ctx)
 Air Quality 11 default configuration function. More...
 
err_t airquality11_generic_write (airquality11_t *ctx, uint8_t reg, uint8_t *data_in, uint8_t len)
 Air Quality 11 data writing function. More...
 
err_t airquality11_generic_read (airquality11_t *ctx, uint8_t reg, uint8_t *data_out, uint8_t len)
 Air Quality 11 data reading function. More...
 
err_t airquality11_write_word (airquality11_t *ctx, uint8_t reg, uint16_t data_in)
 Air Quality 11 word data writing function. More...
 
err_t airquality11_read_word (airquality11_t *ctx, uint8_t reg, uint16_t *data_out)
 Air Quality 11 word data reading function. More...
 
err_t airquality11_get_device_id (airquality11_t *ctx, uint16_t *device_id)
 Air Quality 11 get device ID function. More...
 
err_t airquality11_set_op_mode (airquality11_t *ctx, airquality11_op_mode_t op_mode)
 Air Quality 11 set operating mode function. More...
 
err_t airquality11_set_int_config (airquality11_t *ctx, uint8_t int_cfg)
 Air Quality 11 set configures function. More...
 
err_t airquality11_set_cmd (airquality11_t *ctx, airquality11_cmd_t cmd)
 Air Quality 11 set command function. More...
 
err_t airquality11_set_measure_c (airquality11_t *ctx, float temperature, float humidity)
 Air Quality 11 set measure conditions function. More...
 
err_t airquality11_get_status (airquality11_t *ctx, uint8_t *status)
 Air Quality 11 get status function. More...
 
err_t airquality11_get_aqi_uba (airquality11_t *ctx, uint8_t *aqi_uba)
 Air Quality 11 get AQI-UBA function. More...
 
err_t airquality11_get_tvoc (airquality11_t *ctx, uint16_t *tvoc_ppb)
 Air Quality 11 get TVOC function. More...
 
err_t airquality11_get_co2 (airquality11_t *ctx, uint16_t *co2_ppm)
 Air Quality 11 get CO2 function. More...
 
err_t airquality11_get_aqi_s (airquality11_t *ctx, uint16_t *aqi_s)
 Air Quality 11 get AQI-S function. More...
 
err_t airquality11_get_measure_c (airquality11_t *ctx, float *temperature, float *humidity)
 Air Quality 11 get measure conditions function. More...
 
err_t airquality11_write_gpr_reg (airquality11_t *ctx, uint8_t *data_in)
 Air Quality 11 GPR data writing function. More...
 
err_t airquality11_read_gpr_reg (airquality11_t *ctx, uint8_t *data_out)
 Air Quality 11 GPR data reading function. More...
 
uint8_t airquality11_get_interrupt (airquality11_t *ctx)
 Rotary O 2 get interrupt function. More...
 

Detailed Description

This file contains API for Air Quality 11 Click Driver.

Typedef Documentation

◆ airquality11_master_io_t

typedef err_t( * airquality11_master_io_t) (struct airquality11_s *, uint8_t, uint8_t *, uint8_t)

Driver serial interface.

◆ airquality11_t

Air Quality 11 Click context object.

Context object definition of Air Quality 11 Click driver.

Enumeration Type Documentation

◆ airquality11_cmd_t

Air Quality 11 Click command value data.

Predefined enum values for driver command values.

Enumerator
AIRQUALITY11_CMD_NOP 

Command NOP.

AIRQUALITY11_CMD_GET_APPVER 

Firmware version of the ENS161 will be placed in General Purpose Registers.

AIRQUALITY11_CMD_CLRGPR 

Clear all GPR Read Registers.

◆ airquality11_drv_t

Air Quality 11 Click driver selector.

Selects target driver interface of Air Quality 11 Click driver.

Enumerator
AIRQUALITY11_DRV_SEL_SPI 

SPI driver descriptor.

AIRQUALITY11_DRV_SEL_I2C 

I2C driver descriptor.

◆ airquality11_op_mode_t

Air Quality 11 Click operating mode value data.

Predefined enum values for driver operating mode values.

Enumerator
AIRQUALITY11_DEEP_SLEEP 

Limited functionality.

AIRQUALITY11_IDLE 

Intended for configuration before running an active sensing mode.

AIRQUALITY11_STANDARD 

Active gas sensing mode to indicate the levels of air quality or for specific gas detection at 1 sample/second.

AIRQUALITY11_LOW_POWER 

Active power-saving gas sensing mode, indicating the levels of air quality at 1 sample/minute.

AIRQUALITY11_ULTRA_LOW_POWER 

Active power-saving gas sensing mode, indicating the levels of air quality at 1 sample/5 minutes.

AIRQUALITY11_RESET 

Software reset.

◆ airquality11_return_value_t

Air Quality 11 Click return value data.

Predefined enum values for driver return values.

Enumerator
AIRQUALITY11_OK 
AIRQUALITY11_ERROR