pac1954 2.0.0.0
pac1954.h File Reference

This file contains API for PAC1954 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  pac1954_t
 PAC1954 Click context object. More...
 
struct  pac1954_cfg_t
 PAC1954 Click configuration object. More...
 

Macros

#define PAC1954_REG_REFRESH   0x00
 PAC1954 Registers List.
 
#define PAC1954_REG_CTRL   0x01
 
#define PAC1954_REG_ACC_COUNT   0x02
 
#define PAC1954_REG_VACC_CH1   0x03
 
#define PAC1954_REG_VACC_CH2   0x04
 
#define PAC1954_REG_VACC_CH3   0x05
 
#define PAC1954_REG_VACC_CH4   0x06
 
#define PAC1954_REG_VBUS_CH1   0x07
 
#define PAC1954_REG_VBUS_CH2   0x08
 
#define PAC1954_REG_VBUS_CH3   0x09
 
#define PAC1954_REG_VBUS_CH4   0x0A
 
#define PAC1954_REG_VSENSE_CH1   0x0B
 
#define PAC1954_REG_VSENSE_CH2   0x0C
 
#define PAC1954_REG_VSENSE_CH3   0x0D
 
#define PAC1954_REG_VSENSE_CH4   0x0E
 
#define PAC1954_REG_VBUS_CH1_AVG   0x0F
 
#define PAC1954_REG_VBUS_CH2_AVG   0x10
 
#define PAC1954_REG_VBUS_CH3_AVG   0x11
 
#define PAC1954_REG_VBUS_CH4_AVG   0x12
 
#define PAC1954_REG_VSENSE_CH1_AVG   0x13
 
#define PAC1954_REG_VSENSE_CH2_AVG   0x14
 
#define PAC1954_REG_VSENSE_CH3_AVG   0x15
 
#define PAC1954_REG_VSENSE_CH4_AVG   0x16
 
#define PAC1954_REG_VPOWER_CH1   0x17
 
#define PAC1954_REG_VPOWER_CH2   0x18
 
#define PAC1954_REG_VPOWER_CH3   0x19
 
#define PAC1954_REG_VPOWER_CH4   0x1A
 
#define PAC1954_REG_SMBUS_CFG   0x1C
 
#define PAC1954_REG_NEG_PWR_FSR   0x1D
 
#define PAC1954_REG_REFRESH_G   0x1E
 
#define PAC1954_REG_REFRESH_V   0x1F
 
#define PAC1954_REG_SLOW   0x20
 
#define PAC1954_REG_CTRL_ACT   0x21
 
#define PAC1954_REG_NEG_PWR_FSR_ACT   0x22
 
#define PAC1954_REG_CTRL_LAT   0x23
 
#define PAC1954_REG_NEG_PWR_FSR_LAT   0x24
 
#define PAC1954_REG_ACC_CFG   0x25
 
#define PAC1954_REG_ALERT_STATUS   0x26
 
#define PAC1954_REG_SLOW_ALERT1   0x27
 
#define PAC1954_REG_GPIO_ALERT2   0x28
 
#define PAC1954_REG_ACC_FULLNESS_LIM   0x29
 
#define PAC1954_REG_OC_LIM_CH1   0x30
 
#define PAC1954_REG_OC_LIM_CH2   0x31
 
#define PAC1954_REG_OC_LIM_CH3   0x32
 
#define PAC1954_REG_OC_LIM_CH4   0x33
 
#define PAC1954_REG_UC_LIM_CH1   0x34
 
#define PAC1954_REG_UC_LIM_CH2   0x35
 
#define PAC1954_REG_UC_LIM_CH3   0x36
 
#define PAC1954_REG_UC_LIM_CH4   0x37
 
#define PAC1954_REG_OP_LIM_CH1   0x38
 
#define PAC1954_REG_OP_LIM_CH2   0x39
 
#define PAC1954_REG_OP_LIM_CH3   0x3A
 
#define PAC1954_REG_OP_LIM_CH4   0x3B
 
#define PAC1954_REG_OV_LIM_CH1   0x3C
 
#define PAC1954_REG_OV_LIM_CH2   0x3D
 
#define PAC1954_REG_OV_LIM_CH3   0x3E
 
#define PAC1954_REG_OV_LIM_CH4   0x3F
 
#define PAC1954_REG_UV_LIM_CH1   0x40
 
#define PAC1954_REG_UV_LIM_CH2   0x41
 
#define PAC1954_REG_UV_LIM_CH3   0x42
 
#define PAC1954_REG_UV_LIM_CH4   0x43
 
#define PAC1954_REG_OC_LIM_NSAMPLES   0x44
 
#define PAC1954_REG_UC_LIM_NSAMPLES   0x45
 
#define PAC1954_REG_OP_LIM_NSAMPLES   0x46
 
#define PAC1954_REG_OV_LIM_NSAMPLES   0x47
 
#define PAC1954_REG_UV_LIM_NSAMPLES   0x48
 
#define PAC1954_REG_ALERT_ENABLE   0x49
 
#define PAC1954_REG_ACC_CFG_ACT   0x4A
 
#define PAC1954_REG_ACC_CFG_LAT   0x4B
 
#define PAC1954_REG_ID_PRODUCT   0xFD
 
#define PAC1954_REG_ID_MANUFACTURER   0xFE
 
#define PAC1954_REG_ID_REVISION   0xFF
 
#define PAC1954_CTRLH_SPS_1024_ADAPT_ACC   0x00
 PAC1954 Control Settings.
 
#define PAC1954_CTRLH_SPS_256_ADAPT_ACC   0x10
 
#define PAC1954_CTRLH_SPS_64_ADAPT_ACC   0x20
 
#define PAC1954_CTRLH_SPS_8_ADAPT_ACC   0x30
 
#define PAC1954_CTRLH_SPS_1024   0x40
 
#define PAC1954_CTRLH_SPS_256   0x50
 
#define PAC1954_CTRLH_SPS_64   0x60
 
#define PAC1954_CTRLH_SPS_8   0x70
 
#define PAC1954_CTRLH_SINGLE_SHOT_MODE   0x80
 
#define PAC1954_CTRLH_SINGLE_SHOT_8X   0x90
 
#define PAC1954_CTRLH_FAST_MODE   0xA0
 
#define PAC1954_CTRLH_BURST_MODE   0xB0
 
#define PAC1954_CTRLH_SLEEP   0xF0
 
#define PAC1954_CTRLH_INT_PIN_ALERT   0x00
 
#define PAC1954_CTRLH_INT_PIN_DIG_IN   0x04
 
#define PAC1954_CTRLH_INT_PIN_DIG_OUT   0x08
 
#define PAC1954_CTRLH_INT_PIN_SLOW   0x0C
 
#define PAC1954_CTRLH_SLW_PIN_ALERT   0x00
 
#define PAC1954_CTRLH_SLW_PIN_DIG_IN   0x01
 
#define PAC1954_CTRLH_SLW_PIN_DIG_OUT   0x02
 
#define PAC1954_CTRLH_SLW_PIN_SLOW   0x03
 
#define PAC1954_CTRLL_CH1_OFF   0x80
 
#define PAC1954_CTRLL_CH2_OFF   0x40
 
#define PAC1954_CTRLL_CH3_OFF   0x20
 
#define PAC1954_CTRLL_CH4_OFF   0x10
 
#define PAC1954_CTRLL_ALL_CH_OFF   0xF0
 
#define PAC1954_CTRLL_ALL_CH_ON   0x00
 
#define PAC1954_NEG_PWR_FSR_CH1_OFFSET   6
 PAC1954 Measurement Type Offset For Channels.
 
#define PAC1954_NEG_PWR_FSR_CH2_OFFSET   4
 
#define PAC1954_NEG_PWR_FSR_CH3_OFFSET   2
 
#define PAC1954_NEG_PWR_FSR_CH4_OFFSET   0
 
#define PAC1954_SMBUS_INT_PIN_MASK   0x80
 PAC1954 SMBus Settings.
 
#define PAC1954_SMBUS_SLW_PIN_MASK   0x40
 
#define PAC1954_SMBUS_ALERT_MASK   0x20
 
#define PAC1954_SMBUS_POR_MASK   0x10
 
#define PAC1954_SMBUS_TIMEOUT_OFF   0x00
 
#define PAC1954_SMBUS_TIMEOUT_ON   0x08
 
#define PAC1954_SMBUS_BYTE_COUNT_OFF   0x00
 
#define PAC1954_SMBUS_BYTE_COUNT_ON   0x04
 
#define PAC1954_SMBUS_AUTO_INC_SKIP_ON   0x00
 
#define PAC1954_SMBUS_AUTO_INC_SKIP_OFF   0x02
 
#define PAC1954_SMBUS_I2C_HIGH_SPEED   0x01
 
#define PAC1954_MEAS_SEL_V_SOURCE   0
 PAC1954 Measurement Data Selector.
 
#define PAC1954_MEAS_SEL_I_SENSE   1
 
#define PAC1954_MEAS_SEL_P_SENSE   2
 
#define PAC1954_CH_SEL_CH_1   1
 PAC1954 Channel Selector.
 
#define PAC1954_CH_SEL_CH_2   2
 
#define PAC1954_CH_SEL_CH_3   3
 
#define PAC1954_CH_SEL_CH_4   4
 
#define PAC1954_AVG_SEL_DISABLE   0
 PAC1954 Average Selector.
 
#define PAC1954_AVG_SEL_ENABLE   1
 
#define PAC1954_MEAS_MODE_UNIPOLAR_FSR   0
 PAC1954 Measurement Type Definition.
 
#define PAC1954_MEAS_MODE_BIPOLAR_FSR   1
 
#define PAC1954_MEAS_MODE_BIPOLAR_HALF_FSR   2
 
#define PAC1954_ALL_CH_SAMPLE_8SPS_ON   1
 PAC1954 SLW Pin Settings.
 
#define PAC1954_ALL_CH_SAMPLE_8SPS_OFF   0
 
#define PAC1954_DEV_ENABLE   1
 PAC1954 Device Power Control.
 
#define PAC1954_DEV_PWR_DWN   0
 
#define PAC1954_ALERT_ACTIVE   0
 PAC1954 Alert Indicator.
 
#define PAC1954_ALERT_INACTIVE   1
 
#define PAC1954_DEV_ADDR_0   0x10
 PAC1954 device address setting.
 
#define PAC1954_DEV_ADDR_1   0x1F
 
#define PAC1954_MAP_MIKROBUS(cfg, mikrobus)
 MikroBUS pin mapping.
 

Enumerations

enum  pac1954_return_value_t { PAC1954_OK = 0 , PAC1954_ERROR = -1 }
 PAC1954 Click return value data. More...
 

Functions

void pac1954_cfg_setup (pac1954_cfg_t *cfg)
 PAC1954 configuration object setup function.
 
err_t pac1954_init (pac1954_t *ctx, pac1954_cfg_t *cfg)
 PAC1954 initialization function.
 
err_t pac1954_default_cfg (pac1954_t *ctx)
 PAC1954 default configuration function.
 
err_t pac1954_generic_write (pac1954_t *ctx, uint8_t reg, uint8_t *tx_buf, uint8_t tx_len)
 PAC1954 I2C writing function.
 
err_t pac1954_generic_read (pac1954_t *ctx, uint8_t reg, uint8_t *rx_buf, uint8_t rx_len)
 PAC1954 I2C reading function.
 
err_t pac1954_single_write (pac1954_t *ctx, uint8_t reg, uint8_t data_in)
 PAC1954 Single Byte Write Function.
 
err_t pac1954_single_read (pac1954_t *ctx, uint8_t reg, uint8_t *data_out)
 PAC1954 Single Byte Read Function.
 
err_t pac1954_set_address_pointer (pac1954_t *ctx, uint8_t reg)
 PAC1954 Set Address Pointer Function.
 
err_t pac1954_read_last_access_reg (pac1954_t *ctx, uint8_t *data_out)
 PAC1954 Last Accessed Register Read Function.
 
err_t pac1954_refresh_cmd (pac1954_t *ctx)
 PAC1954 Refresh Command.
 
err_t pac1954_vol_refresh_cmd (pac1954_t *ctx)
 PAC1954 Volatile Refresh Command.
 
err_t pac1954_get_measurement (pac1954_t *ctx, uint8_t meas_sel, uint8_t ch_sel, uint8_t avg_sel, uint32_t *data_out)
 PAC1954 Get Measurement Function.
 
err_t pac1954_get_acc_count (pac1954_t *ctx, uint32_t *data_out)
 PAC1954 Get Accumulator Count Function.
 
err_t pac1954_get_acc_output (pac1954_t *ctx, uint8_t ch_sel, uint8_t *data_out)
 PAC1954 Get Accumulator Output Function.
 
err_t pac1954_get_calc_measurement (pac1954_t *ctx, uint8_t meas_sel, uint8_t ch_sel, uint8_t avg_sel, uint8_t meas_mode, float *data_out)
 PAC1954 Get Calculated Measurement Function.
 
void pac1954_set_ch_8_sps (pac1954_t *ctx, uint8_t state)
 PAC1954 Slow Down Sampling Freq Of All Channels Function.
 
void pac1954_enable (pac1954_t *ctx, uint8_t state)
 PAC1954 Power Control Function.
 
uint8_t pac1954_get_alert2_status (pac1954_t *ctx)
 PAC1954 Get INT Pin State Function.
 

Detailed Description

This file contains API for PAC1954 Click Driver.

Enumeration Type Documentation

◆ pac1954_return_value_t

PAC1954 Click return value data.

Predefined enum values for driver return values.

Enumerator
PAC1954_OK 
PAC1954_ERROR