Device driver for Texas Instruments INA3221 three-channel, high-side current and bus voltage monitor. More...
Device driver for Texas Instruments INA3221 three-channel, high-side current and bus voltage monitor.
Files | |
file | ina3221_defines.h |
Internal definitions for Texas Instruments INA3221 three-channel, high-side current and bus voltage monitor. | |
file | ina3221_internal.h |
Functions to convert register values of INA3221 to actual voltage values and vice versa. | |
file | ina3221_params.h |
Driver configuration parameters for Texas Instruments INA3221 three-channel, high-side current and bus voltage monitor. | |
file | ina3221_regs.h |
Register definitions for Texas Instruments INA3221 three-channel, high-side current and bus voltage monitor. | |
file | ina3221.h |
Device driver interface for Texas Instruments INA3221 three-channel, high-side current and bus voltage monitor. | |
Data Structures | |
struct | ina3221_params_t |
INA3221 device parameters. More... | |
struct | ina3221_t |
INA3221 device handle struct. More... | |
Macros | |
#define | INA3221_NUM_CH (3) |
Number of channels. | |
#define | INA3221_NUM_ALERTS (4) |
Number of alerts. | |
#define | INA3221_MODE_MASK (0x0007) |
Device operation mode bit mask. | |
#define | INA3221_CONV_TIME_SADC_MASK (0x0038) |
ADC shunt voltage conversion times bit mask. | |
#define | INA3221_CONV_TIME_BADC_MASK (0x01C0) |
ADC bus voltage conversion times bit mask. | |
#define | INA3221_NUM_SAMPLES_MASK (0x0E00) |
Number of samples to calculate average shunt/bus voltage value bit mask. | |
#define | INA3221_ENABLE_CH_MASK |
Enable channel bit mask. | |
#define | INA3221_ENABLE_SUM_CH_MASK |
Enable shunt voltage sum calculation channel bit mask. | |
#define | INA3221_ENABLE_LATCH_MASK |
Enable latch bit mask. | |
#define | INA3221_DEFCONFIG (0x7127) |
Default configuration register value. | |
#define | INA3221_RESET (0x8000) |
Reset configuration register value. | |
#define | INA3221_FLAG_CRIT_ALERT_CH1 (0x0200) |
Critical alert channel 1 flag. | |
#define | INA3221_FLAG_CRIT_ALERT_CH2 (0x0100) |
Critical alert channel 2 flag. | |
#define | INA3221_FLAG_CRIT_ALERT_CH3 (0x0080) |
Critical alert channel 3 flag. | |
#define | INA3221_FLAG_SHUNT_SUM_ALERT (0x0040) |
Alert channel sum flag. | |
#define | INA3221_FLAG_WARN_ALERT_CH1 (0x0020) |
Warning alert channel 1 flag. | |
#define | INA3221_FLAG_WARN_ALERT_CH2 (0x0010) |
Warning alert channel 2 flag. | |
#define | INA3221_FLAG_WARN_ALERT_CH3 (0x0008) |
Warning alert channel 3 flag. | |
#define | INA3221_FLAG_POWER_VALID (0x0004) |
Power valid flag. | |
#define | INA3221_FLAG_TIMING_CONTROL (0x0002) |
Timing Control flag. | |
#define | INA3221_FLAG_CONV_READY (0x0001) |
Conversion ready flag. | |
#define | INA3221_FLAGS_MASK |
Flags bit mask. | |
#define | INA3221_TRIGGER_SHUNT(dev) ina3221_set_mode(dev, INA3221_MODE_TRIGGER_SHUNT_ONLY) |
Set operation mode to INA3221_MODE_TRIGGER_SHUNT_ONLY to trigger shunt voltage measurement. | |
#define | INA3221_TRIGGER_BUS(dev) ina3221_set_mode(dev, INA3221_MODE_TRIGGER_BUS_ONLY) |
Set operation mode to INA3221_MODE_TRIGGER_BUS_ONLY to trigger bus voltage measurement. | |
#define | INA3221_TRIGGER_SHUNT_AND_BUS(dev) ina3221_set_mode(dev, INA3221_MODE_TRIGGER_SHUNT_BUS) |
Set operation mode to INA3221_MODE_TRIGGER_SHUNT_BUS to trigger shunt and bus voltage measurement. | |
Typedefs | |
typedef void(* | ina3221_alert_cb_t) (void *arg) |
INA3221 alert callback for alert pins CRT, WRN, TC, PV. | |
typedef enum ina3221_dev_addr | ina3221_dev_addr_t |
I2C device addresses. | |
typedef enum ina3221_channel | ina3221_channel_t |
Channel flags. | |
typedef enum ina3221_alert | ina3221_alert_t |
Alert indices. | |
typedef enum ina3221_mode | ina3221_mode_t |
Device operation modes. | |
typedef enum ina3221_conv_time_shunt_adc | ina3221_conv_time_shunt_adc_t |
ADC shunt voltage conversion times. | |
typedef enum ina3221_conv_time_bus_adc | ina3221_conv_time_bus_adc_t |
ADC bus voltage conversion times. | |
typedef enum ina3221_num_samples | ina3221_num_samples_t |
Number of samples to calculate average shunt/bus voltage value. | |
typedef enum ina3221_enable_ch | ina3221_enable_ch_t |
Enable channel flags. | |
typedef enum ina3221_enable_sum_ch | ina3221_enable_sum_ch_t |
Enable shunt voltage sum calculation channel flags. | |
typedef enum ina3221_enable_latch | ina3221_enable_latch_t |
Enable latch flags. | |
typedef unsigned | ina3221_ch_t |
Flags ina3221_channel_t. | |
Functions | |
int | ina3221_reset (ina3221_t *dev) |
Reset device, i.e. | |
int | ina3221_init (ina3221_t *dev, const ina3221_params_t *params) |
Initialize device. | |
int | ina3221_enable_alert (ina3221_t *dev, ina3221_alert_t alert, ina3221_alert_cb_t cb, void *arg) |
Enable alert and set callback and argument for alert alert . | |
static int | ina3221_enable_warning_alert (ina3221_t *dev, ina3221_alert_cb_t cb, void *arg) |
Wrapper around ina3221_enable_alert, to enable warning alert. | |
static int | ina3221_enable_critical_alert (ina3221_t *dev, ina3221_alert_cb_t cb, void *arg) |
Wrapper around ina3221_enable_alert, to enable critical alert. | |
static int | ina3221_enable_timing_control_alert (ina3221_t *dev, ina3221_alert_cb_t cb, void *arg) |
Wrapper around ina3221_enable_alert, to enable timing control alert. | |
static int | ina3221_enable_power_valid_alert (ina3221_t *dev, ina3221_alert_cb_t cb, void *arg) |
Wrapper around ina3221_enable_alert, to enable power valid alert. | |
int | ina3221_disable_alert (ina3221_t *dev, ina3221_alert_t alert) |
Disable alert alert . | |
static int | ina3221_disable_warning_alert (ina3221_t *dev) |
Wrapper around ina3221_disable_alert, to disable warning alert. | |
static int | ina3221_disable_critical_alert (ina3221_t *dev) |
Wrapper around ina3221_disable_alert, to disable critical alert. | |
static int | ina3221_disable_timing_control_alert (ina3221_t *dev) |
Wrapper around ina3221_disable_alert, to disable timing control alert. | |
static int | ina3221_disable_power_valid_alert (ina3221_t *dev) |
Wrapper around ina3221_disable_alert, to disable power valid alert. | |
static ina3221_ch_t | ina3221_config_get_enabled_channels (uint16_t cfg) |
Get enabled measurement channels from configuration value. | |
static void | ina3221_config_set_enabled_channels (uint16_t *cfg, ina3221_ch_t ch) |
Enable measurement channels in configuration value. | |
static ina3221_num_samples_t | ina3221_config_get_num_samples (uint16_t cfg) |
Get number of samples from configuration value. | |
static void | ina3221_config_set_num_samples (uint16_t *cfg, ina3221_num_samples_t ns) |
Set number of samples in configuration value. | |
static ina3221_conv_time_bus_adc_t | ina3221_config_get_conv_time_bus (uint16_t cfg) |
Get bus voltage conversion time from configuration value. | |
static void | ina3221_config_set_conv_time_bus (uint16_t *cfg, ina3221_conv_time_bus_adc_t bus) |
Set bus voltage conversion time in configuration value. | |
static ina3221_conv_time_shunt_adc_t | ina3221_config_get_conv_time_shunt (uint16_t cfg) |
Get shunt voltage conversion time from configuration value. | |
static void | ina3221_config_set_conv_time_shunt (uint16_t *cfg, ina3221_conv_time_shunt_adc_t shunt) |
Set shunt voltage conversion time in configuration value. | |
static ina3221_mode_t | ina3221_config_get_mode (uint16_t cfg) |
Get operation mode from configuration value. | |
static void | ina3221_config_set_mode (uint16_t *cfg, ina3221_mode_t mode) |
Set operation mode in configuration value. | |
int | ina3221_set_config (ina3221_t *dev, uint16_t cfg) |
Write configuration register value to configuration register. | |
int | ina3221_get_config (const ina3221_t *dev, uint16_t *cfg) |
Read currently saved configuration register value. | |
int | ina3221_set_enable_channel (ina3221_t *dev, ina3221_ch_t ch) |
Enable channels. | |
static void | ina3221_get_enable_channel (const ina3221_t *dev, ina3221_ch_t *ch) |
Read which channels are currently enabled. | |
int | ina3221_set_num_samples (ina3221_t *dev, ina3221_num_samples_t ns) |
Update number of samples and write to configuration register. | |
static void | ina3221_get_num_samples (const ina3221_t *dev, ina3221_num_samples_t *ns) |
Read currently applied number of samples. | |
int | ina3221_set_conv_time_bus_adc (ina3221_t *dev, ina3221_conv_time_bus_adc_t ctb) |
Update conversion time of bus voltage ADC and write to configuration register. | |
static void | ina3221_get_conv_time_bus_adc (const ina3221_t *dev, ina3221_conv_time_bus_adc_t *ctb) |
Read currently applied bus voltage ADC conversion time. | |
int | ina3221_set_conv_time_shunt_adc (ina3221_t *dev, ina3221_conv_time_shunt_adc_t cts) |
Update conversion time of shunt voltage ADC and write to configuration register. | |
static void | ina3221_get_conv_time_shunt_adc (const ina3221_t *dev, ina3221_conv_time_shunt_adc_t *cts) |
Read currently applied shunt voltage ADC conversion time. | |
int | ina3221_set_mode (ina3221_t *dev, ina3221_mode_t mode) |
Update device operation mode. | |
static void | ina3221_get_mode (const ina3221_t *dev, ina3221_mode_t *mode) |
Read currently applied device operation mode. | |
int | ina3221_set_enable_sum_channel (const ina3221_t *dev, ina3221_ch_t ch) |
Enable channels for shunt voltage sum calculation. | |
int | ina3221_get_enable_sum_channel (const ina3221_t *dev, ina3221_ch_t *ch) |
Read enabled channels for shunt voltage sum calculation. | |
int | ina3221_set_latch (const ina3221_t *dev, bool warn, bool crit) |
Enable latches for critical/warning alert pins. | |
int | ina3221_get_latch (const ina3221_t *dev, bool *warn, bool *crit) |
Read enabled latches for critical/warning alert pins. | |
ina3221_ch_t | ina3221_set_crit_alert_limit (const ina3221_t *dev, ina3221_ch_t ch, int32_t in_uv) |
Set critical shunt voltage alert limit to in_uv for each channel in ch . | |
ina3221_ch_t | ina3221_get_crit_alert_limit (const ina3221_t *dev, ina3221_ch_t ch, int32_t out_uv[INA3221_NUM_CH]) |
Read critical shunt voltage alert limit for each channel in ch . | |
ina3221_ch_t | ina3221_set_warn_alert_limit (const ina3221_t *dev, ina3221_ch_t ch, int32_t in_uv) |
Set warning shunt voltage alert limit to in_uv for each channel in ch . | |
ina3221_ch_t | ina3221_get_warn_alert_limit (const ina3221_t *dev, ina3221_ch_t ch, int32_t out_uv[INA3221_NUM_CH]) |
Read warning shunt voltage alert limit for each channel in ch . | |
int | ina3221_set_shunt_voltage_sum_alert_limit (const ina3221_t *dev, int32_t in_uv) |
Set shunt voltage sum alert limit to in_uv . | |
int | ina3221_get_shunt_voltage_sum_alert_limit (const ina3221_t *dev, int32_t *out_uv) |
Read shunt voltage sum alert limit. | |
int | ina3221_set_power_valid_upper_limit (const ina3221_t *dev, int32_t in_mv) |
Set bus voltage power valid upper limit to in_mv . | |
int | ina3221_get_power_valid_upper_limit (const ina3221_t *dev, int32_t *out_mv) |
Read bus voltage power valid upper limit. | |
int | ina3221_set_power_valid_lower_limit (const ina3221_t *dev, int32_t in_mv) |
Set bus voltage power valid lower limit to in_mv . | |
int | ina3221_get_power_valid_lower_limit (const ina3221_t *dev, int32_t *out_mv) |
Read bus voltage power valid lower limit. | |
int | ina3221_read_flags (const ina3221_t *dev, uint16_t *flags) |
Read status flags. | |
int | ina3221_read_shunt_sum_uv (const ina3221_t *dev, int32_t *out_uv, uint16_t *flags) |
Read sum of shunt voltages. | |
ina3221_ch_t | ina3221_read_shunt_uv (const ina3221_t *dev, int32_t out_uv[INA3221_NUM_CH], uint16_t *flags) |
Read shunt voltages for each channel in ch . | |
ina3221_ch_t | ina3221_read_bus_mv (const ina3221_t *dev, int16_t out_mv[INA3221_NUM_CH], uint16_t *flags) |
Read bus voltages for each channel in ch . | |
void | ina3221_calculate_current_ua (ina3221_ch_t ch, const uint16_t in_mohm[INA3221_NUM_CH], const int32_t in_uv[INA3221_NUM_CH], int32_t out_ua[INA3221_NUM_CH]) |
Calculate current for each channel in ch . | |
void | ina3221_calculate_power_uw (ina3221_ch_t ch, const int16_t in_mv[INA3221_NUM_CH], const int32_t in_ua[INA3221_NUM_CH], int32_t out_mw[INA3221_NUM_CH]) |
Calculate power from bus voltage and current values. | |
#define INA3221_CONV_TIME_BADC_MASK (0x01C0) |
#define INA3221_CONV_TIME_SADC_MASK (0x0038) |
#define INA3221_DEFCONFIG (0x7127) |
#define INA3221_ENABLE_CH_MASK |
Enable channel bit mask.
#define INA3221_ENABLE_LATCH_MASK |
Enable latch bit mask.
#define INA3221_ENABLE_SUM_CH_MASK |
Enable shunt voltage sum calculation channel bit mask.
#define INA3221_FLAG_CONV_READY (0x0001) |
#define INA3221_FLAG_CRIT_ALERT_CH1 (0x0200) |
#define INA3221_FLAG_CRIT_ALERT_CH2 (0x0100) |
#define INA3221_FLAG_CRIT_ALERT_CH3 (0x0080) |
#define INA3221_FLAG_POWER_VALID (0x0004) |
#define INA3221_FLAG_SHUNT_SUM_ALERT (0x0040) |
#define INA3221_FLAG_TIMING_CONTROL (0x0002) |
#define INA3221_FLAG_WARN_ALERT_CH1 (0x0020) |
#define INA3221_FLAG_WARN_ALERT_CH2 (0x0010) |
#define INA3221_FLAG_WARN_ALERT_CH3 (0x0008) |
#define INA3221_FLAGS_MASK |
Flags bit mask.
#define INA3221_MODE_MASK (0x0007) |
#define INA3221_NUM_SAMPLES_MASK (0x0E00) |
#define INA3221_RESET (0x8000) |
#define INA3221_TRIGGER_BUS | ( | dev | ) | ina3221_set_mode(dev, INA3221_MODE_TRIGGER_BUS_ONLY) |
#define INA3221_TRIGGER_SHUNT | ( | dev | ) | ina3221_set_mode(dev, INA3221_MODE_TRIGGER_SHUNT_ONLY) |
#define INA3221_TRIGGER_SHUNT_AND_BUS | ( | dev | ) | ina3221_set_mode(dev, INA3221_MODE_TRIGGER_SHUNT_BUS) |
typedef void(* ina3221_alert_cb_t) (void *arg) |
typedef unsigned ina3221_ch_t |
Flags ina3221_channel_t.
enum ina3221_alert |
enum ina3221_channel |
ADC bus voltage conversion times.
ADC shunt voltage conversion times.
enum ina3221_dev_addr |
enum ina3221_enable_ch |
enum ina3221_enable_latch |
enum ina3221_mode |
Device operation modes.
enum ina3221_num_samples |
void ina3221_calculate_current_ua | ( | ina3221_ch_t | ch, |
const uint16_t | in_mohm[INA3221_NUM_CH], | ||
const int32_t | in_uv[INA3221_NUM_CH], | ||
int32_t | out_ua[INA3221_NUM_CH] | ||
) |
Calculate current for each channel in ch
.
[in] | ch | Flags of which values in in_mohm and in_uv are valid |
[in] | in_mohm | Array of input shunt resistors in mOhm |
[in] | in_uv | Array of input shunt voltage values in uV |
[out] | out_ua | Array of output current values in uA |
void ina3221_calculate_power_uw | ( | ina3221_ch_t | ch, |
const int16_t | in_mv[INA3221_NUM_CH], | ||
const int32_t | in_ua[INA3221_NUM_CH], | ||
int32_t | out_mw[INA3221_NUM_CH] | ||
) |
Calculate power from bus voltage and current values.
[in] | ch | Flags of which values in in_mv and in_ua are valid |
[in] | in_mv | Array of input bus voltage values in mV |
[in] | in_ua | Array of input current values in uA |
[out] | out_mw | Array of output power values in mW |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Get enabled measurement channels from configuration value.
[in] | cfg | Configuration value |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Enable measurement channels in configuration value.
[out] | cfg | Configuration value |
[in] | ch | Channel flags ina3221_channel_t |
|
inlinestatic |
|
inlinestatic |
int ina3221_disable_alert | ( | ina3221_t * | dev, |
ina3221_alert_t | alert | ||
) |
Disable alert alert
.
[in,out] | dev | Device handle |
[in] | alert | Alert index |
alert
was out of bounds
|
inlinestatic |
Wrapper around ina3221_disable_alert, to disable critical alert.
[in,out] | dev | Device handle |
|
inlinestatic |
Wrapper around ina3221_disable_alert, to disable power valid alert.
[in,out] | dev | Device handle |
|
inlinestatic |
Wrapper around ina3221_disable_alert, to disable timing control alert.
[in,out] | dev | Device handle |
|
inlinestatic |
Wrapper around ina3221_disable_alert, to disable warning alert.
[in,out] | dev | Device handle |
int ina3221_enable_alert | ( | ina3221_t * | dev, |
ina3221_alert_t | alert, | ||
ina3221_alert_cb_t | cb, | ||
void * | arg | ||
) |
Enable alert and set callback and argument for alert alert
.
[in,out] | dev | Device handle |
[in] | alert | Alert index |
[in] | cb | Alert callback |
[in] | arg | Alert callback argument |
alert
was out of bounds
|
inlinestatic |
Wrapper around ina3221_enable_alert, to enable critical alert.
[in,out] | dev | Device handle |
[in] | cb | Alert callback |
[in] | arg | Alert callback argument |
|
inlinestatic |
Wrapper around ina3221_enable_alert, to enable power valid alert.
[in,out] | dev | Device handle |
[in] | cb | Alert callback |
[in] | arg | Alert callback argument |
|
inlinestatic |
Wrapper around ina3221_enable_alert, to enable timing control alert.
[in,out] | dev | Device handle |
[in] | cb | Alert callback |
[in] | arg | Alert callback argument |
|
inlinestatic |
Wrapper around ina3221_enable_alert, to enable warning alert.
[in,out] | dev | Device handle |
[in] | cb | Alert callback |
[in] | arg | Alert callback argument |
int ina3221_get_config | ( | const ina3221_t * | dev, |
uint16_t * | cfg | ||
) |
Read currently saved configuration register value.
[in] | dev | Device handle |
[out] | cfg | Pointer to configuration register output value |
|
inlinestatic |
|
inlinestatic |
ina3221_ch_t ina3221_get_crit_alert_limit | ( | const ina3221_t * | dev, |
ina3221_ch_t | ch, | ||
int32_t | out_uv[INA3221_NUM_CH] | ||
) |
Read critical shunt voltage alert limit for each channel in ch
.
[in] | dev | Device handle |
[in] | ch | Channel flags ina3221_channel_t |
[out] | out_uv | Output array of shunt voltage alert limits in uV |
out_uv
|
inlinestatic |
Read which channels are currently enabled.
[in] | dev | Device handle |
[out] | ch | Channel flags ina3221_channel_t |
int ina3221_get_enable_sum_channel | ( | const ina3221_t * | dev, |
ina3221_ch_t * | ch | ||
) |
Read enabled channels for shunt voltage sum calculation.
[in] | dev | Device handle |
[out] | ch | Channel flags ina3221_channel_t |
int ina3221_get_latch | ( | const ina3221_t * | dev, |
bool * | warn, | ||
bool * | crit | ||
) |
Read enabled latches for critical/warning alert pins.
[in] | dev | Device handle |
[in] | warn | Will be true if warning alert is latched |
[in] | crit | Will be true if critical alert is latched |
|
inlinestatic |
|
inlinestatic |
int ina3221_get_power_valid_lower_limit | ( | const ina3221_t * | dev, |
int32_t * | out_mv | ||
) |
Read bus voltage power valid lower limit.
[in] | dev | Device handle |
[out] | out_mv | Pointer to bus voltage power valid lower limit output variable |
int ina3221_get_power_valid_upper_limit | ( | const ina3221_t * | dev, |
int32_t * | out_mv | ||
) |
Read bus voltage power valid upper limit.
[in] | dev | Device handle |
[out] | out_mv | Pointer to bus voltage power valid upper limit output variable |
int ina3221_get_shunt_voltage_sum_alert_limit | ( | const ina3221_t * | dev, |
int32_t * | out_uv | ||
) |
Read shunt voltage sum alert limit.
[in] | dev | Device handle |
[out] | out_uv | Pointer to sum voltage sum alert limit output variable |
ina3221_ch_t ina3221_get_warn_alert_limit | ( | const ina3221_t * | dev, |
ina3221_ch_t | ch, | ||
int32_t | out_uv[INA3221_NUM_CH] | ||
) |
Read warning shunt voltage alert limit for each channel in ch
.
[in] | dev | Device handle |
[in] | ch | Channel flags ina3221_channel_t |
[out] | out_uv | Output array of shunt voltage alert limits in uV |
int ina3221_init | ( | ina3221_t * | dev, |
const ina3221_params_t * | params | ||
) |
Initialize device.
[out] | dev | Device handle |
[in] | params | Device parameters |
ina3221_ch_t ina3221_read_bus_mv | ( | const ina3221_t * | dev, |
int16_t | out_mv[INA3221_NUM_CH], | ||
uint16_t * | flags | ||
) |
Read bus voltages for each channel in ch
.
[in] | dev | Device handle |
[out] | out_mv | Array of output bus voltage values in mV |
[out] | flags | Pointer to flags output variable, may be NULL |
int ina3221_read_flags | ( | const ina3221_t * | dev, |
uint16_t * | flags | ||
) |
Read status flags.
[in] | dev | Device handle |
[out] | flags | Pointer to flags output variable |
int ina3221_read_shunt_sum_uv | ( | const ina3221_t * | dev, |
int32_t * | out_uv, | ||
uint16_t * | flags | ||
) |
Read sum of shunt voltages.
[in] | dev | Device handle |
[out] | out_uv | Pointer to shunt voltage sum output variable |
[out] | flags | Pointer to flags output variable, may be NULL |
ina3221_ch_t ina3221_read_shunt_uv | ( | const ina3221_t * | dev, |
int32_t | out_uv[INA3221_NUM_CH], | ||
uint16_t * | flags | ||
) |
Read shunt voltages for each channel in ch
.
[in] | dev | Device handle |
[out] | out_uv | Array of output shunt voltage values in uV |
[out] | flags | Pointer to flags output variable, may be NULL |
int ina3221_reset | ( | ina3221_t * | dev | ) |
Reset device, i.e.
apply default configuration
[in,out] | dev | Device handle |
int ina3221_set_config | ( | ina3221_t * | dev, |
uint16_t | cfg | ||
) |
Write configuration register value to configuration register.
[in,out] | dev | Device handle |
[in] | cfg | Configuration register value |
int ina3221_set_conv_time_bus_adc | ( | ina3221_t * | dev, |
ina3221_conv_time_bus_adc_t | ctb | ||
) |
Update conversion time of bus voltage ADC and write to configuration register.
[in,out] | dev | Device handle |
[in] | ctb | Bus voltage conversion time |
int ina3221_set_conv_time_shunt_adc | ( | ina3221_t * | dev, |
ina3221_conv_time_shunt_adc_t | cts | ||
) |
Update conversion time of shunt voltage ADC and write to configuration register.
[in,out] | dev | Device handle |
[in] | cts | Shunt voltage conversion time value |
ina3221_ch_t ina3221_set_crit_alert_limit | ( | const ina3221_t * | dev, |
ina3221_ch_t | ch, | ||
int32_t | in_uv | ||
) |
Set critical shunt voltage alert limit to in_uv
for each channel in ch
.
[in] | dev | Device handle |
[in] | ch | Channel flags ina3221_channel_t |
[in] | in_uv | Critical shunt voltage limit in uV |
int ina3221_set_enable_channel | ( | ina3221_t * | dev, |
ina3221_ch_t | ch | ||
) |
Enable channels.
[in,out] | dev | Device handle |
[in] | ch | Channel flags ina3221_channel_t |
int ina3221_set_enable_sum_channel | ( | const ina3221_t * | dev, |
ina3221_ch_t | ch | ||
) |
Enable channels for shunt voltage sum calculation.
[in] | dev | Device handle |
[in] | ch | Channel flags ina3221_channel_t |
int ina3221_set_latch | ( | const ina3221_t * | dev, |
bool | warn, | ||
bool | crit | ||
) |
Enable latches for critical/warning alert pins.
[in] | dev | Device handle |
[in] | warn | Enable warning alert latch |
[in] | crit | Enable critical alert latch |
int ina3221_set_mode | ( | ina3221_t * | dev, |
ina3221_mode_t | mode | ||
) |
Update device operation mode.
[in,out] | dev | Device handle |
[in] | mode | Operation mode value |
int ina3221_set_num_samples | ( | ina3221_t * | dev, |
ina3221_num_samples_t | ns | ||
) |
Update number of samples and write to configuration register.
[in,out] | dev | Device handle |
[in] | ns | Number of samples |
int ina3221_set_power_valid_lower_limit | ( | const ina3221_t * | dev, |
int32_t | in_mv | ||
) |
Set bus voltage power valid lower limit to in_mv
.
[in] | dev | Device handle |
[in] | in_mv | Bus voltage power valid lower limit in mV |
in_mv
was not in [INA3221_MIN_BUS_MV; INA3221_MAX_BUS_MV] int ina3221_set_power_valid_upper_limit | ( | const ina3221_t * | dev, |
int32_t | in_mv | ||
) |
Set bus voltage power valid upper limit to in_mv
.
[in] | dev | Device handle |
[in] | in_mv | Bus voltage power valid upper limit in mV |
in_mv
was not in [INA3221_MIN_BUS_MV; INA3221_MAX_BUS_MV] int ina3221_set_shunt_voltage_sum_alert_limit | ( | const ina3221_t * | dev, |
int32_t | in_uv | ||
) |
Set shunt voltage sum alert limit to in_uv
.
[in] | dev | Device handle |
[in] | in_uv | Shunt voltage sum limit in uV |
in_uv
was not in [INA3221_MIN_SHUNT_SUM_UV; INA3221_MAX_SHUNT_SUM_UV] ina3221_ch_t ina3221_set_warn_alert_limit | ( | const ina3221_t * | dev, |
ina3221_ch_t | ch, | ||
int32_t | in_uv | ||
) |
Set warning shunt voltage alert limit to in_uv
for each channel in ch
.
[in] | dev | Device handle |
[in] | ch | Channel flags ina3221_channel_t |
[in] | in_uv | Warning shunt voltage limit in uV |