airquality12 2.1.0.0
Loading...
Searching...
No Matches
airquality12.h File Reference

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

#include "drv_digital_out.h"
#include "drv_digital_in.h"
#include "drv_i2c_master.h"
#include "drv_uart.h"

Go to the source code of this file.

Data Structures

struct  airquality12_s
 Air Quality 12 Click context object. More...
 
struct  airquality12_cfg_t
 Air Quality 12 Click configuration object. More...
 
struct  airquality12_param_t
 Air Quality 12 Click request and response parameters object. More...
 
struct  airquality12_info_t
 Air Quality 12 Click device info object. More...
 
struct  airquality12_results_t
 Air Quality 12 Click measurement results object. More...
 

Macros

#define AIRQUALITY12_CMD_GET_PRODUCT_ID   0x00
 Air Quality 12 commands list.
 
#define AIRQUALITY12_CMD_GET_TRACKING_NUMBER   0x01
 
#define AIRQUALITY12_CMD_GET_OPERATION_MODE   0x10
 
#define AIRQUALITY12_CMD_SET_OPERATION_MODE   0x11
 
#define AIRQUALITY12_CMD_SET_HUMIDITY   0x12
 
#define AIRQUALITY12_CMD_GET_MEASUREMENT   0x18
 
#define AIRQUALITY12_CMD_CONFIG_GPIO   0x20
 
#define AIRQUALITY12_CMD_GET_GPIO   0x21
 
#define AIRQUALITY12_CMD_SET_GPIO   0x22
 
#define AIRQUALITY12_CMD_CLEAR_GPIO   0x23
 
#define AIRQUALITY12_CMD_READ_FLASH_SHADOW   0x40
 
#define AIRQUALITY12_CMD_WRITE_FLASH_SHADOW   0x41
 
#define AIRQUALITY12_CMD_WRITE_FLASH   0x42
 
#define AIRQUALITY12_CMD_RESET   0x8F
 
#define AIRQUALITY12_OP_MODE_SUSPEND   0x00
 Air Quality 12 operating mode setting.
 
#define AIRQUALITY12_OP_MODE_IAQ_2ND_GEN   0x01
 
#define AIRQUALITY12_OP_MODE_IAQ_2ND_GEN_ULP   0x02
 
#define AIRQUALITY12_OP_MODE_PBAQ   0x05
 
#define AIRQUALITY12_OP_MODE_SENSOR_CLEANING   0x80
 
#define AIRQUALITY12_HUMIDITY_MIN   0
 Air Quality 12 humidity setting.
 
#define AIRQUALITY12_HUMIDITY_DEFAULT   50
 
#define AIRQUALITY12_HUMIDITY_MAX   100
 
#define AIRQUALITY12_PRODUCT_ID   0x2310
 Air Quality 12 product ID setting.
 
#define AIRQUALITY12_STATUS_INVALID_CMD   0x80
 Air Quality 12 status setting.
 
#define AIRQUALITY12_STATUS_WRONG_CHECKSUM   0x40
 
#define AIRQUALITY12_STATUS_I2C_NACK   0x20
 
#define AIRQUALITY12_STATUS_DATA_NOT_READY   0x10
 
#define AIRQUALITY12_STATUS_NO_MORE_CLEANING   0x08
 
#define AIRQUALITY12_STATUS_OK   0x00
 
#define AIRQUALITY12_DEVICE_ADDRESS   0x38
 Air Quality 12 device address setting.
 
#define AIRQUALITY12_TX_DRV_BUFFER_SIZE   100
 Air Quality 12 driver buffer size.
 
#define AIRQUALITY12_RX_DRV_BUFFER_SIZE   300
 
#define AIRQUALITY12_MAP_MIKROBUS(cfg, mikrobus)
 MikroBUS pin mapping.
 

Typedefs

typedef struct airquality12_s airquality12_t
 Air Quality 12 Click context object.
 

Enumerations

enum  airquality12_drv_t { AIRQUALITY12_DRV_SEL_UART , AIRQUALITY12_DRV_SEL_I2C }
 Air Quality 12 Click driver selector. More...
 
enum  airquality12_return_value_t { AIRQUALITY12_OK = 0 , AIRQUALITY12_ERROR = -1 }
 Air Quality 12 Click return value data. More...
 

Functions

void airquality12_cfg_setup (airquality12_cfg_t *cfg)
 Air Quality 12 configuration object setup function.
 
void airquality12_drv_interface_sel (airquality12_cfg_t *cfg, airquality12_drv_t drv_sel)
 Air Quality 12 driver interface setup function.
 
err_t airquality12_init (airquality12_t *ctx, airquality12_cfg_t *cfg)
 Air Quality 12 initialization function.
 
err_t airquality12_default_cfg (airquality12_t *ctx)
 Air Quality 12 default configuration function.
 
err_t airquality12_send_cmd (airquality12_t *ctx, uint8_t cmd, airquality12_param_t *params)
 Air Quality 12 send cmd function.
 
void airquality12_set_rst_pin (airquality12_t *ctx, uint8_t state)
 Air Quality 12 set rst pin function.
 
void airquality12_set_gp1_pin (airquality12_t *ctx, uint8_t state)
 Air Quality 12 set gp1 pin function.
 
void airquality12_reset_device (airquality12_t *ctx)
 Air Quality 12 reset device function.
 
uint8_t airquality12_get_int_pin (airquality12_t *ctx)
 Air Quality 12 get int pin function.
 
err_t airquality12_check_comm (airquality12_t *ctx)
 Air Quality 12 check comm function.
 
err_t airquality12_get_sensor_info (airquality12_t *ctx, airquality12_info_t *info)
 Air Quality 12 get sensor info function.
 
err_t airquality12_get_op_mode (airquality12_t *ctx, uint8_t *op_mode)
 Air Quality 12 get op mode function.
 
err_t airquality12_set_op_mode (airquality12_t *ctx, uint8_t op_mode)
 Air Quality 12 set op mode function.
 
err_t airquality12_set_humidity (airquality12_t *ctx, float humidity)
 Air Quality 12 set humidity function.
 
err_t airquality12_get_measurement (airquality12_t *ctx, airquality12_results_t *results)
 Air Quality 12 get measurement function.
 
err_t airquality12_config_gpio (airquality12_t *ctx, uint8_t gpio_mask)
 Air Quality 12 config gpio function.
 
err_t airquality12_get_gpio (airquality12_t *ctx, uint8_t *gpio_mask)
 Air Quality 12 get gpio function.
 
err_t airquality12_set_gpio (airquality12_t *ctx, uint8_t gpio_mask)
 Air Quality 12 set gpio function.
 
err_t airquality12_clear_gpio (airquality12_t *ctx, uint8_t gpio_mask)
 Air Quality 12 clear gpio function.
 
err_t airquality12_perform_cleaning (airquality12_t *ctx)
 Air Quality 12 perform cleaning function.
 

Detailed Description

This file contains API for Air Quality 12 Click Driver.

Typedef Documentation

◆ airquality12_t

Air Quality 12 Click context object.

Context object definition of Air Quality 12 Click driver.

Enumeration Type Documentation

◆ airquality12_drv_t

Air Quality 12 Click driver selector.

Selects target driver interface of Air Quality 12 Click driver.

Enumerator
AIRQUALITY12_DRV_SEL_UART 

UART driver descriptor.

AIRQUALITY12_DRV_SEL_I2C 

I2C driver descriptor.

◆ airquality12_return_value_t

Air Quality 12 Click return value data.

Predefined enum values for driver return values.

Enumerator
AIRQUALITY12_OK 
AIRQUALITY12_ERROR