INA226 Library
Dependents: HYBRYD2018_IZU_ROCKET Hybrid_IZU2019 SWAN_IZU2019_v1 Hybrid_OB2021_MAIN
INA226.h@1:9c367d227582, 2017-07-11 (annotated)
- Committer:
- zebrin1422
- Date:
- Tue Jul 11 05:16:45 2017 +0000
- Revision:
- 1:9c367d227582
- Parent:
- 0:ad712ebc38d6
- Child:
- 2:eccb118370eb
INA226 Library
Who changed what in which revision?
User | Revision | Line number | New 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 | 1:9c367d227582 | 39 | float get_Shunt_voltage(); |
zebrin1422 | 0:ad712ebc38d6 | 40 | |
zebrin1422 | 1:9c367d227582 | 41 | float get_Bus_voltage(); |
zebrin1422 | 0:ad712ebc38d6 | 42 | |
zebrin1422 | 1:9c367d227582 | 43 | float get_current(); |
zebrin1422 | 0:ad712ebc38d6 | 44 | |
zebrin1422 | 1:9c367d227582 | 45 | float get_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 |