IGGE Power board

Dependencies:   mbed ADS1015 USBDevice MCP4725

main.cpp

Committer:
jamesdem1123
Date:
2014-03-26
Revision:
1:dd6f8dc1e54e
Parent:
0:54d5ccfcb14c
Child:
2:321c8783ea30

File content as of revision 1:dd6f8dc1e54e:


#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);

//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);


//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);
        led0 = 0;
        wait(0.2);
    }
}