temphum16 2.0.0.0
temphum16.h File Reference

This file contains API for Temp&Hum 16 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  temphum16_s
 Temp&Hum 16 Click context object. More...
 
struct  temphum16_cfg_t
 Temp&Hum 16 Click configuration object. More...
 

Macros

#define TEMPHUM16_REG_DEVICE_ID   0x0F
 Temp&Hum 16 description register.
 
#define TEMPHUM16_REG_AVERAGE   0x10
 
#define TEMPHUM16_REG_CTRL_1   0x20
 
#define TEMPHUM16_REG_CTRL_2   0x21
 
#define TEMPHUM16_REG_CTRL_3   0x22
 
#define TEMPHUM16_REG_STATUS   0x27
 
#define TEMPHUM16_REG_H_OUT_L   0x28
 
#define TEMPHUM16_REG_H_OUT_H   0x29
 
#define TEMPHUM16_REG_T_OUT_L   0x2A
 
#define TEMPHUM16_REG_T_OUT_H   0x2B
 
#define TEMPHUM16_REG_H0_RH_X2   0x30
 
#define TEMPHUM16_REG_H1_RH_X2   0x31
 
#define TEMPHUM16_REG_T0_DEGC_X8   0x32
 
#define TEMPHUM16_REG_T1_DEGC_X8   0x33
 
#define TEMPHUM16_REG_T0_T1_DEGC_H2   0x35
 
#define TEMPHUM16_REG_H0_T0_OUT_L   0x36
 
#define TEMPHUM16_REG_H0_T0_OUT_H   0x37
 
#define TEMPHUM16_REG_H1_T0_OUT_L   0x3A
 
#define TEMPHUM16_REG_H1_T0_OUT_H   0x3B
 
#define TEMPHUM16_REG_T0_OUT_L   0x3C
 
#define TEMPHUM16_REG_T0_OUT_H   0x3D
 
#define TEMPHUM16_REG_T1_OUT_L   0x3E
 
#define TEMPHUM16_REG_T1_OUT_H   0x3F
 
#define TEMPHUM16_PWR_MODE_POWER_DOWN   0x00
 Temp&Hum 16 description setting.
 
#define TEMPHUM16_PWR_MODE_CONTINUOUS   0x01
 
#define TEMPHUM16_BDU_CONTINUOUS_UPDATE   0x00
 
#define TEMPHUM16_BDU_NOT_UPDAT_UNTIL_READ   0x01
 
#define TEMPHUM16_ODR_ONE_SHOT_MODE   0x00
 
#define TEMPHUM16_ODR_1_Hz   0x01
 
#define TEMPHUM16_ODR_7_Hz   0x02
 
#define TEMPHUM16_ODR_12_5_Hz   0x03
 
#define TEMPHUM16_HEATER_DISABLE   0x00
 
#define TEMPHUM16_HEATER_ENABLE   0x01
 
#define TEMPHUM16_DEVICE_ID   0xBC
 Temp&Hum 16 device ID value.
 
#define TEMPHUM16_DRDY   0x01
 Temp&Hum 16 data ready.
 
#define TEMPHUM16_SET_DEV_ADDR   0x5F
 Temp&Hum 16 device address setting.
 
#define TEMPHUM16_MAP_MIKROBUS(cfg, mikrobus)
 MikroBUS pin mapping.
 

Typedefs

typedef err_t(* temphum16_master_io_t) (struct temphum16_s *, uint8_t, uint8_t *, uint8_t)
 Temp&Hum 16 Click driver interface.
 
typedef struct temphum16_s temphum16_t
 Temp&Hum 16 Click context object.
 

Enumerations

enum  temphum16_drv_t { TEMPHUM16_DRV_SEL_SPI , TEMPHUM16_DRV_SEL_I2C }
 Temp&Hum 16 Click driver selector. More...
 
enum  temphum16_return_value_t { TEMPHUM16_OK = 0 , TEMPHUM16_ERROR = -1 }
 Temp&Hum 16 Click return value data. More...
 

Functions

void temphum16_cfg_setup (temphum16_cfg_t *cfg)
 Temp&Hum 16 configuration object setup function.
 
void temphum16_drv_interface_selection (temphum16_cfg_t *cfg, temphum16_drv_t drv_sel)
 Temp&Hum 16 driver interface setup function.
 
err_t temphum16_init (temphum16_t *ctx, temphum16_cfg_t *cfg)
 Temp&Hum 16 initialization function.
 
err_t temphum16_default_cfg (temphum16_t *ctx)
 Temp&Hum 16 default configuration function.
 
err_t temphum16_generic_write (temphum16_t *ctx, uint8_t reg, uint8_t *data_in, uint8_t len)
 Temp&Hum 16 data writing function.
 
err_t temphum16_generic_read (temphum16_t *ctx, uint8_t reg, uint8_t *data_out, uint8_t len)
 Temp&Hum 16 data reading function.
 
err_t temphum16_get_device_id (temphum16_t *ctx, uint8_t *device_id)
 Temp&Hum 16 get device ID function.
 
err_t temphum16_power_mode (temphum16_t *ctx, uint8_t pwr_mode)
 Temp&Hum 16 set power mode function.
 
err_t temphum16_bdu_mode (temphum16_t *ctx, uint8_t bdu_mode)
 Temp&Hum 16 set block data update mode function.
 
err_t temphum16_set_odr (temphum16_t *ctx, uint8_t odr)
 Temp&Hum 16 set output data rate function.
 
err_t temphum16_heater (temphum16_t *ctx, uint8_t heater_mode)
 Temp&Hum 16 heater function.
 
err_t temphum16_enable_data_ready_interrupt (temphum16_t *ctx)
 Temp&Hum 16 enable data ready interrupt function.
 
err_t temphum16_get_status (temphum16_t *ctx, uint8_t *status)
 Temp&Hum 16 get status function.
 
uint8_t temphum16_check_ready (temphum16_t *ctx)
 Temp&Hum 16 check ready function.
 
err_t temphum16_get_humidity (temphum16_t *ctx, float *humidity)
 Temp&Hum 16 get humidity function.
 
err_t temphum16_get_temperature (temphum16_t *ctx, float *temperature)
 Temp&Hum 16 get temperature function.
 

Detailed Description

This file contains API for Temp&Hum 16 Click Driver.

Typedef Documentation

◆ temphum16_master_io_t

typedef err_t(* temphum16_master_io_t) (struct temphum16_s *, uint8_t, uint8_t *, uint8_t)

Temp&Hum 16 Click driver interface.

Definition of driver interface of Temp&Hum 16 Click driver. Driver serial interface.

◆ temphum16_t

typedef struct temphum16_s temphum16_t

Temp&Hum 16 Click context object.

Context object definition of Temp&Hum 16 Click driver.

Enumeration Type Documentation

◆ temphum16_drv_t

Temp&Hum 16 Click driver selector.

Selects target driver interface of Temp&Hum 16 Click driver.

Enumerator
TEMPHUM16_DRV_SEL_SPI 

SPI driver descriptor.

TEMPHUM16_DRV_SEL_I2C 

I2C driver descriptor.

◆ temphum16_return_value_t

Temp&Hum 16 Click return value data.

Predefined enum values for driver return values.

Enumerator
TEMPHUM16_OK 
TEMPHUM16_ERROR