Wayne Taylor / Mbed 2 deprecated INA260_Test

Dependencies:   INA260 mbed

Committer:
Waynan
Date:
Sun Dec 10 15:10:36 2017 +0000
Revision:
0:4b5308027f1e
INA260 test app

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Waynan 0:4b5308027f1e 1 /* INA260 test app*/
Waynan 0:4b5308027f1e 2
Waynan 0:4b5308027f1e 3 #include "mbed.h"
Waynan 0:4b5308027f1e 4 #include "INA260.hpp"
Waynan 0:4b5308027f1e 5
Waynan 0:4b5308027f1e 6 // Host PC Communication channels
Waynan 0:4b5308027f1e 7 Serial pc(USBTX, USBRX); // tx, rx
Waynan 0:4b5308027f1e 8 //i2c setup
Waynan 0:4b5308027f1e 9 I2C i2c(PB_9,PB_8);
Waynan 0:4b5308027f1e 10 INA260 VCmonitor(i2c);
Waynan 0:4b5308027f1e 11 DigitalIn ALT(PA_8); //Alert pin
Waynan 0:4b5308027f1e 12 DigitalIn button(PC_13); //button
Waynan 0:4b5308027f1e 13 int main() {
Waynan 0:4b5308027f1e 14
Waynan 0:4b5308027f1e 15 double V,C,P;
Waynan 0:4b5308027f1e 16 int count = 1;
Waynan 0:4b5308027f1e 17 // Sets 4 samples average and sampling time for voltage and current to 8.244ms
Waynan 0:4b5308027f1e 18 VCmonitor.setConfig(0x0600 | 0x01C0 | 0x0038 | 0x0007); //INA260_CONFIG_AVGRANGE_64|INA260_CONFIG_BVOLTAGETIME_8244US|INA260_CONFIG_SCURRENTTIME_8244US|INA260_CONFIG_MODE_SANDBVOLT_CONTINUOUS
Waynan 0:4b5308027f1e 19 pc.printf("INA260 TEST!\n");
Waynan 0:4b5308027f1e 20 pc.printf(""__DATE__" , "__TIME__"\n");
Waynan 0:4b5308027f1e 21 pc.printf("%d Config register\n",0x0600 | 0x01C0 | 0x0038 | 0x0007); //prints the COnfig reg value to PC COM port
Waynan 0:4b5308027f1e 22 VCmonitor.setAlert(0x8001); //set current value as alert, latch alert pin
Waynan 0:4b5308027f1e 23 VCmonitor.setLim(0x8); //set limit to 10mA (10/1.25)
Waynan 0:4b5308027f1e 24
Waynan 0:4b5308027f1e 25 wait_ms(3000);
Waynan 0:4b5308027f1e 26 while(1)
Waynan 0:4b5308027f1e 27 {
Waynan 0:4b5308027f1e 28 //get ina260 settings
Waynan 0:4b5308027f1e 29 if((VCmonitor.getVoltage(&V) == 0) && (VCmonitor.getCurrent(&C) == 0) && (VCmonitor.getPower(&P) == 0))
Waynan 0:4b5308027f1e 30 {
Waynan 0:4b5308027f1e 31 pc.printf("%d,V,%f,C,%f,P,%f\n",count,V,C,P);
Waynan 0:4b5308027f1e 32 }
Waynan 0:4b5308027f1e 33 count++;
Waynan 0:4b5308027f1e 34 if(ALT==0)
Waynan 0:4b5308027f1e 35 {
Waynan 0:4b5308027f1e 36 pc.printf("Overcurrent!!!!");
Waynan 0:4b5308027f1e 37 }
Waynan 0:4b5308027f1e 38 if (button == 0)
Waynan 0:4b5308027f1e 39 {
Waynan 0:4b5308027f1e 40 VCmonitor.readAlert(); //read Alert register to clear latched alert
Waynan 0:4b5308027f1e 41 }
Waynan 0:4b5308027f1e 42 wait_ms(1000);
Waynan 0:4b5308027f1e 43 }
Waynan 0:4b5308027f1e 44 }