environment 2.0.0.0
environment.h File Reference

This file contains API for Environment Click driver. More...

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

Go to the source code of this file.

Data Structures

struct  T_ENVIRONMENT_BME680_FIELD_DATA
 
struct  T_ENVIRONMENT_BME680_CALIB_DATA
 
struct  T_ENVIRONMENT_BME680_TPH_SETTINGS
 
struct  T_ENVIRONMENT_BME680_GAS_SETTINGS
 
struct  environment_s
 Click ctx object definition. More...
 
struct  environment_cfg_t
 Click configuration structure definition. More...
 

Macros

#define ENVIRONMENT_MAP_MIKROBUS(cfg, mikrobus)
 
#define ENVIRONMENT_MASTER_I2C   0
 
#define ENVIRONMENT_MASTER_SPI   1
 
#define ENVIRONMENT_RETVAL   uint8_t
 
#define ENVIRONMENT_OK   0x00
 
#define ENVIRONMENT_INIT_ERROR   0xFF
 
#define ENVIRONMENT_POLL_PERIOD_MS   10
 
#define ENVIRONMENT_DEVICE_SLAVE_ADDR_0   0x76
 
#define ENVIRONMENT_DEVICE_SLAVE_ADDR_1   0x77
 
#define ENVIRONMENT_CHIP_ID   0x61
 
#define ENVIRONMENT_COEFF_SIZE   41
 
#define ENVIRONMENT_COEFF_ADDR1_LEN   25
 
#define ENVIRONMENT_COEFF_ADDR2_LEN   16
 
#define ENVIRONMENT_FIELD_LENGTH   15
 
#define ENVIRONMENT_FIELD_ADDR_OFFSET   17
 
#define ENVIRONMENT_SOFT_RESET_CMD   0xB6
 
#define ENVIRONMENT_DEVICE_OK   0
 
#define ENVIRONMENT_DEVICE_ERROR   1
 
#define ENVIRONMENT_E_NULL_PTR   -1
 
#define ENVIRONMENT_E_COM_FAIL   -2
 
#define ENVIRONMENT_E_DEV_NOT_FOUND   -3
 
#define ENVIRONMENT_E_INVALID_LENGTH   -4
 
#define ENVIRONMENT_W_DEFINE_PWR_MODE   1
 
#define ENVIRONMENT_W_NO_NEW_DATA   2
 
#define ENVIRONMENT_I_MIN_CORRECTION   1
 
#define ENVIRONMENT_I_MAX_CORRECTION   2
 
#define ENVIRONMENT_ADDR_RES_HEAT_VAL_ADDR   0x00
 
#define ENVIRONMENT_ADDR_RES_HEAT_RANGE_ADDR   0x02
 
#define ENVIRONMENT_ADDR_RANGE_SW_ERR_ADDR   0x04
 
#define ENVIRONMENT_ADDR_SENS_CONF_START   0x5A
 
#define ENVIRONMENT_ADDR_GAS_CONF_START   0x64
 
#define ENVIRONMENT_FIELD0_ADDR   0x1d
 
#define ENVIRONMENT_RES_HEAT0_ADDR   0x5a
 
#define ENVIRONMENT_GAS_WAIT0_ADDR   0x64
 
#define ENVIRONMENT_CONF_HEAT_CTRL_ADDR   0x70
 
#define ENVIRONMENT_CONF_ODR_RUN_GAS_NBC_ADDR   0x71
 
#define ENVIRONMENT_CONF_OS_H_ADDR   0x72
 
#define ENVIRONMENT_MEM_PAGE_ADDR   0xf3
 
#define ENVIRONMENT_CONF_T_P_MODE_ADDR   0x74
 
#define ENVIRONMENT_CONF_ODR_FILT_ADDR   0x75
 
#define ENVIRONMENT_COEFF_ADDR1   0x89
 
#define ENVIRONMENT_COEFF_ADDR2   0xe1
 
#define ENVIRONMENT_CHIP_ID_ADDR   0xd0
 
#define ENVIRONMENT_SOFT_RESET_ADDR   0xe0
 
#define ENVIRONMENT_ENABLE_HEATER   0x00
 
#define ENVIRONMENT_DISABLE_HEATER   0x08
 
#define ENVIRONMENT_DISABLE_GAS_MEAS   0x00
 
#define ENVIRONMENT_ENABLE_GAS_MEAS   0x01
 
#define ENVIRONMENT_OS_NONE   0
 
#define ENVIRONMENT_OS_1X   1
 
#define ENVIRONMENT_OS_2X   2
 
#define ENVIRONMENT_OS_4X   3
 
#define ENVIRONMENT_OS_8X   4
 
#define ENVIRONMENT_OS_16X   5
 
#define ENVIRONMENT_FILTER_SIZE_0   0
 
#define ENVIRONMENT_FILTER_SIZE_1   1
 
#define ENVIRONMENT_FILTER_SIZE_3   2
 
#define ENVIRONMENT_FILTER_SIZE_7   3
 
#define ENVIRONMENT_FILTER_SIZE_15   4
 
#define ENVIRONMENT_FILTER_SIZE_31   5
 
#define ENVIRONMENT_FILTER_SIZE_63   6
 
#define ENVIRONMENT_FILTER_SIZE_127   7
 
#define ENVIRONMENT_SLEEP_MODE   0
 
#define ENVIRONMENT_FORCED_MODE   1
 
#define ENVIRONMENT_RESET_PERIOD   10
 
#define ENVIRONMENT_MEM_PAGE0   0x10
 
#define ENVIRONMENT_MEM_PAGE1   0x00
 
#define ENVIRONMENT_HUM_REG_SHIFT_VAL   4
 
#define ENVIRONMENT_RUN_GAS_DISABLE   0
 
#define ENVIRONMENT_RUN_GAS_ENABLE   1
 
#define ENVIRONMENT_TMP_BUFFER_LENGTH   40
 
#define ENVIRONMENT_REG_BUFFER_LENGTH   6
 
#define ENVIRONMENT_FIELD_DATA_LENGTH   3
 
#define ENVIRONMENT_GAS_REG_BUF_LENGTH   20
 
#define ENVIRONMENT_OST_SEL   1
 
#define ENVIRONMENT_OSP_SEL   2
 
#define ENVIRONMENT_OSH_SEL   4
 
#define ENVIRONMENT_GAS_MEAS_SEL   8
 
#define ENVIRONMENT_FILTER_SEL   16
 
#define ENVIRONMENT_HCNTRL_SEL   32
 
#define ENVIRONMENT_RUN_GAS_SEL   64
 
#define ENVIRONMENT_NBCONV_SEL   128
 
#define ENVIRONMENT_GAS_SENSOR_SEL
 
#define ENVIRONMENT_NBCONV_MIN   0
 
#define ENVIRONMENT_NBCONV_MAX   10
 
#define ENVIRONMENT_GAS_MEAS_MSK   0x30
 
#define ENVIRONMENT_NBCONV_MSK   0X0F
 
#define ENVIRONMENT_FILTER_MSK   0X1C
 
#define ENVIRONMENT_OST_MSK   0XE0
 
#define ENVIRONMENT_OSP_MSK   0X1C
 
#define ENVIRONMENT_OSH_MSK   0X07
 
#define ENVIRONMENT_HCTRL_MSK   0x08
 
#define ENVIRONMENT_RUN_GAS_MSK   0x10
 
#define ENVIRONMENT_MODE_MSK   0x03
 
#define ENVIRONMENT_RHRANGE_MSK   0x30
 
#define ENVIRONMENT_RSERROR_MSK   0xf0
 
#define ENVIRONMENT_NEW_DATA_MSK   0x80
 
#define ENVIRONMENT_GAS_INDEX_MSK   0x0f
 
#define ENVIRONMENT_GAS_RANGE_MSK   0x0f
 
#define ENVIRONMENT_GASM_VALID_MSK   0x20
 
#define ENVIRONMENT_HEAT_STAB_MSK   0x10
 
#define ENVIRONMENT_MEM_PAGE_MSK   0x10
 
#define ENVIRONMENT_SPI_RD_MSK   0x80
 
#define ENVIRONMENT_SPI_WR_MSK   0x7f
 
#define ENVIRONMENT_BIT_H1_DATA_MSK   0x0F
 
#define ENVIRONMENT_GAS_MEAS_POS   4
 
#define ENVIRONMENT_FILTER_POS   2
 
#define ENVIRONMENT_OST_POS   5
 
#define ENVIRONMENT_OSP_POS   2
 
#define ENVIRONMENT_RUN_GAS_POS   4
 
#define ENVIRONMENT_T2_LSB_REG   1
 
#define ENVIRONMENT_T2_MSB_REG   2
 
#define ENVIRONMENT_T3_REG   3
 
#define ENVIRONMENT_P1_LSB_REG   5
 
#define ENVIRONMENT_P1_MSB_REG   6
 
#define ENVIRONMENT_P2_LSB_REG   7
 
#define ENVIRONMENT_P2_MSB_REG   8
 
#define ENVIRONMENT_P3_REG   9
 
#define ENVIRONMENT_P4_LSB_REG   11
 
#define ENVIRONMENT_P4_MSB_REG   12
 
#define ENVIRONMENT_P5_LSB_REG   13
 
#define ENVIRONMENT_P5_MSB_REG   14
 
#define ENVIRONMENT_P7_REG   15
 
#define ENVIRONMENT_P6_REG   16
 
#define ENVIRONMENT_P8_LSB_REG   19
 
#define ENVIRONMENT_P8_MSB_REG   20
 
#define ENVIRONMENT_P9_LSB_REG   21
 
#define ENVIRONMENT_P9_MSB_REG   22
 
#define ENVIRONMENT_P10_REG   23
 
#define ENVIRONMENT_H2_MSB_REG   25
 
#define ENVIRONMENT_H2_LSB_REG   26
 
#define ENVIRONMENT_H1_LSB_REG   26
 
#define ENVIRONMENT_H1_MSB_REG   27
 
#define ENVIRONMENT_H3_REG   28
 
#define ENVIRONMENT_H4_REG   29
 
#define ENVIRONMENT_H5_REG   30
 
#define ENVIRONMENT_H6_REG   31
 
#define ENVIRONMENT_H7_REG   32
 
#define ENVIRONMENT_T1_LSB_REG   33
 
#define ENVIRONMENT_T1_MSB_REG   34
 
#define ENVIRONMENT_GH2_LSB_REG   35
 
#define ENVIRONMENT_GH2_MSB_REG   36
 
#define ENVIRONMENT_GH1_REG   37
 
#define ENVIRONMENT_GH3_REG   38
 
#define ENVIRONMENT_REG_FILTER_INDEX   5
 
#define ENVIRONMENT_REG_TEMP_INDEX   4
 
#define ENVIRONMENT_REG_PRES_INDEX   4
 
#define ENVIRONMENT_REG_HUM_INDEX   2
 
#define ENVIRONMENT_REG_NBCONV_INDEX   1
 
#define ENVIRONMENT_REG_RUN_GAS_INDEX   1
 
#define ENVIRONMENT_REG_HCTRL_INDEX   0
 
#define ENVIRONMENT_MAX_OVERFLOW_VAL   0x40000000
 
#define ENVIRONMENT_DATA_TEMPERATURE   0x01
 
#define ENVIRONMENT_DATA_PRESSURE   0x02
 
#define ENVIRONMENT_DATA_HUMIDITY   0x03
 
#define BME680_CONCAT_BYTES(msb, lsb)   (((uint16_t)msb << 8) | (uint16_t)lsb)
 
#define BME680_SET_BITS(reg_data, bitname, data)
 
#define BME680_SET_BITS_POS_0(reg_data, bitname, data)
 

Typedefs

typedef uint8_t environment_select_t
 Communication type.
 
typedef void(* environment_master_io_t) (struct environment_s *, uint8_t, uint8_t *, uint8_t)
 Master Input/Output type.
 
typedef struct environment_s environment_t
 Click ctx object definition.
 

Functions

void environment_cfg_setup (environment_cfg_t *cfg)
 Config Object Initialization function.
 
ENVIRONMENT_RETVAL environment_init (environment_t *ctx, environment_cfg_t *cfg)
 Initialization function.
 
void environment_default_cfg (environment_t *ctx)
 Click Default Configuration function.
 
void environment_generic_write (environment_t *ctx, uint8_t reg, uint8_t *data_buf, uint8_t len)
 Generic write function.
 
void environment_generic_read (environment_t *ctx, uint8_t reg, uint8_t *data_buf, uint8_t len)
 Generic read function.
 
void environment_write_byte (environment_t *ctx, uint8_t reg_address, uint8_t write_data)
 Generic the write byte of data function.
 
uint8_t environment_read_byte (environment_t *ctx, uint8_t reg_address)
 Generic the read byte of data function.
 
uint8_t environment_check_id (environment_t *ctx)
 Check device ID function.
 
uint8_t environment_get_device_id (environment_t *ctx)
 Get device ID function.
 
void environment_soft_reset (environment_t *ctx)
 Software reset function.
 
void environment_get_calibration_data (environment_t *ctx)
 Get factory calibration parameters function.
 
void environment_default_config (environment_t *ctx)
 Set default configuration for the BMP680 sensor function.
 
float environment_get_ambient_data (environment_t *ctx, uint8_t data_in)
 Get ambient data function.
 
float environment_get_temperature (environment_t *ctx)
 Gets temperature in degrees Celsius function.
 
float environment_get_humidity (environment_t *ctx)
 Gets humidity in percentage [ % ] function.
 
float environment_get_pressure (environment_t *ctx)
 Gets pressure in degrees Celsius function.
 
uint32_t environment_get_gas_resistance (environment_t *ctx)
 Gets gas resistance data function.
 

Detailed Description

This file contains API for Environment Click driver.