current6 2.0.0.0
current6.h File Reference

This file contains API for Current 6 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  current6_t
 Current 6 Click context object. More...
 
struct  current6_cfg_t
 Current 6 Click configuration object. More...
 

Macros

#define CURRENT6_REG_CONFIGURATION   0x00
 Current 6 register list.
 
#define CURRENT6_REG_STATUS   0x02
 
#define CURRENT6_REG_THRESHOLD_OVER_CURRENT   0x04
 
#define CURRENT6_REG_THRESHOLD_OVER_VOLTAGE   0x05
 
#define CURRENT6_REG_THRESHOLD_UNDER_VOLTAGE   0x06
 
#define CURRENT6_REG_WAKE_UP_CURRENT   0x07
 
#define CURRENT6_REG_MAX_PEAK_CURRENT   0x08
 
#define CURRENT6_REG_FIFO_CONFIGURATION   0x0A
 
#define CURRENT6_REG_CURRENT_MEASUREMENT   0x0C
 
#define CURRENT6_REG_VOLTAGE_MEASUREMENT   0x0E
 
#define CURRENT6_REG_CURRENT_VOLTAGE_MEASUREMENT   0x10
 
#define CURRENT6_REG_INT_EN   0x14
 
#define CURRENT6_OPMODE_STANDBY   0x0000
 Current 6 Configuration register settings.
 
#define CURRENT6_OPMODE_LOW_POWER   0x0001
 
#define CURRENT6_OPMODE_SINGLE_CONVERSION   0x0002
 
#define CURRENT6_OPMODE_CONTINUOUS_MEASUREMENT   0x0003
 
#define CURRENT6_OPMODE_ACTIVE_MODE_4_SPS   0x0004
 
#define CURRENT6_OPMODE_ACTIVE_MODE_1_SPS   0x0005
 
#define CURRENT6_OPMODE_ACTIVE_MODE_0p25_SPS   0x0006
 
#define CURRENT6_OPMODE_ACTIVE_MODE_0p0625_SPS   0x0007
 
#define CURRENT6_OPMODE_ACTIVE_MODE_0p25_SPS   0x0006
 
#define CURRENT6_I2C_TIMEOUT_DISABLE   0x0008
 
#define CURRENT6_I2C_TIMEOUT_ENABLE   0x0000
 
#define CURRENT6_ALERT_UNFILTERED   0x0000
 
#define CURRENT6_ALERT_FILTERED   0x0010
 
#define CURRENT6_PEC_ENABLE   0x0020
 
#define CURRENT6_PEC_DISABLE   0x0000
 
#define CURRENT6_INPUT_RANGE_10mV   0x0040
 
#define CURRENT6_INPUT_RANGE_50mV   0x0000
 
#define CURRENT6_ENTER_HS_MODE   0x0080
 
#define CURRENT6_EXIT_HS_MODE   0x0000
 
#define CURRENT6_ADC_SAMPLE_RATE_15_KSPS   0x0000
 
#define CURRENT6_ADC_SAMPLE_RATE_23p45_KSPS   0x0200
 
#define CURRENT6_ADC_SAMPLE_RATE_30_KSPS   0x0300
 
#define CURRENT6_ADC_SAMPLE_RATE_37p5_KSPS   0x0400
 
#define CURRENT6_ADC_SAMPLE_RATE_47p1_KSPS   0x0500
 
#define CURRENT6_ADC_SAMPLE_RATE_60_KSPS   0x0600
 
#define CURRENT6_ADC_SAMPLE_RATE_93p5_KSPS   0x0700
 
#define CURRENT6_ADC_SAMPLE_RATE_120_KSPS   0x0800
 
#define CURRENT6_ADC_SAMPLE_RATE_150_KSPS   0x0900
 
#define CURRENT6_ADC_SAMPLE_RATE_234p5_KSPS   0x0A00
 
#define CURRENT6_ADC_SAMPLE_RATE_375_KSPS   0x0B00
 
#define CURRENT6_ADC_SAMPLE_RATE_468p5_KSPS   0x0C00
 
#define CURRENT6_ADC_SAMPLE_RATE_750_KSPS   0x0D00
 
#define CURRENT6_ADC_SAMPLE_RATE_1000_KSPS   0x0E00
 
#define CURRENT6_ADC_SAMPLE_RATE_0p5_KSPS   0x0F00
 
#define CURRENT6_DIGITAL_FILTER_NO_AVG   0x0000
 
#define CURRENT6_DIGITAL_FILTER_AVG_8_SAMPLES   0x1000
 
#define CURRENT6_DIGITAL_FILTER_AVG_16_SAMPLES   0x2000
 
#define CURRENT6_DIGITAL_FILTER_AVG_32_SAMPLES   0x3000
 
#define CURRENT6_DIGITAL_FILTER_AVG_64_SAMPLES   0x4000
 
#define CURRENT6_DIGITAL_FILTER_AVG_128_SAMPLES   0x5000
 
#define CURRENT6_STATUS_WAKE_UP   0x0001
 Current 6 Status register settings.
 
#define CURRENT6_STATUS_CONVERSION_READY   0x0002
 
#define CURRENT6_STATUS_OVERFLOW_CURRENT   0x0004
 
#define CURRENT6_STATUS_OVERFLOW_VOLTAGE   0x0008
 
#define CURRENT6_STATUS_UNDERFLOW_VOLTAGE   0x0010
 
#define CURRENT6_STATUS_I2C_TIMEOUT   0x0020
 
#define CURRENT6_STATUS_FIFO_ALARM   0x0040
 
#define CURRENT6_STATUS_FIFO_OVERFLOW   0x0080
 
#define CURRENT6_STATUS_FIFO_DATA_COUNT_MASK   0x3F00
 
#define CURRENT6_FIFO_CFG_STORE_CURRENT_ONLY   0x0000
 Current 6 FIFO configuration register settings.
 
#define CURRENT6_FIFO_CFG_STORE_VOLTAGE_ONLY   0x0001
 
#define CURRENT6_FIFO_CFG_STORE_ALL   0x0002
 
#define CURRENT6_FIFO_CFG_DATA_OVERFLOW_MASK   0x3F00
 
#define CURRENT6_FIFO_CFG_DATA_OVERFLOW_DEFAULT   0x0100
 
#define CURRENT6_FIFO_CFG_ROLL_OVER   0x4000
 
#define CURRENT6_FIFO_CFG_FLUSH   0x8000
 
#define CURRENT6_FIFO_DATA_VALID_32   0x80000000
 Current 6 FIFO data register settings.
 
#define CURRENT6_FIFO_DATA_VALID_16   0x8000
 
#define CURRENT6_FIFO_DATA_SIGN_BIT   0x1000
 
#define CURRENT6_FIFO_DATA_RESOLUTION   0x0FFF
 
#define CURRENT6_INT_EN_WAKE_UP   0x01
 Current 6 INT enable register settings.
 
#define CURRENT6_INT_EN_CONVERSION_READY   0x02
 
#define CURRENT6_INT_EN_OVERFLOW_CURRENT   0x04
 
#define CURRENT6_INT_EN_OVERFLOW_VOLTAGE   0x08
 
#define CURRENT6_INT_EN_UNDERFLOW_VOLTAGE   0x10
 
#define CURRENT6_INT_EN_I2C_TIMEOUT   0x20
 
#define CURRENT6_INT_EN_ALARM   0x40
 
#define CURRENT6_INT_EN_OVERFLOW   0x80
 
#define CURRENT6_VOLTAGE_CALCULATION_COEFFICIENT   0.00917
 Current 6 current and voltage calculation values.
 
#define CURRENT6_CURRENT_CALCULATION_COEFFICIENT   0.00125
 
#define CURRENT6_SET_DEV_ADDR   0x21
 Current 6 device address setting.
 
#define CURRENT6_MAP_MIKROBUS(cfg, mikrobus)
 MikroBUS pin mapping.
 

Enumerations

enum  current6_return_value_t { CURRENT6_OK = 0 , CURRENT6_ERROR = -1 }
 Current 6 Click return value data. More...
 

Functions

void current6_cfg_setup (current6_cfg_t *cfg)
 Current 6 configuration object setup function.
 
err_t current6_init (current6_t *ctx, current6_cfg_t *cfg)
 Current 6 initialization function.
 
err_t current6_default_cfg (current6_t *ctx)
 Current 6 default configuration function.
 
err_t current6_write_byte (current6_t *ctx, uint8_t reg, uint8_t data_in)
 Current 6 write byte function.
 
err_t current6_read_byte (current6_t *ctx, uint8_t reg, uint8_t *data_out)
 Current 6 read byte function.
 
err_t current6_write_word (current6_t *ctx, uint8_t reg, uint16_t data_in)
 Current 6 write word function.
 
err_t current6_read_word (current6_t *ctx, uint8_t reg, uint16_t *data_out)
 Current 6 read word function.
 
err_t current6_read_32 (current6_t *ctx, uint32_t *data_out)
 Current 6 read 32-bit function.
 
uint8_t current6_get_alert_pin (current6_t *ctx)
 Current 6 get alert pin function.
 
err_t current6_read_data (current6_t *ctx, float *voltage, float *current)
 Current 6 read data function.
 
err_t current6_get_status (current6_t *ctx, uint16_t *status)
 Current 6 get status function.
 
err_t current6_enable_pec (current6_t *ctx)
 PEC Enable function.
 
err_t current6_disable_pec (current6_t *ctx)
 PEC Disable function.
 
void current6_enable_device (current6_t *ctx)
 Current 6 enable device function.
 
void current6_disable_device (current6_t *ctx)
 Current 6 disable device function.
 

Detailed Description

This file contains API for Current 6 Click Driver.

Enumeration Type Documentation

◆ current6_return_value_t

Current 6 Click return value data.

Predefined enum values for driver return values.

Enumerator
CURRENT6_OK 
CURRENT6_ERROR