IGGE Power board
Dependencies: mbed ADS1015 USBDevice MCP4725
Diff: main.cpp
- Revision:
- 2:321c8783ea30
- Parent:
- 1:dd6f8dc1e54e
- Child:
- 3:a01ea06ca9ab
--- a/main.cpp Wed Mar 26 02:56:20 2014 +0000 +++ b/main.cpp Wed Mar 26 03:36:02 2014 +0000 @@ -10,6 +10,7 @@ Adafruit_ADS1015 ads(&i2c); USBSerial pc; // USB CDC serial port CAN cantbus(p30, p29); +Ticker graph; //leds DigitalOut led0(LED1); @@ -40,23 +41,86 @@ //30 minute graph arrays -uint16_t iBatArr [180]; -uint16_t vBatArr [180]; -uint16_t iTwelveArr [180]; -uint16_t vTwelveArr [180]; -uint16_t iFiveArr [180]; -uint16_t vFiveArr [180]; -uint16_t iMotArr [180]; -uint16_t vMotArr [180]; -uint16_t iCpuArr [180]; -uint16_t iPeriArr [180]; +uint16_t iBatArr [180]; +uint16_t vBatArr [180]; +uint16_t iTwelveArr [180]; +uint16_t vTwelveArr [180]; +uint16_t iFiveArr [180]; +uint16_t vFiveArr [180]; +uint16_t iMotArr [180]; +uint16_t vMotArr [180]; +uint16_t iCpuArr [180]; +uint16_t iPeriArr [180]; //volt uint16_t vBat, vTwelve,vFive,vMot ; + +void updateArray (void) +{ + vBat = ads.readADC_SingleEnded(0); // read channel 0 + vTwelve = ads.readADC_SingleEnded(1); // read channel 0 + vFive = ads.readADC_SingleEnded(2); // read channel 0 + vMot = ads.readADC_SingleEnded(3); // read channel 0 + + + for(int i =179; i >0; i--) { + iBatArr[i] =iBatArr[i-1]; + } + iBatArr[0]= iBat.read_u16(); + + for(int i =179; i >0; i--) { + vBatArr[i] =vBatArr[i-1]; + } + vBatArr[0]= vBat; + + for(int i =179; i >0; i--) { + iTwelveArr[i] =iTwelveArr[i-1]; + } + iTwelveArr[0]= iTwelve.read_u16(); + + for(int i =179; i >0; i--) { + vTwelveArr[i] =vTwelveArr[i-1]; + } + vTwelveArr[0]= vTwelve; + + for(int i =179; i >0; i--) { + iFiveArr[i] =iFiveArr[i-1]; + } + iFiveArr[0]= iFive.read_u16(); + + for(int i =179; i >0; i--) { + vFiveArr[i] =vFiveArr[i-1]; + } + vFiveArr[0]= vFive; + + for(int i =179; i >0; i--) { + iMotArr[i] =iMotArr[i-1]; + } + iMotArr[0]= iMot.read_u16(); + + for(int i =179; i >0; i--) { + vMotArr[i] =vMotArr[i-1]; + } + vMotArr[0]= vMot; + + for(int i =179; i >0; i--) { + iCpuArr[i] =iCpuArr[i-1]; + } + iCpuArr[0]= iCpu.read_u16(); + + for(int i =179; i >0; i--) { + iPeriArr[i] =iPeriArr[i-1]; + } + iPeriArr[0]= iPeri.read_u16(); + +} + void setup(void) { + graph.attach(&updateArray, 10); //update array every 10 seconds + //initialize relays relSens= 0; relNet =0; @@ -67,14 +131,12 @@ } + int main() { setup(); while (1) { - vBat = ads.readADC_SingleEnded(0); // read channel 0 - vTwelve = ads.readADC_SingleEnded(1); // read channel 0 - vFive = ads.readADC_SingleEnded(2); // read channel 0 - vMot = ads.readADC_SingleEnded(3); // read channel 0 + pc.printf("reading: %d\r\n", vBat); // print reading pc.printf("reading: %d\r\n", vTwelve); // print reading