INA226 Library

Dependents:   HYBRYD2018_IZU_ROCKET Hybrid_IZU2019 SWAN_IZU2019_v1 Hybrid_OB2021_MAIN

Committer:
zebrin1422
Date:
Mon Jul 10 10:50:39 2017 +0000
Revision:
0:ad712ebc38d6
Child:
1:9c367d227582
INA226 Library

Who changed what in which revision?

UserRevisionLine numberNew contents of line
zebrin1422 0:ad712ebc38d6 1 #ifndef INA226
zebrin1422 0:ad712ebc38d6 2 #define INA226
zebrin1422 0:ad712ebc38d6 3
zebrin1422 0:ad712ebc38d6 4 #define SLV_WRITE 0b10000000
zebrin1422 0:ad712ebc38d6 5 #define SLV_READ 0b10000001
zebrin1422 0:ad712ebc38d6 6
zebrin1422 0:ad712ebc38d6 7 #define check_reg 0xFF
zebrin1422 0:ad712ebc38d6 8 #define Ctrl_reg 0x00
zebrin1422 0:ad712ebc38d6 9 #define V_shunt_reg 0x01
zebrin1422 0:ad712ebc38d6 10 #define V_bus_reg 0x02
zebrin1422 0:ad712ebc38d6 11 #define power_reg 0x03
zebrin1422 0:ad712ebc38d6 12 #define current_reg 0x04
zebrin1422 0:ad712ebc38d6 13 #define cal_reg 0x05
zebrin1422 0:ad712ebc38d6 14
zebrin1422 0:ad712ebc38d6 15 //I2C i2c(PB_7, PB_6); // sda, scl
zebrin1422 0:ad712ebc38d6 16 //Serial pc(USBTX, USBRX); //tx, rx
zebrin1422 0:ad712ebc38d6 17
zebrin1422 0:ad712ebc38d6 18 /**
zebrin1422 0:ad712ebc38d6 19 * @bref INA226 Class
zebrin1422 0:ad712ebc38d6 20 * @author Seiya Maemura
zebrin1422 0:ad712ebc38d6 21 */
zebrin1422 0:ad712ebc38d6 22
zebrin1422 0:ad712ebc38d6 23
zebrin1422 0:ad712ebc38d6 24 class myINA226
zebrin1422 0:ad712ebc38d6 25 {
zebrin1422 0:ad712ebc38d6 26 public:
zebrin1422 0:ad712ebc38d6 27
zebrin1422 0:ad712ebc38d6 28
zebrin1422 0:ad712ebc38d6 29 myINA226(I2C &i2cBus);
zebrin1422 0:ad712ebc38d6 30
zebrin1422 0:ad712ebc38d6 31 void set_callibretion(unsigned int val = 0x0AAA);
zebrin1422 0:ad712ebc38d6 32
zebrin1422 0:ad712ebc38d6 33 int Connection_check();
zebrin1422 0:ad712ebc38d6 34
zebrin1422 0:ad712ebc38d6 35 void setup(int i);
zebrin1422 0:ad712ebc38d6 36
zebrin1422 0:ad712ebc38d6 37 void get_Voltage_current(float *V_bus, float *current);
zebrin1422 0:ad712ebc38d6 38
zebrin1422 0:ad712ebc38d6 39 void get_Shunt_voltage(float *V_shunt);
zebrin1422 0:ad712ebc38d6 40
zebrin1422 0:ad712ebc38d6 41 void get_Bus_voltage(float *V_bus);
zebrin1422 0:ad712ebc38d6 42
zebrin1422 0:ad712ebc38d6 43 void get_current(float *current);
zebrin1422 0:ad712ebc38d6 44
zebrin1422 0:ad712ebc38d6 45 void get_power(float *power);
zebrin1422 0:ad712ebc38d6 46
zebrin1422 0:ad712ebc38d6 47
zebrin1422 0:ad712ebc38d6 48 private:
zebrin1422 0:ad712ebc38d6 49
zebrin1422 0:ad712ebc38d6 50 I2C *i2c;
zebrin1422 0:ad712ebc38d6 51 float vlotage,current;
zebrin1422 0:ad712ebc38d6 52 unsigned int val[4];
zebrin1422 0:ad712ebc38d6 53 char *cal,buff[4],reg,check[2];
zebrin1422 0:ad712ebc38d6 54 };
zebrin1422 0:ad712ebc38d6 55
zebrin1422 0:ad712ebc38d6 56 #endif