IGGE Power board
Dependencies: mbed ADS1015 USBDevice MCP4725
Diff: main.cpp
- Revision:
- 1:dd6f8dc1e54e
- Parent:
- 0:54d5ccfcb14c
- Child:
- 2:321c8783ea30
diff -r 54d5ccfcb14c -r dd6f8dc1e54e main.cpp --- a/main.cpp Mon Mar 24 14:10:04 2014 +0000 +++ b/main.cpp Wed Mar 26 02:56:20 2014 +0000 @@ -1,12 +1,103 @@ + #include "mbed.h" +#include "Adafruit_ADS1015.h" +#include "USBSerial.h" + +#define SERIAL_BAUD_RATE 9600 + +//library function setup +I2C i2c(p28, p27); +Adafruit_ADS1015 ads(&i2c); +USBSerial pc; // USB CDC serial port +CAN cantbus(p30, p29); + +//leds +DigitalOut led0(LED1); +DigitalOut led1(LED2); +DigitalOut led2(LED3); +DigitalOut led3(LED4); -DigitalOut myled(LED1); +//current readings +AnalogIn iBat(p15); //75a +AnalogIn iTwelve(p17); //31a +AnalogIn iFive(p18);//31a +AnalogIn iMot(p16);//75a +AnalogIn iCpu(p20);//31a +AnalogIn iPeri(p19);//31a + +//voltage scalers +#define batScal 12.2 +#define motScal 12.2 +#define twelveScal 12.2 +#define fiveScal 12.2 + +//Relays +DigitalOut relSens(p21); +DigitalOut relUsr(p22); +DigitalOut relNet(p23); +DigitalOut relCpuPower(p25); +DigitalOut relCpuRst(p24); + -int main() { - while(1) { - myled = 1; +//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]; + + +//volt +uint16_t vBat, vTwelve,vFive,vMot ; + +void setup(void) +{ + //initialize relays + relSens= 0; + relNet =0; + relCpuPower=0; + relCpuRst =0; + relUsr=0; + +} + + +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 + pc.printf("reading: %d\r\n", vFive); // print reading + pc.printf("reading: %d\r\n", vMot); // print reading + + wait(2); // loop 2 sek + led0 = 1; wait(0.2); - myled = 0; + led0 = 0; wait(0.2); } } + + + + + + + + + + + + +