Adafruit INA237 and INA238 Arduino Library
Adafruit_INA237.h
Go to the documentation of this file.
1 
20 #ifndef _ADAFRUIT_INA237_H
21 #define _ADAFRUIT_INA237_H
22 
23 #include <Adafruit_INA2xx.h>
24 
25 #define INA237_I2CADDR_DEFAULT 0x40
26 #define INA237_DEVICE_ID 0x238
27 #define INA238_DEVICE_ID 0x238
28 
29 
34 typedef enum _ina237_alert_type {
44 
49 class Adafruit_INA237 : public Adafruit_INA2xx {
50  public:
52  bool begin(uint8_t i2c_addr = INA237_I2CADDR_DEFAULT,
53  TwoWire* theWire = &Wire, bool skipReset = false);
54 
55  // INA237/INA238 specific functions
57  void setAlertType(INA237_AlertType alert);
58  float readDieTemp(void) override;
59  float readBusVoltage(void) override;
60  float readShuntVoltage(void) override;
61  float readCurrent(void) override;
62  float readPower(void) override;
63  void setShunt(float shunt_res = 0.1, float max_current = 3.2) override;
64 
65  protected:
66  void _updateShuntCalRegister(void) override;
67 };
68 
69 #endif
#define INA237_I2CADDR_DEFAULT
INA237/INA238 default i2c address.
Definition: Adafruit_INA237.h:25
Adafruit_INA237()
Instantiates a new INA237 class.
Definition: Adafruit_INA237.cpp:44
Trigger on conversion ready.
Definition: Adafruit_INA237.h:35
float readCurrent(void) override
Reads and scales the current value of the Current register using INA237-specific handling.
Definition: Adafruit_INA237.cpp:177
enum _ina237_alert_type INA237_AlertType
Alert trigger options specific to INA237/INA238.
Trigger on bus voltage under limit.
Definition: Adafruit_INA237.h:38
void setAlertType(INA237_AlertType alert)
Sets a new alert type.
Definition: Adafruit_INA237.cpp:114
Trigger on shunt voltage over limit.
Definition: Adafruit_INA237.h:41
Trigger on bus voltage over limit.
Definition: Adafruit_INA237.h:39
_ina237_alert_type
Alert trigger options specific to INA237/INA238.
Definition: Adafruit_INA237.h:34
INA237_AlertType getAlertType(void)
Returns the current alert type.
Definition: Adafruit_INA237.cpp:100
float readPower(void) override
Reads and scales the current value of the Power register using INA237-specific handling.
Definition: Adafruit_INA237.cpp:191
void setShunt(float shunt_res=0.1, float max_current=3.2) override
Sets the shunt calibration by resistor for INA237.
Definition: Adafruit_INA237.cpp:205
Do not trigger alert pin (Default)
Definition: Adafruit_INA237.h:42
float readShuntVoltage(void) override
Reads and scales the current value of the Shunt Voltage register using INA237-specific conversion fac...
Definition: Adafruit_INA237.cpp:158
bool begin(uint8_t i2c_addr=INA237_I2CADDR_DEFAULT, TwoWire *theWire=&Wire, bool skipReset=false)
Sets up the HW.
Definition: Adafruit_INA237.cpp:57
float readBusVoltage(void) override
Reads and scales the current value of the Bus Voltage register using INA237-specific conversion facto...
Definition: Adafruit_INA237.cpp:143
Trigger on overtemperature.
Definition: Adafruit_INA237.h:36
void _updateShuntCalRegister(void) override
Updates the shunt calibration value to the INA237 register. The INA237 uses a different calculation t...
Definition: Adafruit_INA237.cpp:77
Trigger on power over limit.
Definition: Adafruit_INA237.h:37
Trigger on shunt voltage under limit.
Definition: Adafruit_INA237.h:40
float readDieTemp(void) override
Reads the die temperature with the INA237-specific conversion factor.
Definition: Adafruit_INA237.cpp:127
Class that stores state and functions for interacting with INA237/INA238 Current and Power Sensors...
Definition: Adafruit_INA237.h:49