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

This file contains API for Pressure 23 30BA Click Driver. More...

#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  pressure2330ba_s
 Pressure 23 30BA Click context object. More...
 
struct  pressure2330ba_cfg_t
 Pressure 23 30BA Click configuration object. More...
 
struct  pressure2330ba_sensor_cfg_t
 Pressure 23 30BA Click sensor configuration object. More...
 

Macros

#define PRESSURE2330BA_REG_SERIAL_NUMBER_MSB   0x02
 Pressure 23 30BA description register. More...
 
#define PRESSURE2330BA_REG_SERIAL_NUMBER_LSB   0x03
 
#define PRESSURE2330BA_REG_COEF_C1   0x04
 
#define PRESSURE2330BA_REG_COEF_C2   0x05
 
#define PRESSURE2330BA_REG_COEF_C3   0x06
 
#define PRESSURE2330BA_REG_COEF_C4   0x07
 
#define PRESSURE2330BA_REG_COEF_C5   0x08
 
#define PRESSURE2330BA_REG_COEF_C6   0x09
 
#define PRESSURE2330BA_REG_COEF_C7   0x0A
 
#define PRESSURE2330BA_REG_COEF_C8   0x0B
 
#define PRESSURE2330BA_REG_COEF_C9   0x0C
 
#define PRESSURE2330BA_REG_COEF_C10   0x0D
 
#define PRESSURE2330BA_REG_PROM_ID_CRC   0x0F
 
#define PRESSURE2330BA_CMD_RESET   0x10
 Pressure 23 30BA description command. More...
 
#define PRESSURE2330BA_CMD_WRITE_CONFIG_PRESS   0x20
 
#define PRESSURE2330BA_CMD_WRITE_CONFIG_TEMP   0x22
 
#define PRESSURE2330BA_CMD_READ_CONFIG_PRESS   0x28
 
#define PRESSURE2330BA_CMD_READ_CONFIG_TEMP   0x2A
 
#define PRESSURE2330BA_CMD_READ_MEMORY   0xE0
 
#define PRESSURE2330BA_CMD_START_CONVERSION   0x40
 
#define PRESSURE2330BA_CMD_START_CONVERSION_PRESS   0x44
 
#define PRESSURE2330BA_CMD_START_CONVERSION_TEMP   0x48
 
#define PRESSURE2330BA_CMD_READ_ADC_REG   0x50
 
#define PRESSURE2330BA_CMD_READ_ADC_REG_PRESS   0x54
 
#define PRESSURE2330BA_CMD_READ_ADC_REG_TEMP   0x58
 
#define PRESSURE2330BA_CMD_WRITE_OPERATION_REG   0x14
 
#define PRESSURE2330BA_CMD_READ_OPERATION_REG   0x16
 
#define PRESSURE2330BA_CMD_WRITE_INTERRUPT_MASK   0x18
 
#define PRESSURE2330BA_CMD_READ_INTERRUPT_MASK   0x1A
 
#define PRESSURE2330BA_CMD_WRITE_INTERRUPT_REG   0x1C
 
#define PRESSURE2330BA_CMD_READ_INTERRUPT_REG   0x1E
 
#define PRESSURE2330BA_CMD_WRITE_LIMIT_REG_TEMP_L   0x30
 
#define PRESSURE2330BA_CMD_WRITE_LIMIT_REG_TEMP_H   0x32
 
#define PRESSURE2330BA_CMD_WRITE_LIMIT_REG_PRESS_L   0x34
 
#define PRESSURE2330BA_CMD_WRITE_LIMIT_REG_PRESS_H   0x36
 
#define PRESSURE2330BA_CMD_READ_LIMIT_REG_TEMP_L   0x38
 
#define PRESSURE2330BA_CMD_READ_LIMIT_REG_TEMP_H   0x3A
 
#define PRESSURE2330BA_CMD_READ_LIMIT_REG_PRESS_L   0x3C
 
#define PRESSURE2330BA_CMD_READ_LIMIT_REG_PRESS_H   0x3E
 
#define PRESSURE2330BA_SNSR_CFG_SEL_PRESS   0x00
 Pressure 23 30BA description of sensor configuration data. More...
 
#define PRESSURE2330BA_SNSR_CFG_SEL_TEMP   0x01
 
#define PRESSURE2330BA_SNSR_CFG_SEL_BIT_MASK   0x01
 
#define PRESSURE2330BA_SNSR_CFG_RATIO_OFF   0x00
 
#define PRESSURE2330BA_SNSR_CFG_RATIO_1   0x01
 
#define PRESSURE2330BA_SNSR_CFG_RATIO_2   0x02
 
#define PRESSURE2330BA_SNSR_CFG_RATIO_4   0x03
 
#define PRESSURE2330BA_SNSR_CFG_RATIO_8   0x04
 
#define PRESSURE2330BA_SNSR_CFG_RATIO_16   0x05
 
#define PRESSURE2330BA_SNSR_CFG_RATIO_32   0x06
 
#define PRESSURE2330BA_SNSR_CFG_RATIO_BIT_MASK   0x07
 
#define PRESSURE2330BA_SNSR_CFG_FILTER_OFF   0x00
 
#define PRESSURE2330BA_SNSR_CFG_FILTER_2   0x01
 
#define PRESSURE2330BA_SNSR_CFG_FILTER_4   0x02
 
#define PRESSURE2330BA_SNSR_CFG_FILTER_8   0x03
 
#define PRESSURE2330BA_SNSR_CFG_FILTER_16   0x04
 
#define PRESSURE2330BA_SNSR_CFG_FILTER_32   0x05
 
#define PRESSURE2330BA_SNSR_CFG_FILTER_BIT_MASK   0x07
 
#define PRESSURE2330BA_SNSR_CFG_RES_24_BIT   0x00
 
#define PRESSURE2330BA_SNSR_CFG_RES_16_BIT   0x01
 
#define PRESSURE2330BA_SNSR_CFG_RES_8_BIT   0x02
 
#define PRESSURE2330BA_SNSR_CFG_RES_BIT_MASK   0x03
 
#define PRESSURE2330BA_SNSR_CFG_OSR_0   0x00
 
#define PRESSURE2330BA_SNSR_CFG_OSR_1   0x01
 
#define PRESSURE2330BA_SNSR_CFG_OSR_2   0x02
 
#define PRESSURE2330BA_SNSR_CFG_OSR_3   0x03
 
#define PRESSURE2330BA_SNSR_CFG_OSR_4   0x04
 
#define PRESSURE2330BA_SNSR_CFG_OSR_5   0x05
 
#define PRESSURE2330BA_SNSR_CFG_OSR_6   0x06
 
#define PRESSURE2330BA_SNSR_CFG_OSR_BIT_MASK   0x07
 
#define PRESSURE2330BA_CNV_ADC_SEL_PRESS   0x00
 Pressure 23 30BA description of conversion selection and ADC selection data. More...
 
#define PRESSURE2330BA_CNV_ADC_SEL_TEMP   0x01
 
#define PRESSURE2330BA_CNV_ADC_BIT_MASK   0x01
 
#define PRESSURE2330BA_CNV_ADC_REG_BIT_MASK   0x04
 
#define PRESSURE2330BA_OP_REG_FIFO_INT_TH_OFF   0x00
 Pressure 23 30BA description of operation register data. More...
 
#define PRESSURE2330BA_OP_REG_FIFO_INT_TH_BIT_MASK   0x1F
 
#define PRESSURE2330BA_OP_REG_FIFO_MODE_OFF   0x00
 
#define PRESSURE2330BA_OP_REG_FIFO_MODE_BIT_MASK   0x03
 
#define PRESSURE2330BA_OP_REG_DELAY_OFF   0x00
 
#define PRESSURE2330BA_OP_REG_DELAY_5_MS   0x01
 
#define PRESSURE2330BA_OP_REG_DELAY_10_MS   0x02
 
#define PRESSURE2330BA_OP_REG_DELAY_20_MS   0x03
 
#define PRESSURE2330BA_OP_REG_DELAY_50_MS   0x04
 
#define PRESSURE2330BA_OP_REG_DELAY_100_MS   0x05
 
#define PRESSURE2330BA_OP_REG_DELAY_200_MS   0x06
 
#define PRESSURE2330BA_OP_REG_DELAY_500_MS   0x07
 
#define PRESSURE2330BA_OP_REG_DELAY_1_SEC   0x08
 
#define PRESSURE2330BA_OP_REG_DELAY_2_SEC   0x09
 
#define PRESSURE2330BA_OP_REG_DELAY_5_SEC   0x0A
 
#define PRESSURE2330BA_OP_REG_DELAY_10_SEC   0x0B
 
#define PRESSURE2330BA_OP_REG_DELAY_20_SEC   0x0C
 
#define PRESSURE2330BA_OP_REG_DELAY_60_SEC   0x0D
 
#define PRESSURE2330BA_OP_REG_DELAY_BIT_MASK   0x0F
 
#define PRESSURE2330BA_LIM_REG_SEL_TEMP   0x00
 Pressure 23 30BA description of limit register data. More...
 
#define PRESSURE2330BA_LIM_REG_SEL_PRESS   0x01
 
#define PRESSURE2330BA_LIM_REG_SEL_BIT_MASK   0x01
 
#define PRESSURE2330BA_LIM_REG_LIM_LOW   0x00
 
#define PRESSURE2330BA_LIM_REG_LIM_HIGH   0x01
 
#define PRESSURE2330BA_LIM_REG_LIM_BIT_MASK   0x01
 
#define PRESSURE2330BA_COEF_TEMP_D2_DIV   536870912.0f
 Pressure 23 30BA calculation coefficients. More...
 
#define PRESSURE2330BA_COEF_TEMP_D1_DIV   34359738368.0f
 
#define PRESSURE2330BA_COEF_TEMP_C2_DIV   64.0f
 
#define PRESSURE2330BA_COEF_OFF_SENS_DIV   512.0f
 
#define PRESSURE2330BA_COEF_PRESS_DIV   4194304.0f
 
#define PRESSURE2330BA_DEVICE_ADDRESS_GND   0x77
 Pressure 23 30BA device address setting. More...
 
#define PRESSURE2330BA_DEVICE_ADDRESS_VCC   0x76
 
#define PRESSURE2330BA_SET_DATA_SAMPLE_EDGE   SET_SPI_DATA_SAMPLE_EDGE
 Data sample selection. More...
 
#define PRESSURE2330BA_SET_DATA_SAMPLE_MIDDLE   SET_SPI_DATA_SAMPLE_MIDDLE
 
#define PRESSURE2330BA_MAP_MIKROBUS(cfg, mikrobus)
 MikroBUS pin mapping. More...
 

Typedefs

typedef err_t(* pressure2330ba_master_io_t) (struct pressure2330ba_s *, uint8_t, uint8_t *, uint8_t)
 Pressure 23 30BA Click driver interface. More...
 
typedef struct pressure2330ba_s pressure2330ba_t
 Pressure 23 30BA Click context object. More...
 

Enumerations

enum  pressure2330ba_drv_t { PRESSURE2330BA_DRV_SEL_SPI, PRESSURE2330BA_DRV_SEL_I2C }
 Pressure 23 30BA Click driver selector. More...
 
enum  pressure2330ba_return_value_t { PRESSURE2330BA_OK = 0, PRESSURE2330BA_ERROR = -1 }
 Pressure 23 30BA Click return value data. More...
 

Functions

void pressure2330ba_cfg_setup (pressure2330ba_cfg_t *cfg)
 Pressure 23 30BA configuration object setup function. More...
 
void pressure2330ba_drv_interface_selection (pressure2330ba_cfg_t *cfg, pressure2330ba_drv_t drv_sel)
 Pressure 23 30BA driver interface setup function. More...
 
err_t pressure2330ba_init (pressure2330ba_t *ctx, pressure2330ba_cfg_t *cfg)
 Pressure 23 30BA initialization function. More...
 
err_t pressure2330ba_default_cfg (pressure2330ba_t *ctx)
 Pressure 23 30BA default configuration function. More...
 
err_t pressure2330ba_generic_write (pressure2330ba_t *ctx, uint8_t reg, uint8_t *data_in, uint8_t len)
 Pressure 23 30BA data writing function. More...
 
err_t pressure2330ba_generic_read (pressure2330ba_t *ctx, uint8_t reg, uint8_t *data_out, uint8_t len)
 Pressure 23 30BA data reading function. More...
 
err_t pressure2330ba_set_command (pressure2330ba_t *ctx, uint8_t cmd)
 Pressure 23 30BA set the command function. More...
 
err_t pressure2330ba_sw_reset (pressure2330ba_t *ctx)
 Pressure 23 30BA software reset function. More...
 
err_t pressure2330ba_read_memory (pressure2330ba_t *ctx, uint8_t reg, uint16_t *prom)
 Pressure 23 30BA read memory function. More...
 
err_t pressure2330ba_start_conversion (pressure2330ba_t *ctx, uint8_t sel_cnv)
 Pressure 23 30BA start the conversion function. More...
 
err_t pressure2330ba_write_config (pressure2330ba_t *ctx, pressure2330ba_sensor_cfg_t config)
 Pressure 23 30BA configuration data writing function. More...
 
err_t pressure2330ba_read_config (pressure2330ba_t *ctx, uint8_t sel_cfg, pressure2330ba_sensor_cfg_t *config)
 Pressure 23 30BA configuration data reading function. More...
 
err_t pressure2330ba_read_adc (pressure2330ba_t *ctx, uint8_t sel_data, uint32_t *adc_data)
 Pressure 23 30BA ADC data reading function. More...
 
err_t pressure2330ba_write_op_reg (pressure2330ba_t *ctx, uint8_t fifo_int_th, uint8_t fifo_mode, uint8_t delay)
 Pressure 23 30BA operation register data writing function. More...
 
err_t pressure2330ba_read_op_reg (pressure2330ba_t *ctx, uint8_t *fifo_int_th, uint8_t *fifo_mode, uint8_t *delay)
 Pressure 23 30BA operation register data reading function. More...
 
err_t pressure2330ba_write_int_mask (pressure2330ba_t *ctx, uint16_t int_mask_data)
 Pressure 23 30BA interrupt mask data writing function. More...
 
err_t pressure2330ba_read_int_mask (pressure2330ba_t *ctx, uint16_t *int_mask_data)
 Pressure 23 30BA interrupt mask data reading function. More...
 
err_t pressure2330ba_write_int_reg (pressure2330ba_t *ctx, uint16_t int_reg_data)
 Pressure 23 30BA interrupt register data writing function. More...
 
err_t pressure2330ba_read_int_reg (pressure2330ba_t *ctx, uint16_t *int_reg_data)
 Pressure 23 30BA interrupt register data reading function. More...
 
err_t pressure2330ba_write_lim_reg (pressure2330ba_t *ctx, uint8_t sel_adr, uint8_t sel_lim, uint16_t lim_reg_data)
 Pressure 23 30BA limit register data writing function. More...
 
err_t pressure2330ba_read_lim_reg (pressure2330ba_t *ctx, uint8_t sel_adr, uint8_t sel_lim, uint16_t *lim_reg_data)
 Pressure 23 30BA limit register data reading function. More...
 
err_t pressure2330ba_get_adc_data_press (pressure2330ba_t *ctx, uint32_t *pressure)
 Pressure 23 30BA get the ADC pressure data function. More...
 
err_t pressure2330ba_get_adc_data_temp (pressure2330ba_t *ctx, uint32_t *temperature)
 Pressure 23 30BA get the ADC temperature data function. More...
 
err_t pressure2330ba_get_calibration_data (pressure2330ba_t *ctx)
 Pressure 23 30BA gets the calibration data function. More...
 
err_t pressure2330ba_get_measurement_data (pressure2330ba_t *ctx, float *pressure, float *temperature)
 Pressure 23 30BA gets the measurement data function. More...
 
uint8_t pressure2330ba_get_interrupt (pressure2330ba_t *ctx)
 Pressure 23 30BA gets the interrupt function. More...
 

Detailed Description

This file contains API for Pressure 23 30BA Click Driver.

Typedef Documentation

◆ pressure2330ba_master_io_t

typedef err_t( * pressure2330ba_master_io_t) (struct pressure2330ba_s *, uint8_t, uint8_t *, uint8_t)

Pressure 23 30BA Click driver interface.

Definition of driver interface of Pressure 23 30BA Click driver. Driver serial interface.

◆ pressure2330ba_t

Pressure 23 30BA Click context object.

Context object definition of Pressure 23 30BA Click driver.

Enumeration Type Documentation

◆ pressure2330ba_drv_t

Pressure 23 30BA Click driver selector.

Selects target driver interface of Pressure 23 30BA Click driver.

Enumerator
PRESSURE2330BA_DRV_SEL_SPI 

SPI driver descriptor.

PRESSURE2330BA_DRV_SEL_I2C 

I2C driver descriptor.

◆ pressure2330ba_return_value_t

Pressure 23 30BA Click return value data.

Predefined enum values for driver return values.

Enumerator
PRESSURE2330BA_OK 
PRESSURE2330BA_ERROR