thermo5 2.0.0.0
thermo5.h File Reference

This file contains API for THERMO 5 Click driver. More...

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

Go to the source code of this file.

Data Structures

struct  thermo5_t
 Click ctx object definition. More...
 
struct  thermo5_cfg_t
 Click configuration structure definition. More...
 

Macros

#define THERMO5_MAP_MIKROBUS(cfg, mikrobus)
 
#define THERMO5_RETVAL   uint8_t
 
#define THERMO5_OK   0x00
 
#define THERMO5_INIT_ERROR   0xFF
 
#define THERMO5_I2C_ADDRESS   0x4C
 
#define THERMO5_INTER_DIO_DATA_HI_BYTE   0x00
 
#define THERMO5_INTER_DIO_DATA_LO_BYTE   0x29
 
#define THERMO5_EXTER_DIO_1_DATA_HI_BYTE   0x01
 
#define THERMO5_EXTER_DIO_1_DATA_LO_BYTE   0x10
 
#define THERMO5_EXTER_DIO_2_DATA_HI_BYTE   0x23
 
#define THERMO5_EXTER_DIO_2_DATA_LO_BYTE   0x24
 
#define THERMO5_EXTER_DIO_3_HI_BYTE   0x2A
 
#define THERMO5_EXTER_DIO_3_LO_BYTE   0x2B
 
#define THERMO5_INTER_DIODE   0x0029
 
#define THERMO5_EXTER_DIODE1   0x0110
 
#define THERMO5_EXTER_DIODE2   0x2324
 
#define THERMO5_EXTER_DIODE3   0x2A2B
 
#define THERMO5_STAT   0x02
 
#define THERMO5_CONFIG   0x03
 
#define THERMO5_CONVERS_RATE   0x04
 
#define THERMO5_INTER_DIO_HI_LIM   0x05
 
#define THERMO5_INTER_DIO_LO_LIM   0x06
 
#define THERMO5_EXTER_DIO_1_HI_LIM_HI_BYTE   0x07
 
#define THERMO5_EXTER_DIO_1_HI_LIM_LO_BYTE   0x13
 
#define THERMO5_EXTER_DIO_1_LO_LIM_HI_BYTE   0x08
 
#define THERMO5_EXTER_DIO_1_LO_LIM_LO_BYTE   0x14
 
#define THERMO5_EXTER_DIO_2_HI_LIM_HI_BYTE   0x15
 
#define THERMO5_EXTER_DIO_2_LO_LIM_HI_BYTE   0x16
 
#define THERMO5_EXTER_DIO_2_HI_LIM_LO_BYTE   0x17
 
#define THERMO5_EXTER_DIO_2_LO_LIM_LO_BYTE   0x18
 
#define THERMO5_EXTER_DIO_3_HI_LIM_HI_BYTE   0x2C
 
#define THERMO5_EXTER_DIO_3_LO_LIM_HI_BYTE   0x2D
 
#define THERMO5_EXTER_DIO_3_HI_LIM_LO_BYTE   0x2E
 
#define THERMO5_EXTER_DIO_3_LO_LIM_LO_BYTE   0x2F
 
#define THERMO5_SCRATCHPAD_1   0x11
 
#define THERMO5_SCRATCHPAD_2   0x12
 
#define THERMO5_ONE_SHOT   0x0F
 
#define THERMO5_EXTER_DIO_1_THERM_LIM   0x19
 
#define THERMO5_EXTER_DIO_2_THERM_LIM   0x1A
 
#define THERMO5_INTER_DIO_THERM_LIM   0x20
 
#define THERMO5_THERM_HYSTERESIS   0x21
 
#define THERMO5_EXTER_DIO_3_THERM_LIM   0x30
 
#define THERMO5_EXTER_DIO_FAULT   0x1B
 
#define THERMO5_CHANNEL_MASK_REGISTER   0x1F
 
#define THERMO5_CONSECUTIVE_ALERT   0x22
 
#define THERMO5_EXTER_DIO_1_BETA_CONFIG   0x25
 
#define THERMO5_EXTER_DIO_2_BETA_CONFIG   0x26
 
#define THERMO5_EXTER_DIO_1_IDE_FAC   0x27
 
#define THERMO5_EXTER_DIO_2_IDE_FAC   0x28
 
#define THERMO5_EXTER_DIO_3_IDE_FAC   0x31
 
#define THERMO5_HI_LIM_STAT   0x35
 
#define THERMO5_LO_LIM_STAT   0x36
 
#define THERMO5_THERM_LIM_STAT   0x37
 
#define THERMO5_FILTER_CONTROL   0x40
 
#define THERMO5_PRODUCT_ID   0xFD
 
#define THERMO5_MANUFACTURER_ID   0xFE
 
#define THERMO5_REVISION   0xFF
 
#define THERMO5_CONVER_RATE_0_0625   0x00
 
#define THERMO5_CONVER_RATE_0_125   0x01
 
#define THERMO5_CONVER_RATE_0_25   0x02
 
#define THERMO5_CONVER_RATE_0_5   0x03
 
#define THERMO5_CONVER_RATE_1   0x04
 
#define THERMO5_CONVER_RATE_2   0x05
 
#define THERMO5_CONVER_RATE_4   0x06
 
#define THERMO5_CONVER_RATE_8   0x07
 
#define THERMO5_CONVER_RATE_16   0x08
 
#define THERMO5_CONVER_RATE_32   0x09
 
#define THERMO5_CONVER_RATE_64   0x0A
 
#define THERMO5_FILTER_DECODE_DISABLE   0x00
 
#define THERMO5_FILTER_DECODE_LEVEL_1   0x01
 
#define THERMO5_FILTER_DECODE_AVERAGE   0x02
 
#define THERMO5_FILTER_DECODE_LEVEL_2   0x03
 

Functions

void thermo5_cfg_setup (thermo5_cfg_t *cfg)
 Config Object Initialization function.
 
THERMO5_RETVAL thermo5_init (thermo5_t *ctx, thermo5_cfg_t *cfg)
 Initialization function.
 
void thermo5_generic_write (thermo5_t *ctx, uint8_t reg, uint8_t *data_buf, uint8_t len)
 Generic write function.
 
void thermo5_generic_read (thermo5_t *ctx, uint8_t reg, uint8_t *data_buf, uint8_t len)
 Generic read function.
 
void thermo5_write_byte (thermo5_t *ctx, uint8_t wr_addr, uint8_t wr_data)
 Write byte function.
 
uint8_t thermo5_read_byte (thermo5_t *ctx, uint8_t rd_addr)
 Read byte function.
 
uint16_t thermo5_read_data (thermo5_t *ctx, uint16_t reg_addr)
 Read data function.
 
float thermo5_read_inter_temp (thermo5_t *ctx)
 Read internal diode temperature function.
 
float thermo5_read_extern_1_temp (thermo5_t *ctx)
 Read external diode 1 temperature function.
 
float thermo5_read_extern_2_temp (thermo5_t *ctx)
 Read external diode 2 temperature function.
 
float thermo5_read_extern_3_temp (thermo5_t *ctx)
 Read external diode 3 temperature function.
 
uint8_t thermo5_read_product_id (thermo5_t *ctx)
 Read product ID function.
 
uint8_t thermo5_read_manufacturer_id (thermo5_t *ctx)
 Read manufacturer ID function.
 
uint8_t thermo5_read_revision_register (thermo5_t *ctx)
 Read revision register function.
 
uint8_t thermo5_get_interrupt_state (thermo5_t *ctx)
 Get interrupt state function.
 
uint8_t thermo5_read_stat_reg (thermo5_t *ctx)
 Read status register function.
 
uint8_t thermo5_read_therm_limit_stat (thermo5_t *ctx)
 Read therm limit status function.
 
uint8_t thermo5_read_exter_diode_fault (thermo5_t *ctx)
 Read external diode fault function.
 
uint8_t thermo5_read_low_limit_stat (thermo5_t *ctx)
 Read low limit status function.
 
uint8_t thermo5_read_high_limit_stat (thermo5_t *ctx)
 Read high limit status function.
 
void thermo5_write_config (thermo5_t *ctx, uint8_t wr_data)
 Write configuration function.
 
uint8_t thermo5_read_config (thermo5_t *ctx)
 Read configuration function.
 
void thermo5_set_convers_rate (thermo5_t *ctx, uint8_t convers_rate)
 Set conversion rate function.
 
uint8_t thermo5_read_convers_rate (thermo5_t *ctx)
 Read conversion rate function.
 
void thermo5_set_filter_rate (thermo5_t *ctx, uint8_t filter_decode_rate)
 Filter configuration function.
 
uint8_t thermo5_read_filter_rate (thermo5_t *ctx)
 Read filter configuration function.
 
void thermo5_set_diode_1_beta_config (thermo5_t *ctx, uint8_t enable)
 Set External Diode 1 Beta Configuration function.
 
uint8_t thermo5_read_diode_1_beta_config (thermo5_t *ctx)
 Read External Diode 1 Beta Configuration function.
 
void thermo5_set_diode_2_beta_config (thermo5_t *ctx, uint8_t enable)
 Set External Diode 2 Beta Configuration function.
 
uint8_t thermo5_read_diode_2_beta_config (thermo5_t *ctx)
 Read External Diode 2 Beta Configuration function.
 

Detailed Description

This file contains API for THERMO 5 Click driver.