pressure9 2.0.0.0
pressure9.h File Reference

This file contains API for Pressure 9 Click driver. More...

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

Go to the source code of this file.

Data Structures

struct  pressure9_press_cal_coef_t
 Pressure calibration coefficient. More...
 
struct  pressure9_temp_cal_coef_t
 Temperature calibration coefficient. More...
 
struct  pressure9_s
 Click ctx object definition. More...
 
struct  pressure9_cfg_t
 Click configuration structure definition. More...
 

Macros

#define PRESSURE9_MAP_MIKROBUS(cfg, mikrobus)
 
#define PRESSURE9_MASTER_I2C   0
 
#define PRESSURE9_MASTER_SPI   1
 
#define PRESSURE9_OK   0
 
#define PRESSURE9_ERROR   -1
 
#define PRESSURE9_REG_PRESSURE_DATA_B2   0x00
 
#define PRESSURE9_REG_PRESSURE_DATA_B1   0x01
 
#define PRESSURE9_REG_PRESSURE_DATA_B0   0x02
 
#define PRESSURE9_REG_TEMPERATRE_DATA_B2   0x03
 
#define PRESSURE9_REG_TEMPERATRE_DATA_B1   0x04
 
#define PRESSURE9_REG_TEMPERATRE_DATA_B0   0x05
 
#define PRESSURE9_REG_PRESSURE_CONFIG   0x06
 
#define PRESSURE9_REG_TEMPERATURE_CONFIG   0x07
 
#define PRESSURE9_REG_MEASUREMENT_CONFIG   0x08
 
#define PRESSURE9_REG_CONFIGURATION   0x09
 
#define PRESSURE9_REG_INT_STATUS   0x0A
 
#define PRESSURE9_REG_WATERMARK_CONFIG   0x0B
 
#define PRESSURE9_REG_FIFO_STATUS   0x0C
 
#define PRESSURE9_REG_RESET   0x0D
 
#define PRESSURE9_REG_PRODUCT_ID   0x1D
 
#define PRESSURE9_T_GAIN_COEFF   0x20
 
#define PRESSURE9_T_DVBE_COEFF   0x21
 
#define PRESSURE9_T_VBE_COEFF   0x22
 
#define PRESSURE9_COEFF_REG_1   0x26
 
#define PRESSURE9_COEFF_REG_2   0x27
 
#define PRESSURE9_COEFF_REG_3   0x28
 
#define PRESSURE9_COEFF_REG_4   0x29
 
#define PRESSURE9_COEFF_REG_5   0x2A
 
#define PRESSURE9_COEFF_REG_6   0x2B
 
#define PRESSURE9_COEFF_REG_7   0x2C
 
#define PRESSURE9_COEFF_REG_8   0x2D
 
#define PRESSURE9_COEFF_REG_9   0x2E
 
#define PRESSURE9_COEFF_REG_10   0x2F
 
#define PRESSURE9_COEFF_REG_11   0x30
 
#define PRESSURE9_COEFF_REG_12   0x31
 
#define PRESSURE9_COEFF_REG_13   0x32
 
#define PRESSURE9_COEFF_REG_14   0x33
 
#define PRESSURE9_COEFF_REG_15   0x34
 
#define PRESSURE9_COEFF_REG_16   0x35
 
#define PRESSURE9_COEFF_REG_17   0x36
 
#define PRESSURE9_COEFF_REG_18   0x37
 
#define PRESSURE9_PTCFG_RATE_1_SAMPLE_SEC   0x00
 
#define PRESSURE9_PTCFG_RATE_2_SAMPLES_SEC   0x10
 
#define PRESSURE9_PTCFG_RATE_4_SAMPLES_SEC   0x20
 
#define PRESSURE9_PTCFG_RATE_8_SAMPLES_SEC   0x30
 
#define PRESSURE9_PTCFG_RATE_16_SAMPLES_SEC   0x40
 
#define PRESSURE9_PTCFG_RATE_32_SAMPLES_SEC   0x50
 
#define PRESSURE9_PTCFG_RATE_64_SAMPLES_SEC   0x60
 
#define PRESSURE9_PTCFG_RATE_128_SAMPLES_SEC   0x70
 
#define PRESSURE9_PTCFG_RES_X1_256_SAMPLES   0x00
 
#define PRESSURE9_PTCFG_RES_X2_512_SAMPLES   0x01
 
#define PRESSURE9_PTCFG_RES_X4_1024_SAMPLES   0x02
 
#define PRESSURE9_PTCFG_RES_X8_2048_SAMPLES   0x03
 
#define PRESSURE9_PTCFG_RES_X16_4096_SAMPLES   0x04
 
#define PRESSURE9_PTCFG_RES_X32_8192_SAMPLES   0x05
 
#define PRESSURE9_PTCFG_RES_X64_16384_SAMPLES   0x06
 
#define PRESSURE9_PTCFG_RES_X128_32768_SAMPLES   0x07
 
#define PRESSURE9_MCFG_IDLE_STOP_BACKGROUND   0x00
 
#define PRESSURE9_MCFG_PRESSURE_MEASUREMENT   0x01
 
#define PRESSURE9_MCFG_TEMPERATURE_MEASUREMENT   0x02
 
#define PRESSURE9_MCFG_TEMP_AND_PRESS_ONE_SHOT   0x03
 
#define PRESSURE9_MCFG_PRESSURE_MEASUREMENT_CONT   0x05
 
#define PRESSURE9_MCFG_TEMPERATURE_MEASUREMENT_CONT   0x06
 
#define PRESSURE9_MCFG_TEMP_AND_PRESS_CONT   0x07
 
#define PRESSURE9_CFG_SINT_NO_INT_ENABLED   0x00
 
#define PRESSURE9_CFG_SINT_PRESS_INT_ENABLED   0x10
 
#define PRESSURE9_CFG_SINT_TEMP_INT_ENABLED   0x20
 
#define PRESSURE9_CFG_SINT_PRESS_AND_TEMP_INT_EN   0x30
 
#define PRESSURE9_CFG_SINT_FIFO_WM_INT_ENABLED   0x40
 
#define PRESSURE9_CFG_SINT_FIFO_FULL_INT_ENABLED   0x80
 
#define PRESSURE9_CFG_PINT_INT_ACTIVE_LOW   0x00
 
#define PRESSURE9_CFG_PINT_INT_ACTIVE_HIGH   0x08
 
#define PRESSURE9_CFG_FIFO_SF_STREAMING_MODE   0x00
 
#define PRESSURE9_CFG_FIFO_SF_FULL_MODE   0x04
 
#define PRESSURE9_CFG_FIFO_EN_ENABLED   0x02
 
#define PRESSURE9_CFG_FIFO_EN_DISABLED   0x00
 
#define PRESSURE9_CFG_SPI_MODE_4_WIRE   0x00
 
#define PRESSURE9_CFG_SPI_MODE_3_WIRE   0x01
 
#define PRESSURE9_RESET_CONFIGURATION_REG   0x08
 
#define PRESSURE9_FULL_SOFTWARE_RESET   0x09
 
#define PRESSURE9_FIFO_FLUSH   0x80
 
#define PRESSURE9_DEV_SLAVE_ADR_GND   0x76
 
#define PRESSURE9_DEV_SLAVE_ADR_VCC   0x77
 
#define PRESSURE9_PRODUCT_ID   0x1A
 
#define PRESSURE9_PRESSURE_COEFFICIENT_C00   0x00
 
#define PRESSURE9_PRESSURE_COEFFICIENT_C01   0x01
 
#define PRESSURE9_PRESSURE_COEFFICIENT_C02   0x02
 
#define PRESSURE9_PRESSURE_COEFFICIENT_C10   0x10
 
#define PRESSURE9_PRESSURE_COEFFICIENT_C20   0x20
 
#define PRESSURE9_PRESSURE_COEFFICIENT_C30   0x30
 
#define PRESSURE9_PRESSURE_COEFFICIENT_C11   0x11
 
#define PRESSURE9_PRESSURE_COEFFICIENT_C12   0x12
 
#define PRESSURE9_PRESSURE_COEFFICIENT_C21   0x21
 
#define PRESSURE9_TEMP_COEFFICIENT_T_GAIN   0x03
 
#define PRESSURE9_TEMP_COEFFICIENT_T_DVBE   0x04
 
#define PRESSURE9_TEMP_COEFFICIENT_T_VBE   0x05
 
#define PRESSURE9_COEFF_CAL_00   0x00
 
#define PRESSURE9_COEFF_CAL_10   0x10
 
#define PRESSURE9_COEFF_CAL_01   0x01
 
#define PRESSURE9_COEFF_CAL_02   0x02
 
#define PRESSURE9_COEFF_CAL_20   0x20
 
#define PRESSURE9_COEFF_CAL_30   0x30
 
#define PRESSURE9_COEFF_CAL_11   0x11
 
#define PRESSURE9_COEFF_CAL_12   0x12
 
#define PRESSURE9_COEFF_CAL_21   0x21
 
#define PRESSURE9_COEFF_T_GAIN   0x03
 
#define PRESSURE9_COEFF_T_DVBE   0x04
 
#define PRESSURE9_COEFF_T_VBE   0x05
 

Typedefs

typedef void(* pressure9_master_io_t) (struct pressure9_s *, uint8_t, uint8_t *, uint8_t)
 Master Input/Output type.
 
typedef struct pressure9_s pressure9_t
 Click ctx object definition.
 

Functions

void pressure9_cfg_setup (pressure9_cfg_t *cfg)
 Config Object Initialization function.
 
err_t pressure9_init (pressure9_t *ctx, pressure9_cfg_t *cfg)
 Initialization function.
 
void pressure9_default_cfg (pressure9_t *ctx)
 Click Default Configuration function.
 
void pressure9_generic_write (pressure9_t *ctx, uint8_t reg, uint8_t *data_buf, uint8_t len)
 Generic write function.
 
void pressure9_generic_read (pressure9_t *ctx, uint8_t reg, uint8_t *data_buf, uint8_t len)
 Generic read function.
 
void pressure9_configuration (pressure9_t *ctx, uint8_t reg_adr, uint8_t data_in)
 Writing data to the configuration registers.
 
int32_t pressure9_get_coefficients (pressure9_t *ctx, uint8_t coeff)
 Get calibration coefficients.
 
void pressure9_update_calc_coef (pressure9_t *ctx)
 Update all calibration coefficients.
 
int32_t pressure9_get_temperature_raw (pressure9_t *ctx)
 Get Temperature Raw data.
 
int32_t pressure9_get_pressure_raw (pressure9_t *ctx)
 Get Pressure Raw data.
 
float pressure9_get_pressure_data (pressure9_t *ctx)
 Get Pressure data in mBar.
 
float pressure9_get_temperature_data (pressure9_t *ctx)
 Get Temperature data in C.
 

Detailed Description

This file contains API for Pressure 9 Click driver.

Macro Definition Documentation

◆ PRESSURE9_COEFF_CAL_00

#define PRESSURE9_COEFF_CAL_00   0x00

◆ PRESSURE9_COEFF_CAL_01

#define PRESSURE9_COEFF_CAL_01   0x01

◆ PRESSURE9_COEFF_CAL_02

#define PRESSURE9_COEFF_CAL_02   0x02

◆ PRESSURE9_COEFF_CAL_10

#define PRESSURE9_COEFF_CAL_10   0x10

◆ PRESSURE9_COEFF_CAL_11

#define PRESSURE9_COEFF_CAL_11   0x11

◆ PRESSURE9_COEFF_CAL_12

#define PRESSURE9_COEFF_CAL_12   0x12

◆ PRESSURE9_COEFF_CAL_20

#define PRESSURE9_COEFF_CAL_20   0x20

◆ PRESSURE9_COEFF_CAL_21

#define PRESSURE9_COEFF_CAL_21   0x21

◆ PRESSURE9_COEFF_CAL_30

#define PRESSURE9_COEFF_CAL_30   0x30

◆ PRESSURE9_COEFF_T_DVBE

#define PRESSURE9_COEFF_T_DVBE   0x04

◆ PRESSURE9_COEFF_T_GAIN

#define PRESSURE9_COEFF_T_GAIN   0x03

◆ PRESSURE9_COEFF_T_VBE

#define PRESSURE9_COEFF_T_VBE   0x05

◆ PRESSURE9_DEV_SLAVE_ADR_GND

#define PRESSURE9_DEV_SLAVE_ADR_GND   0x76

◆ PRESSURE9_DEV_SLAVE_ADR_VCC

#define PRESSURE9_DEV_SLAVE_ADR_VCC   0x77

◆ PRESSURE9_FIFO_FLUSH

#define PRESSURE9_FIFO_FLUSH   0x80

◆ PRESSURE9_FULL_SOFTWARE_RESET

#define PRESSURE9_FULL_SOFTWARE_RESET   0x09

◆ PRESSURE9_PRESSURE_COEFFICIENT_C00

#define PRESSURE9_PRESSURE_COEFFICIENT_C00   0x00

◆ PRESSURE9_PRESSURE_COEFFICIENT_C01

#define PRESSURE9_PRESSURE_COEFFICIENT_C01   0x01

◆ PRESSURE9_PRESSURE_COEFFICIENT_C02

#define PRESSURE9_PRESSURE_COEFFICIENT_C02   0x02

◆ PRESSURE9_PRESSURE_COEFFICIENT_C10

#define PRESSURE9_PRESSURE_COEFFICIENT_C10   0x10

◆ PRESSURE9_PRESSURE_COEFFICIENT_C11

#define PRESSURE9_PRESSURE_COEFFICIENT_C11   0x11

◆ PRESSURE9_PRESSURE_COEFFICIENT_C12

#define PRESSURE9_PRESSURE_COEFFICIENT_C12   0x12

◆ PRESSURE9_PRESSURE_COEFFICIENT_C20

#define PRESSURE9_PRESSURE_COEFFICIENT_C20   0x20

◆ PRESSURE9_PRESSURE_COEFFICIENT_C21

#define PRESSURE9_PRESSURE_COEFFICIENT_C21   0x21

◆ PRESSURE9_PRESSURE_COEFFICIENT_C30

#define PRESSURE9_PRESSURE_COEFFICIENT_C30   0x30

◆ PRESSURE9_PRODUCT_ID

#define PRESSURE9_PRODUCT_ID   0x1A

◆ PRESSURE9_RESET_CONFIGURATION_REG

#define PRESSURE9_RESET_CONFIGURATION_REG   0x08

◆ PRESSURE9_TEMP_COEFFICIENT_T_DVBE

#define PRESSURE9_TEMP_COEFFICIENT_T_DVBE   0x04

◆ PRESSURE9_TEMP_COEFFICIENT_T_GAIN

#define PRESSURE9_TEMP_COEFFICIENT_T_GAIN   0x03

◆ PRESSURE9_TEMP_COEFFICIENT_T_VBE

#define PRESSURE9_TEMP_COEFFICIENT_T_VBE   0x05