pwrmeter2 2.0.0.0
pwrmeter2.h File Reference

This file contains API for PWR Meter 2 Click driver. More...

#include "drv_digital_out.h"
#include "drv_digital_in.h"
#include "drv_spi_master.h"

Go to the source code of this file.

Data Structures

struct  pwrmeter2_t
 Click ctx object definition. More...
 
struct  pwrmeter2_cfg_t
 Click configuration structure definition. More...
 

Macros

#define PWRMETER2_MAP_MIKROBUS(cfg, mikrobus)
 
#define PWRMETER2_OK   0
 
#define PWRMETER2_ERROR   -1
 
#define PWRMETER2_REG_CH0_ADC_DATA   0x00
 
#define PWRMETER2_REG_CH1_ADC_DATA   0x01
 
#define PWRMETER2_REG_MODUL_OUTPUT   0x08
 
#define PWRMETER2_REG_PHASE_CONFIG   0x0A
 
#define PWRMETER2_REG_GAIN_CONFIG   0x0B
 
#define PWRMETER2_REG_STATUS_COMM   0x0C
 
#define PWRMETER2_REG_CONFIG0   0x0D
 
#define PWRMETER2_REG_CONFIG1   0x0E
 
#define PWRMETER2_REG_OFFCAL_CH0   0x0F
 
#define PWRMETER2_REG_GAINCAL_CH0   0x10
 
#define PWRMETER2_REG_OFFCAL_CH1   0x11
 
#define PWRMETER2_REG_GAINCAL_CH1   0x12
 
#define PWRMETER2_REG_LOCK_CRC   0x1F
 
#define PWRMETER2_CH0_GAIN1   0x000000ul
 
#define PWRMETER2_CH0_GAIN2   0x000001ul
 
#define PWRMETER2_CH0_GAIN4   0x000002ul
 
#define PWRMETER2_CH0_GAIN8   0x000003ul
 
#define PWRMETER2_CH0_GAIN16   0x000004ul
 
#define PWRMETER2_CH0_GAIN32   0x000005ul
 
#define PWRMETER2_CH1_GAIN1   0x000000ul
 
#define PWRMETER2_CH1_GAIN2   0x000008ul
 
#define PWRMETER2_CH1_GAIN4   0x000010ul
 
#define PWRMETER2_CH1_GAIN8   0x000018ul
 
#define PWRMETER2_CH1_GAIN16   0x000020ul
 
#define PWRMETER2_CH1_GAIN32   0x000028ul
 
#define PWRMETER2_READ_SAME_SINGLE_REG   0x000000ul
 
#define PWRMETER2_READ_REG_GROUPS   0x400000ul
 
#define PWRMETER2_READ_REG_TYPES   0x800000ul
 
#define PWRMETER2_READ_ENTIRE_REG_MAP   0xC00000ul
 
#define PWRMETER2_ADDR_COUNT_NOT_INCR_WRITE   0x000000ul
 
#define PWRMETER2_ADDR_COUNT_INCR_WRITE   0x200000ul
 
#define PWRMETER2_DR_PIN_HIGH_IMP_NOT_READY   0x000000ul
 
#define PWRMETER2_DR_PIN_LOGIC_HIGH_NOT_READY   0x100000ul
 
#define PWRMETER2_DATA_READY_LINK_DIS   0x000000ul
 
#define PWRMETER2_DATA_READY_LINK_EN   0x080000ul
 
#define PWRMETER2_CRC_WIDTH_16_BIT   0x000000ul
 
#define PWRMETER2_CRC_WIDTH_32_BIT   0x040000ul
 
#define PWRMETER2_DATA_WIDTH_16_BIT   0x000000ul
 
#define PWRMETER2_DATA_WIDTH_24_BIT   0x010000ul
 
#define PWRMETER2_DATA_WIDTH_32_BIT_WITH_ZEROS   0x020000ul
 
#define PWRMETER2_DATA_WIDTH_32_BIT_WITH_SIGN   0x030000ul
 
#define PWRMETER2_CRC_DIS   0x000000ul
 
#define PWRMETER2_CRC_EN   0x008000ul
 
#define PWRMETER2_CRCREG_INTERR_DIS   0x000000ul
 
#define PWRMETER2_CRCREG_INTERR_EN   0x004000ul
 
#define PWRMETER2_MODUL_OUTPUT_DIS   0x000000ul
 
#define PWRMETER2_MODUL_OUTPUT_EN   0x000800ul
 
#define PWRMETER2_OFFCAL_DIS   0x000000ul
 
#define PWRMETER2_OFFCAL_EN   0x800000ul
 
#define PWRMETER2_GAINCAL_DIS   0x000000ul
 
#define PWRMETER2_GAINCAL_EN   0x400000ul
 
#define PWRMETER2_DITHERING_OFF   0x000000ul
 
#define PWRMETER2_DITHERING_STRENGTH_MIN   0x100000ul
 
#define PWRMETER2_DITHERING_STRENGTH_MED   0x200000ul
 
#define PWRMETER2_DITHERING_STRENGTH_MAX   0x300000ul
 
#define PWRMETER2_CURRENT_X_0_5   0x000000ul
 
#define PWRMETER2_CURRENT_X_0_66   0x040000ul
 
#define PWRMETER2_CURRENT_X_1   0x080000ul
 
#define PWRMETER2_CURRENT_X_2   0x0C0000ul
 
#define PWRMETER2_AMCLK_MCLK   0x000000ul
 
#define PWRMETER2_AMCLK_MCLK_PER_2   0x010000ul
 
#define PWRMETER2_AMCLK_MCLK_PER_4   0x020000ul
 
#define PWRMETER2_AMCLK_MCLK_PER_8   0x030000ul
 
#define PWRMETER2_OSR_32   0x000000ul
 
#define PWRMETER2_OSR_64   0x002000ul
 
#define PWRMETER2_OSR_128   0x004000ul
 
#define PWRMETER2_OSR_256   0x006000ul
 
#define PWRMETER2_OSR_512   0x008000ul
 
#define PWRMETER2_OSR_1024   0x00A000ul
 
#define PWRMETER2_OSR_2048   0x00C000ul
 
#define PWRMETER2_OSR_4096   0x00E000ul
 
#define PWRMETER2_CH0_NORMAL_MODE   0x000000ul
 
#define PWRMETER2_CH1_NORMAL_MODE   0x000000ul
 
#define PWRMETER2_CH0_SOFT_RESET_MODE   0x010000ul
 
#define PWRMETER2_CH1_SOFT_RESET_MODE   0x020000ul
 
#define PWRMETER2_CH0_SHUTDOWN_MODE   0x000100ul
 
#define PWRMETER2_CH1_SHUTDOWN_MODE   0x000200ul
 
#define PWRMETER2_INTERNAL_VOL_REF_EN   0x000000ul
 
#define PWRMETER2_INTERNAL_VOL_REF_DIS   0x000080ul
 
#define PWRMETER2_INTERNAL_CLOCK_EN   0x000000ul
 
#define PWRMETER2_INTERNAL_CLOCK_DIS   0x000040ul
 
#define PWRMETER2_CH0_CHECK_DIS   0x00
 
#define PWRMETER2_CH1_CHECK_DIS   0x00
 
#define PWRMETER2_CH0_CHECK_EN   0x01
 
#define PWRMETER2_CH1_CHECK_EN   0x02
 

Functions

void pwrmeter2_cfg_setup (pwrmeter2_cfg_t *cfg)
 Config Object Initialization function.
 
err_t pwrmeter2_init (pwrmeter2_t *ctx, pwrmeter2_cfg_t *cfg)
 Initialization function.
 
err_t pwrmeter2_default_cfg (pwrmeter2_t *ctx)
 Click Default Configuration function.
 
err_t pwrmeter2_write_reg (pwrmeter2_t *ctx, uint8_t reg, uint32_t data_in)
 Generic Write function.
 
err_t pwrmeter2_read_reg (pwrmeter2_t *ctx, uint8_t reg, uint32_t *data_out, uint8_t len)
 Generic Read function.
 
err_t pwrmeter2_read_conv_data (pwrmeter2_t *ctx, uint32_t *data_ch_0, uint32_t *data_ch_1)
 Read Converted Data function.
 
err_t pwrmeter2_get_data (pwrmeter2_t *ctx, float *voltage, float *current, float *power)
 Data Get function.
 
void pwrmeter2_reset (pwrmeter2_t *ctx)
 Reset function.
 
uint8_t pwrmeter2_get_modulator_1 (pwrmeter2_t *ctx)
 Modulator 1 Get function.
 
uint8_t pwrmeter2_get_modulator_0 (pwrmeter2_t *ctx)
 Modulator 0 Get function.
 
uint8_t pwrmeter2_check_ready_pin (pwrmeter2_t *ctx)
 Ready Pin Check function.
 

Detailed Description

This file contains API for PWR Meter 2 Click driver.