battmon 2.0.0.0
battmon.h File Reference

This file contains API for BATT-MON 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  battmon_t
 Click ctx object definition. More...
 
struct  battmon_cfg_t
 Click configuration structure definition. More...
 

Macros

#define BATTMON_MAP_MIKROBUS(cfg, mikrobus)
 
#define BATTMON_RETVAL   uint8_t
 
#define BATTMON_OK   0x00
 
#define BATTMON_INIT_ERROR   0xFF
 
#define DUMMY_BYTE   0x00
 
#define BATTMON_DEV_ADDR   0x70
 
#define BATTMON_REG_MODE   0
 
#define BATTMON_REG_CTRL   1
 
#define BATTMON_REG_SOC   2
 
#define BATTMON_REG_COUNTER   4
 
#define BATTMON_REG_CURRENT   6
 
#define BATTMON_REG_VOLTAGE   8
 
#define BATTMON_REG_TEMPERATURE   10
 
#define BATTMON_REG_CC_ADJ_HIGH   11
 
#define BATTMON_REG_VM_ADJ_HIGH   12
 
#define BATTMON_REG_OCV   13
 
#define BATTMON_REG_CC_CNF   15
 
#define BATTMON_REG_VM_CNF   17
 
#define BATTMON_REG_ALARM_SOC   19
 
#define BATTMON_REG_ALARM_VOLTAGE   20
 
#define BATTMON_REG_CURRENT_THRES   21
 
#define BATTMON_REG_RELAX_COUNT   22
 
#define BATTMON_REG_RELAX_MAX   23
 
#define BATTMON_REG_ID   24
 
#define BATTMON_REG_CC_ADJ_LOW   25
 
#define BATTMON_REG_VM_ADJ_LOW   26
 
#define BATTMON_ACC_CC_ADJ   27
 
#define BATTMON_ACC_VM_ADJ   29
 
#define BATTMON_REG_RAM0   32
 
#define BATTMON_REG_RAM1   33
 
#define BATTMON_REG_RAM2   34
 
#define BATTMON_REG_RAM3   35
 
#define BATTMON_REG_RAM4   36
 
#define BATTMON_REG_RAM5   37
 
#define BATTMON_REG_RAM6   38
 
#define BATTMON_REG_RAM7   39
 
#define BATTMON_REG_RAM8   40
 
#define BATTMON_REG_RAM9   41
 
#define BATTMON_REG_RAM10   42
 
#define BATTMON_REG_RAM11   43
 
#define BATTMON_REG_RAM12   44
 
#define BATTMON_REG_RAM13   45
 
#define BATTMON_REG_RAM14   46
 
#define BATTMON_REG_RAM15   47
 
#define BATTMON_REG_OCVTAB0   48
 
#define BATTMON_REG_OCVTAB1   49
 
#define BATTMON_REG_OCVTAB2   50
 
#define BATTMON_REG_OCVTAB3   51
 
#define BATTMON_REG_OCVTAB4   52
 
#define BATTMON_REG_OCVTAB5   53
 
#define BATTMON_REG_OCVTAB6   54
 
#define BATTMON_REG_OCVTAB7   55
 
#define BATTMON_REG_OCVTAB8   56
 
#define BATTMON_REG_OCVTAB9   57
 
#define BATTMON_REG_OCVTAB10   58
 
#define BATTMON_REG_OCVTAB11   59
 
#define BATTMON_REG_OCVTAB12   60
 
#define BATTMON_REG_OCVTAB13   61
 
#define BATTMON_REG_OCVTAB14   62
 
#define BATTMON_REG_OCVTAB15   63
 
#define BATTMON_MIXED_MODE   0x00
 
#define BATTMON_PWR_SAVE_VOLT_MODE   0x01
 
#define BATTMON_CLR_VM_ADJ   0x02
 
#define BATTMON_CLR_CC_ADJ   0x04
 
#define BATTMON_ALM_EN   0x08
 
#define BATTMON_STNDBY_RUN_MODE   0x00
 
#define BATTMON_OP_RUN_MODE   0x10
 
#define BATTMON_FORCE_CC   0x20
 
#define BATTMON_FORCE_VM   0x40
 
#define BATTMON_ALM_PIN_STAT_MASK   0x01
 
#define BATTMON_FORCE_ALM_PIN_LOW   0x00
 
#define BATTMON_DRIVE_ALM_PIN_COND   0x01
 
#define BATTMON_RST_CONV_CNT   0x02
 
#define BATTMON_SOC_STAT_MASK   0x04
 
#define BATTMON_SOC_CC_MODE   0x00
 
#define BATTMON_SOC_VM_MODE   0x04
 
#define BATTMON_BATFAIL_DET_MASK   0x08
 
#define BATTMON_POR_DET_MASK   0x10
 
#define BATTMON_POR_INACTIVE   0x00
 
#define BATTMON_POR_ACTIVE   0x10
 
#define BATTMON_SOFT_RST   0x10
 
#define BATTMON_ALM_SOC_DET_MASK   0x20
 
#define BATTMON_ALM_VOLT_DET_MASK   0x40
 
#define BATTMON_INVALID_ADDR   0xFF
 
#define BATTMON_INVALID_NBYTES   0xFE
 
#define BATTMON_INVALID_ALM_VAL   0xFD
 
#define BATTMON_OK   0x00
 
#define BATTMON_LOG_LOW   0x00
 
#define BATTMON_LOG_HIGH   0x01
 

Functions

void battmon_cfg_setup (battmon_cfg_t *cfg)
 Config Object Initialization function.
 
BATTMON_RETVAL battmon_init (battmon_t *ctx, battmon_cfg_t *cfg)
 Initialization function.
 
void battmon_default_cfg (battmon_t *ctx)
 Click Default Configuration function.
 
void battmon_generic_write (battmon_t *ctx, uint8_t reg, uint8_t *data_buf, uint8_t len)
 Generic write function.
 
void battmon_generic_read (battmon_t *ctx, uint8_t reg, uint8_t *data_buf, uint8_t len)
 Generic read function.
 
uint8_t battmon_read_bytes (battmon_t *ctx, uint8_t reg_addr, uint8_t *data_out, uint8_t n_bytes)
 Bytes Read function.
 
uint8_t battmon_read_word (battmon_t *ctx, uint8_t reg_addr, uint16_t *data_out)
 Word Read function.
 
uint8_t battmon_write_byte (battmon_t *ctx, uint8_t reg_addr, uint8_t data_in)
 Byte Write function.
 
uint8_t battmon_write_word (battmon_t *ctx, uint8_t reg_addr, uint16_t data_in)
 Word Write function.
 
float battmon_get_data (battmon_t *ctx, uint8_t data_addr)
 Data Get function.
 
uint8_t battmon_set_alarm (battmon_t *ctx, uint8_t alarm_addr, float alarm_value)
 Alarm Set function.
 
uint8_t battmon_get_rio_pin (battmon_t *ctx)
 RIO Pin Get function.
 
uint8_t battmon_get_alm_pin (battmon_t *ctx)
 ALM Pin Get function.
 
uint8_t battmon_check_clear_alarm (battmon_t *ctx)
 Alarm Check And Clear function.
 
void battmon_sw_reset (battmon_t *ctx)
 SW Reset function.
 
void battmon_reset_conv_cnt (battmon_t *ctx)
 Conversion Counter Reset function.
 

Detailed Description

This file contains API for BATT-MON Click driver.