IGGE Power board

Dependencies:   mbed ADS1015 USBDevice MCP4725

Revision:
1:dd6f8dc1e54e
Parent:
0:54d5ccfcb14c
Child:
2:321c8783ea30
--- 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);
     }
 }
+
+
+
+
+
+
+
+
+
+
+
+
+