templog2 2.0.0.0
templog2.h File Reference

This file contains API for Temp-Log 2 Click driver. More...

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

Go to the source code of this file.

Data Structures

struct  templog2_t
 Click context object definition. More...
 
struct  templog2_cfg_t
 Click configuration structure definition. More...
 

Macros

#define TEMPLOG2_TEMP_REG   0x00
 
#define TEMPLOG2_CONFIG_REG   0x01
 
#define TEMPLOG2_HIGH_LIMIT_REG   0x02
 
#define TEMPLOG2_LOW_LIMIT_REG   0x03
 
#define TEMPLOG2_EEPROM_UNLOCK_REG   0x04
 
#define TEMPLOG2_EEPROM1_REG   0x05
 
#define TEMPLOG2_EEPROM2_REG   0x06
 
#define TEMPLOG2_EEPROM3_REG   0x07
 
#define TEMPLOG2_EEPROM4_REG   0x08
 
#define TEMPLOG2_ID_REG   0x0F
 
#define TEMPLOG2_15_MILISEC_0_AVG   0x00
 
#define TEMPLOG2_125_MILISEC_0_AVG   0x0080
 
#define TEMPLOG2_250_MILISEC_0_AVG   0x0100
 
#define TEMPLOG2_500_MILISEC_0_AVG   0x0180
 
#define TEMPLOG2_1_SEC_0_AVG   0x0200
 
#define TEMPLOG2_4_SEC_0_AVG   0x0280
 
#define TEMPLOG2_8_SEC_0_AVG   0x0300
 
#define TEMPLOG2_16_SEC_0_AVG   0x0380
 
#define TEMPLOG2_125_MILISEC_8_AVG   0x0020
 
#define TEMPLOG2_250_MILISEC_8_AVG   0x0120
 
#define TEMPLOG2_500_MILISEC_8_AVG   0x01A0
 
#define TEMPLOG2_1_SEC_8_AVG   0x0220
 
#define TEMPLOG2_4_SEC_8_AVG   0x02A0
 
#define TEMPLOG2_8_SEC_8_AVG   0x0320
 
#define TEMPLOG2_16_SEC_8_AVG   0x03A0
 
#define TEMPLOG2_500_MILISEC_32_AVG   0x0040
 
#define TEMPLOG2_1_SEC_32_AVG   0x0240
 
#define TEMPLOG2_4_SEC_32_AVG   0x02C0
 
#define TEMPLOG2_8_SEC_32_AVG   0x0340
 
#define TEMPLOG2_16_SEC_32_AVG   0x03C0
 
#define TEMPLOG2_1_SEC_64_AVG   0x0060
 
#define TEMPLOG2_4_SEC_64_AVG   0x02E0
 
#define TEMPLOG2_8_SEC_64_AVG   0x0360
 
#define TEMPLOG2_16_SEC_64_AVG   0x03E0
 
#define TEMPLOG2_POL_ACTIVE_LOW   0x00
 
#define TEMPLOG2_POL_ACTIVE_HIGH   0x0008
 
#define TEMPLOG2_PIN_ALERT_FLAGS   0x00
 
#define TEMPLOG2_PIN_DATAREADY_FLAG   0x0004
 
#define TEMPLOG2_LOCK_EEPROM   0x00
 
#define TEMPLOG2_UNLOCK_EEPROM   0x8000
 
#define TEMPLOG2_0_CELSIUS   0x00
 
#define TEMPLOG2_1_CELSIUS_POS   0x0080
 
#define TEMPLOG2_25_CELSIUS_POS   0x0C80
 
#define TEMPLOG2_25_CELSIUS_NEG   0xF380
 
#define TEMPLOG2_100_CELSIUS_POS   0x3200
 
#define TEMPLOG2_256_CELSIUS_POS   0x7FFF
 
#define TEMPLOG2_256_CELSIUS_NEG   0x8000
 
#define TEMPLOG2_CONT_CONV_OP_MODE   0x00
 
#define TEMPLOG2_SHUTDOWN_OP_MODE   0x01
 
#define TEMPLOG2_ONE_SHOT_OP_MODE   0x02
 
#define TEMPLOG2_ALERT_MODE   0x00
 
#define TEMPLOG2_THERM_MODE   0x01
 
#define TEMPLOG2_DATA_READY_MASK   0x01
 
#define TEMPLOG2_LOW_LIMIT_MASK   0x02
 
#define TEMPLOG2_HIGH_LIMIT_MASK   0x04
 
#define TEMPLOG2_BUSY_MASK   0x4000
 
#define TEMPLOG2_OK   0x00
 
#define TEMPLOG2_INVALID_ADDR   0xFF
 
#define TEMPLOG2_INVALID_PARAM   0xFE
 
#define TEMPLOG2_INIT_DRV_ERROR   0xFD
 
#define TEMPLOG2_RETVAL   uint8_t
 
#define TEMPLOG2_MAP_MIKROBUS(cfg, mikrobus)
 

Functions

void templog2_cfg_setup (templog2_cfg_t *cfg)
 Configuration Object Setup function.
 
TEMPLOG2_RETVAL templog2_init (templog2_t *ctx, templog2_cfg_t *cfg)
 Click Initialization function.
 
void templog2_default_config (templog2_t *ctx)
 Click Default Configuration function.
 
TEMPLOG2_RETVAL templog2_write_reg (templog2_t *ctx, uint8_t reg_addr, uint16_t transfer_data)
 Write Register function.
 
TEMPLOG2_RETVAL templog2_read_reg (templog2_t *ctx, uint8_t reg_addr, uint16_t *data_out)
 Read Register function.
 
uint8_t templog2_data_ready (templog2_t *ctx)
 Data Ready function.
 
uint8_t templog2_check_alert (templog2_t *ctx)
 Alert Checking function.
 
float templog2_read_temp (templog2_t *ctx)
 Read Temperature function.
 
TEMPLOG2_RETVAL templog2_set_mode (templog2_t *ctx, uint8_t op_mode, uint8_t alert_mode)
 Mode Setting function.
 
TEMPLOG2_RETVAL templog2_write_eeprom (templog2_t *ctx, uint8_t eeprom_addr, uint16_t data_in)
 EEPROM Writing function.
 
void templog2_reset (templog2_t *ctx)
 Reset function.
 

Detailed Description

This file contains API for Temp-Log 2 Click driver.