openMMC
Open Source Modular MMC for AMCs
Loading...
Searching...
No Matches

Definitions for INA220 Current/Voltage/Power Sensor. More...

#include "FreeRTOS.h"
#include "port.h"
Include dependency graph for ina220.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

union  ina220_config_reg_t
 
struct  ina220_config_t
 
struct  ina220_data_t
 

Macros

#define MAX_INA220_COUNT   12
 
#define INA220_UPDATE_RATE   100
 
#define INA220_CONFIG   0x00
 INA220 Configuration register (Read/write)
 
#define INA220_SHUNT_VOLTAGE   0x01
 INA220 Shunt Voltage register (Read only)
 
#define INA220_BUS_VOLTAGE   0x02
 INA220 Bus Voltage register (Read only)
 
#define INA220_POWER   0x03
 INA220 Power register (Read only)
 
#define INA220_CURRENT   0x04
 INA220 Current register (Read only)
 
#define INA220_CALIBRATION   0x05
 INA220 Calibration register (Read/write)
 
#define INA220_REGISTERS   6
 INA220 Register Count.
 
#define INA220_16V_SCALE_RANGE   0x00
 
#define INA220_32V_SCALE_RANGE   0x01
 
#define INA220_PGA_GAIN_40MV   0x00
 
#define INA220_PGA_GAIN_80MV   0x01
 
#define INA220_PGA_GAIN_160MV   0x02
 
#define INA220_PGA_GAIN_320MV   0x03
 
#define INA220_RES_SAMPLES_9BIT   0x0
 
#define INA220_RES_SAMPLES_10BIT   0x1
 
#define INA220_RES_SAMPLES_11BIT   0x2
 
#define INA220_RES_SAMPLES_12BIT   0x3
 
#define INA220_RES_SAMPLES_2SMP   0x9
 
#define INA220_RES_SAMPLES_4SMP   0xA
 
#define INA220_RES_SAMPLES_8SMP   0xB
 
#define INA220_RES_SAMPLES_16SMP   0xC
 
#define INA220_RES_SAMPLES_32SMP   0xD
 
#define INA220_RES_SAMPLES_64SMP   0xE
 
#define INA220_RES_SAMPLES_128SMP   0xF
 
#define INA220_MODE_POWER_DOWN   0x0
 
#define INA220_MODE_SHUNT_TRIG   0x1
 
#define INA220_MODE_BUS_TRIG   0x2
 
#define INA220_MODE_SHUNT_BUS_TRIG   0x3
 
#define INA220_MODE_ADC_OFF   0x4
 
#define INA220_MODE_SHUNT_CONT   0x5
 
#define INA220_MODE_BUS_CONT   0x6
 
#define INA220_MODE_SHUNT_BUS_CONT   0x7
 
#define INA220_CONVERSION_RATE   15
 
#define INA220_MAX_DELAY   69 /* worst case delay in ms */
 
#define INA220_RSHUNT_DEFAULT   10000
 

Functions

uint8_t ina220_config (ina220_data_t *data)
 
Bool ina220_calibrate (ina220_data_t *data)
 
Bool ina220_readvalue (ina220_data_t *data, uint8_t reg, uint16_t *read)
 
void ina220_readall (ina220_data_t *data)
 
void ina220_init (void)
 
void vTaskINA220 (void *Parameters)
 

Variables

TaskHandle_t vTaskINA220_Handle
 

Detailed Description

Definitions for INA220 Current/Voltage/Power Sensor.

Author
Henrique Silva henri.nosp@m.que..nosp@m.silva.nosp@m.@lnl.nosp@m.s.br, LNLS

Macro Definition Documentation

◆ INA220_16V_SCALE_RANGE

#define INA220_16V_SCALE_RANGE   0x00

◆ INA220_32V_SCALE_RANGE

#define INA220_32V_SCALE_RANGE   0x01

◆ INA220_CONVERSION_RATE

#define INA220_CONVERSION_RATE   15

◆ INA220_MAX_DELAY

#define INA220_MAX_DELAY   69 /* worst case delay in ms */

◆ INA220_MODE_ADC_OFF

#define INA220_MODE_ADC_OFF   0x4

◆ INA220_MODE_BUS_CONT

#define INA220_MODE_BUS_CONT   0x6

◆ INA220_MODE_BUS_TRIG

#define INA220_MODE_BUS_TRIG   0x2

◆ INA220_MODE_POWER_DOWN

#define INA220_MODE_POWER_DOWN   0x0

◆ INA220_MODE_SHUNT_BUS_CONT

#define INA220_MODE_SHUNT_BUS_CONT   0x7

◆ INA220_MODE_SHUNT_BUS_TRIG

#define INA220_MODE_SHUNT_BUS_TRIG   0x3

◆ INA220_MODE_SHUNT_CONT

#define INA220_MODE_SHUNT_CONT   0x5

◆ INA220_MODE_SHUNT_TRIG

#define INA220_MODE_SHUNT_TRIG   0x1

◆ INA220_PGA_GAIN_160MV

#define INA220_PGA_GAIN_160MV   0x02

◆ INA220_PGA_GAIN_320MV

#define INA220_PGA_GAIN_320MV   0x03

◆ INA220_PGA_GAIN_40MV

#define INA220_PGA_GAIN_40MV   0x00

◆ INA220_PGA_GAIN_80MV

#define INA220_PGA_GAIN_80MV   0x01

◆ INA220_REGISTERS

#define INA220_REGISTERS   6

INA220 Register Count.

◆ INA220_RES_SAMPLES_10BIT

#define INA220_RES_SAMPLES_10BIT   0x1

◆ INA220_RES_SAMPLES_11BIT

#define INA220_RES_SAMPLES_11BIT   0x2

◆ INA220_RES_SAMPLES_128SMP

#define INA220_RES_SAMPLES_128SMP   0xF

◆ INA220_RES_SAMPLES_12BIT

#define INA220_RES_SAMPLES_12BIT   0x3

◆ INA220_RES_SAMPLES_16SMP

#define INA220_RES_SAMPLES_16SMP   0xC

◆ INA220_RES_SAMPLES_2SMP

#define INA220_RES_SAMPLES_2SMP   0x9

◆ INA220_RES_SAMPLES_32SMP

#define INA220_RES_SAMPLES_32SMP   0xD

◆ INA220_RES_SAMPLES_4SMP

#define INA220_RES_SAMPLES_4SMP   0xA

◆ INA220_RES_SAMPLES_64SMP

#define INA220_RES_SAMPLES_64SMP   0xE

◆ INA220_RES_SAMPLES_8SMP

#define INA220_RES_SAMPLES_8SMP   0xB

◆ INA220_RES_SAMPLES_9BIT

#define INA220_RES_SAMPLES_9BIT   0x0

◆ INA220_RSHUNT_DEFAULT

#define INA220_RSHUNT_DEFAULT   10000

◆ INA220_UPDATE_RATE

#define INA220_UPDATE_RATE   100

◆ MAX_INA220_COUNT

#define MAX_INA220_COUNT   12

Function Documentation

◆ ina220_calibrate()

Bool ina220_calibrate ( ina220_data_t * data)

◆ ina220_config()

uint8_t ina220_config ( ina220_data_t * data)

◆ ina220_init()

void ina220_init ( void )

◆ ina220_readall()

void ina220_readall ( ina220_data_t * data)

◆ ina220_readvalue()

Bool ina220_readvalue ( ina220_data_t * data,
uint8_t reg,
uint16_t * read )

◆ vTaskINA220()

void vTaskINA220 ( void * Parameters)

Variable Documentation

◆ vTaskINA220_Handle

TaskHandle_t vTaskINA220_Handle
extern