vcpmonitor 2.0.0.0
vcpmonitor.h File Reference

This file contains API for VCP monitor 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  vcpmonitor_t
 Click ctx object definition. More...
 
struct  vcpmonitor_cfg_t
 Click configuration structure definition. More...
 

Macros

#define VCPMONITOR_MAP_MIKROBUS(cfg, mikrobus)
 
#define VCPMONITOR_RETVAL   uint8_t
 
#define VCPMONITOR_OK   0x00
 
#define VCPMONITOR_INIT_ERROR   0xFF
 
#define VCPMONITOR_REG_CONFIGURATION   0x00
 
#define VCPMONITOR_REG_CURRENT_DATA   0x01
 
#define VCPMONITOR_REG_BUS_VOLTAGE_DATA   0x02
 
#define VCPMONITOR_REG_POWER_DATA   0x03
 
#define VCPMONITOR_REG_MASK_ENABLE   0x06
 
#define VCPMONITOR_REG_ALERT_LIMIT   0x07
 
#define VCPMONITOR_REG_MANUFACTURE_ID   0xFE
 
#define VCPMONITOR_REG_DIE_ID   0xFF
 
#define VCPMONITOR_SLAVE_ADDR_GND_GND   0x40
 
#define VCPMONITOR_SLAVE_ADDR_GND_VS   0x41
 
#define VCPMONITOR_SLAVE_ADDR_GND_SDA   0x42
 
#define VCPMONITOR_SLAVE_ADDR_GND_SCL   0x43
 
#define VCPMONITOR_SLAVE_ADDR_VS_GND   0x44
 
#define VCPMONITOR_SLAVE_ADDR_VS_VS   0x45
 
#define VCPMONITOR_SLAVE_ADDR_VS_SDA   0x46
 
#define VCPMONITOR_SLAVE_ADDR_VS_SCL   0x47
 
#define VCPMONITOR_SLAVE_ADDR_SDA_GND   0x48
 
#define VCPMONITOR_SLAVE_ADDR_SDA_VS   0x49
 
#define VCPMONITOR_SLAVE_ADDR_SDA_SDA   0x4A
 
#define VCPMONITOR_SLAVE_ADDR_SDA_SCL   0x4B
 
#define VCPMONITOR_SLAVE_ADDR_SCL_GND   0x4C
 
#define VCPMONITOR_SLAVE_ADDR_SCL_VS   0x4D
 
#define VCPMONITOR_SLAVE_ADDR_SCL_SDA   0x4E
 
#define VCPMONITOR_SLAVE_ADDR_SCL_SCL   0x4F
 
#define VCPMONITOR_DEF_MANUFACTURE_ID   0x5449
 
#define VCPMONITOR_DEF_DIE_ID   0x2270
 
#define VCPMONITOR_DEF_CONFIGURATION   0x6127
 
#define VCPMONITOR_CFG_RESET_ON   0x8000
 
#define VCPMONITOR_CFG_RESET_OFF   0x0000
 
#define VCPMONITOR_CFG_NUM_OF_AVG_1   0x0000
 
#define VCPMONITOR_CFG_NUM_OF_AVG_4   0x0200
 
#define VCPMONITOR_CFG_NUM_OF_AVG_16   0x0400
 
#define VCPMONITOR_CFG_NUM_OF_AVG_64   0x0600
 
#define VCPMONITOR_CFG_NUM_OF_AVG_128   0x0800
 
#define VCPMONITOR_CFG_NUM_OF_AVG_256   0x0A00
 
#define VCPMONITOR_CFG_NUM_OF_AVG_512   0x0C00
 
#define VCPMONITOR_CFG_NUM_OF_AVG_1024   0x0E00
 
#define VCPMONITOR_CFG_VBUSCT_140us   0x0000
 
#define VCPMONITOR_CFG_VBUSCT_204us   0x0040
 
#define VCPMONITOR_CFG_VBUSCT_332us   0x0080
 
#define VCPMONITOR_CFG_VBUSCT_588us   0x00C0
 
#define VCPMONITOR_CFG_VBUSCT_1p1ms   0x0100
 
#define VCPMONITOR_CFG_VBUSCT_2p116ms   0x0140
 
#define VCPMONITOR_CFG_VBUSCT_4p156ms   0x0180
 
#define VCPMONITOR_CFG_VBUSCT_8p244ms   0x01C0
 
#define VCPMONITOR_CFG_ISHCT_140us   0x0000
 
#define VCPMONITOR_CFG_ISHCT_204us   0x0008
 
#define VCPMONITOR_CFG_ISHCT_332us   0x0010
 
#define VCPMONITOR_CFG_ISHCT_588us   0x0018
 
#define VCPMONITOR_CFG_ISHCT_1p1ms   0x0020
 
#define VCPMONITOR_CFG_ISHCT_2p116ms   0x0028
 
#define VCPMONITOR_CFG_ISHCT_4p156ms   0x0030
 
#define VCPMONITOR_CFG_ISHCT_8p244ms   0x0038
 
#define VCPMONITOR_CFG_MODE_POWER_DOWN   0x0000
 
#define VCPMONITOR_CFG_MODE_CURRENT_TRIG   0x0001
 
#define VCPMONITOR_CFG_MODE_VOLTAGE_TRIG   0x0002
 
#define VCPMONITOR_CFG_MODE_CURR_VOLT_TRIG   0x0003
 
#define VCPMONITOR_CFG_MODE_CURRENT_CONT   0x0005
 
#define VCPMONITOR_CFG_MODE_VOLTAGE_CONT   0x0006
 
#define VCPMONITOR_CFG_MODE_CURR_VOLT_CONT   0x0007
 
#define CURRENT_CONSTANT   1.25
 
#define VOLTAGE_CONSTANT   1.25
 
#define POWER_CONSTANT   10
 
#define VCPMONITOR_MASK_OCL_DISABLE   0x0000
 
#define VCPMONITOR_MASK_UCL_ENABLE   0x4000
 
#define VCPMONITOR_MASK_UCL_DISABLE   0x0000
 
#define VCPMONITOR_MASK_BOL_ENABLE   0x2000
 
#define VCPMONITOR_MASK_BOL_DISABLE   0x0000
 
#define VCPMONITOR_MASK_BUL_ENABLE   0x1000
 
#define VCPMONITOR_MASK_OCL_ENABLE   0x8000
 
#define VCPMONITOR_MASK_BUL_DISABLE   0x0000
 
#define VCPMONITOR_MASK_POL_ENABLE   0x0800
 
#define VCPMONITOR_MASK_POL_DISABLE   0x0000
 
#define VCPMONITOR_MASK_CNVR_ENABLE   0x0400
 
#define VCPMONITOR_MASK_CNVR_DISABLE   0x0000
 
#define VCPMONITOR_MASK_AFF_ENABLE   0x0010
 
#define VCPMONITOR_MASK_AFF_DISABLE   0x0000
 
#define VCPMONITOR_MASK_CVRF_ENABLE   0x0008
 
#define VCPMONITOR_MASK_CVRF_DISABLE   0x0000
 
#define VCPMONITOR_MASK_OVF_ENABLE   0x0004
 
#define VCPMONITOR_MASK_OVF_DISABLE   0x0000
 
#define VCPMONITOR_MASK_APOL_ENABLE   0x0002
 
#define VCPMONITOR_MASK_APOL_DISABLE   0x0000
 
#define VCPMONITOR_MASK_LEN_ENABLE   0x0001
 
#define VCPMONITOR_MASK_LEN_DISABLE   0x0000
 

Functions

void vcpmonitor_cfg_setup (vcpmonitor_cfg_t *cfg)
 Config Object Initialization function.
 
VCPMONITOR_RETVAL vcpmonitor_init (vcpmonitor_t *ctx, vcpmonitor_cfg_t *cfg)
 Initialization function.
 
void vcpmonitor_default_cfg (vcpmonitor_t *ctx)
 Click Default Configuration function.
 
void vcpmonitor_generic_write (vcpmonitor_t *ctx, uint8_t reg, uint8_t *data_buf, uint8_t len)
 Generic write function.
 
void vcpmonitor_generic_read (vcpmonitor_t *ctx, uint8_t reg, uint8_t *data_buf, uint8_t len)
 Generic read function.
 
void vcpmonitor_write_data (vcpmonitor_t *ctx, uint8_t reg, uint16_t tx_data)
 Writes data to register.
 
int16_t vcpmonitor_read_data (vcpmonitor_t *ctx, uint8_t reg_addr)
 Reads data from register.
 
uint8_t vcpmonitor_get_interrupt_state (vcpmonitor_t *ctx)
 Gets Interrupt pin state.
 
float vcpmonitor_get_current (vcpmonitor_t *ctx)
 Reads current data in mA.
 
float vcpmonitor_get_voltage (vcpmonitor_t *ctx)
 Reads voltage data in mV.
 
float vcpmonitor_get_power (vcpmonitor_t *ctx)
 Reads power data in mW.
 
uint8_t vcpmonitor_get_id_value (vcpmonitor_t *ctx, uint16_t *manufacture_id, uint16_t *did_id)
 Gets Manufacture ID and Device ID.
 

Detailed Description

This file contains API for VCP monitor Click driver.