remotetemp 2.0.0.0
remotetemp.h File Reference

This file contains API for Remote Temp 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  remotetemp_t
 Click ctx object definition. More...
 
struct  remotetemp_cfg_t
 Click configuration structure definition. More...
 

Macros

#define REMOTETEMP_MAP_MIKROBUS(cfg, mikrobus)
 
#define REMOTETEMP_RETVAL   uint8_t
 
#define REMOTETEMP_OK   0x00
 
#define REMOTETEMP_INIT_ERROR   0xFF
 
#define REMOTETEMP_DEVICE_ADDRESS_4p7   0x7C
 
#define REMOTETEMP_DEVICE_ADDRESS_6p8   0x5C
 
#define REMOTETEMP_DEVICE_ADDRESS_10   0x4C
 
#define REMOTETEMP_DEVICE_ADDRESS_15   0x6C
 
#define REMOTETEMP_DEVICE_ADDRESS_22   0x1C
 
#define REMOTETEMP_DEVICE_ADDRESS_33   0x3C
 
#define REMOTETEMP_RANGE_0_127   0x00
 
#define REMOTETEMP_RANGE_m64_191   0x01
 
#define REMOTETEMP_EXT_DIODE_1   0x01
 
#define REMOTETEMP_EXT_DIODE_2   0x02
 
#define REMOTETEMP_EXT_DIODE_3   0x03
 
#define REMOTETEMP_EXT_DIODE_4   0x04
 
#define REMOTETEMP_STATUS   0x02
 
#define REMOTETEMP_CONFIG   0x09
 
#define REMOTETEMP_CONVERT   0x0A
 
#define REMOTETEMP_INT_DIODE_HIGH_LIMIT   0x0B
 
#define REMOTETEMP_INT_DIODE_LOW_LIMIT   0x0C
 
#define REMOTETEMP_EXT1_HIGH_LIMIT_HIGH_BYTE   0x0D
 
#define REMOTETEMP_EXT1_LOW_LIMIT_HIGH_BYTE   0x0E
 
#define REMOTETEMP_ONE_SHOT   0x0F
 
#define REMOTETEMP_SCRTCHPD1   0x11
 
#define REMOTETEMP_SCRTCHPD2   0x12
 
#define REMOTETEMP_EXT1_HIGH_LIMIT_LOW_BYTE   0x13
 
#define REMOTETEMP_EXT1_LOW_LIMIT_LOW_BYTE   0x14
 
#define REMOTETEMP_EXT2_HIGH_LIMIT_HIGH_BYTE   0x15
 
#define REMOTETEMP_EXT2_LOW_LIMIT_HIGH_BYTE   0x16
 
#define REMOTETEMP_EXT2_HIGH_LIMIT_LOW_BYTE   0x17
 
#define REMOTETEMP_EXT2_LOW_LIMIT_LOW_BYTE   0x18
 
#define REMOTETEMP_EXT1_THERM_LIMIT   0x19
 
#define REMOTETEMP_EXT2_THERM_LIMIT   0x1A
 
#define REMOTETEMP_EXTERNAL_DIODE_FAULT_STATUS   0x1B
 
#define REMOTETEMP_DIODE_FAULT_MASK   0x1F
 
#define REMOTETEMP_INT_DIODE_THERM_LIMIT   0x20
 
#define REMOTETEMP_THRM_HYS   0x21
 
#define REMOTETEMP_CONSEC_ALERT   0x22
 
#define REMOTETEMP_EXT1_BETA_CONFIG   0x25
 
#define REMOTETEMP_EXT2_BETA_CONFIG   0x26
 
#define REMOTETEMP_EXT1_IDEALITY_FACTOR   0x27
 
#define REMOTETEMP_EXT2_IDEALITY_FACTOR   0x28
 
#define REMOTETEMP_EXT3_HIGH_LIMIT_HIGH_BYTE   0x2C
 
#define REMOTETEMP_EXT3_LOW_LIMIT_HIGH_BYTE   0x2D
 
#define REMOTETEMP_EXT3_HIGH_LIMIT_LOW_BYTE   0x2E
 
#define REMOTETEMP_EXT3_LOW_LIMIT_LOW_BYTE   0x2F
 
#define REMOTETEMP_EXT3_THERM_LIMIT   0x30
 
#define REMOTETEMP_EXT3_IDEALITY_FACTOR   0x31
 
#define REMOTETEMP_EXT4_HIGH_LIMIT_HIGH_BYTE   0x34
 
#define REMOTETEMP_EXT4_LOW_LIMIT_HIGH_BYTE   0x35
 
#define REMOTETEMP_EXT4_HIGH_LIMIT_LOW_BYTE   0x36
 
#define REMOTETEMP_EXT4_LOW_LIMIT_LOW_BYTE   0x37
 
#define REMOTETEMP_EXT4_THERM_LIMIT   0x38
 
#define REMOTETEMP_EXT4_IDEALITY_FACTOR   0x39
 
#define REMOTETEMP_HIGH_LIMIT_STATUS   0x3A
 
#define REMOTETEMP_LOW_LIMIT_STATUS   0x3B
 
#define REMOTETEMP_THERM_LIMIT_STATUS   0x3C
 
#define REMOTETEMP_ROC_GAIN   0x3D
 
#define REMOTETEMP_ROC_CONFIG   0x3E
 
#define REMOTETEMP_ROC_STATUS   0x3F
 
#define REMOTETEMP_R1_RESH   0x40
 
#define REMOTETEMP_R1_LIMH   0x41
 
#define REMOTETEMP_R1_LIML   0x42
 
#define REMOTETEMP_R1_SMPL   0x43
 
#define REMOTETEMP_R2_RESH   0x44
 
#define REMOTETEMP_R23_RESL   0x45
 
#define REMOTETEMP_R2_LIMH   0x46
 
#define REMOTETEMP_R2_LIML   0x47
 
#define REMOTETEMP_R2_SMPL   0x48
 
#define REMOTETEMP_PER_MAXT1L   0x4A
 
#define REMOTETEMP_PER_MAXTH   0x4B
 
#define REMOTETEMP_PER_MAXT23L   0x4C
 
#define REMOTETEMP_GBL_MAXT1H   0x4D
 
#define REMOTETEMP_GBL_MAXT1L   0x4E
 
#define REMOTETEMP_GBL_MAXT2H   0x4F
 
#define REMOTETEMP_GBL_MAXT2L   0x50
 
#define REMOTETEMP_FILTER_SEL   0x51
 
#define REMOTETEMP_INT_HIGH_BYTE   0x60
 
#define REMOTETEMP_INT_LOW_BYTE   0x61
 
#define REMOTETEMP_EXT1_HIGH_BYTE   0x62
 
#define REMOTETEMP_EXT1_LOW_BYTE   0x63
 
#define REMOTETEMP_EXT2_HIGH_BYTE   0x64
 
#define REMOTETEMP_EXT2_LOW_BYTE   0x65
 
#define REMOTETEMP_EXT3_HIGH_BYTE   0x66
 
#define REMOTETEMP_EXT3_LOW_BYTE   0x67
 
#define REMOTETEMP_EXT4_HIGH_BYTE   0x68
 
#define REMOTETEMP_EXT4_LOW_BYTE   0x69
 
#define REMOTETEMP_HOTTEST_DIODE_HIGH_BYTE   0x6A
 
#define REMOTETEMP_HOTTEST_DIODE_LOW_BYTE   0x6B
 
#define REMOTETEMP_HOTTEST_STATUS   0x6C
 
#define REMOTETEMP_HOTTEST_CONFIG   0x6D
 
#define REMOTETEMP_PRODUCT_ID   0xFD
 
#define REMOTETEMP_MANUFACTURER_ID   0xFE
 
#define REMOTETEMP_REVISION   0xFF
 

Functions

void remotetemp_cfg_setup (remotetemp_cfg_t *cfg)
 Config Object Initialization function.
 
REMOTETEMP_RETVAL remotetemp_init (remotetemp_t *ctx, remotetemp_cfg_t *cfg)
 Initialization function.
 
void remotetemp_default_cfg (remotetemp_t *ctx)
 Click Default Configuration function.
 
void remotetemp_generic_write (remotetemp_t *ctx, uint8_t reg, uint8_t *data_buf, uint8_t len)
 Generic write function.
 
void remotetemp_generic_read (remotetemp_t *ctx, uint8_t reg, uint8_t *data_buf, uint8_t len)
 Generic read function.
 
uint8_t remotetemp_int_get (remotetemp_t *ctx)
 Getting state of INT pin.
 
uint8_t remotetemp_an_get (remotetemp_t *ctx)
 Getting state of AN pin.
 
uint8_t remotetemp_set_range (remotetemp_t *ctx, uint8_t range_setting)
 Setting temperature range.
 
void remotetemp_read (remotetemp_t *ctx, uint8_t register_address, uint8_t *read_buffer, uint8_t n_bytes)
 Reads register content.
 
void remotetemp_write (remotetemp_t *ctx, uint8_t register_address, uint8_t *register_values, uint8_t n_bytes)
 Setting register content.
 
void remotetemp_set_int_diode_high_limit (remotetemp_t *ctx, int16_t limit_value)
 Setting Internal diode high limit.
 
void remotetemp_set_int_diode_low_limit (remotetemp_t *ctx, int16_t limit_value)
 Setting Internal diode low limit.
 
void remotetemp_set_ext_diode_high_limit (remotetemp_t *ctx, int16_t limit_value, uint8_t diode)
 Setting external diodes high limit.
 
void remotetemp_set_ext_diode_low_limit (remotetemp_t *ctx, int16_t limit_value, uint8_t diode)
 Setting external diodes low limit.
 
void remotetemp_set_ext_diode_therm_limit (remotetemp_t *ctx, int16_t limit_value, uint8_t diode)
 Setting external diodes thermal limits.
 
void remotetemp_set_int_diode_therm_limit (remotetemp_t *ctx, int16_t limit_value)
 Setting internal diodes thermal limits.
 
float remotetemp_get_internal_diode (remotetemp_t *ctx)
 Getting internal diode temperature value.
 
float remotetemp_get_external_diode (remotetemp_t *ctx, uint8_t diode)
 Getting external diode temperature value.
 
float remotetemp_get_hottest_diode (remotetemp_t *ctx)
 Getting hottest diode temperature value.
 

Detailed Description

This file contains API for Remote Temp Click driver.