IGGE Power board
Dependencies: mbed ADS1015 USBDevice MCP4725
main.cpp@1:dd6f8dc1e54e, 2014-03-26 (annotated)
- Committer:
- jamesdem1123
- Date:
- Wed Mar 26 02:56:20 2014 +0000
- Revision:
- 1:dd6f8dc1e54e
- Parent:
- 0:54d5ccfcb14c
- Child:
- 2:321c8783ea30
Nightly 25 Mar
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
jamesdem1123 | 1:dd6f8dc1e54e | 1 | |
jamesdem1123 | 0:54d5ccfcb14c | 2 | #include "mbed.h" |
jamesdem1123 | 1:dd6f8dc1e54e | 3 | #include "Adafruit_ADS1015.h" |
jamesdem1123 | 1:dd6f8dc1e54e | 4 | #include "USBSerial.h" |
jamesdem1123 | 1:dd6f8dc1e54e | 5 | |
jamesdem1123 | 1:dd6f8dc1e54e | 6 | #define SERIAL_BAUD_RATE 9600 |
jamesdem1123 | 1:dd6f8dc1e54e | 7 | |
jamesdem1123 | 1:dd6f8dc1e54e | 8 | //library function setup |
jamesdem1123 | 1:dd6f8dc1e54e | 9 | I2C i2c(p28, p27); |
jamesdem1123 | 1:dd6f8dc1e54e | 10 | Adafruit_ADS1015 ads(&i2c); |
jamesdem1123 | 1:dd6f8dc1e54e | 11 | USBSerial pc; // USB CDC serial port |
jamesdem1123 | 1:dd6f8dc1e54e | 12 | CAN cantbus(p30, p29); |
jamesdem1123 | 1:dd6f8dc1e54e | 13 | |
jamesdem1123 | 1:dd6f8dc1e54e | 14 | //leds |
jamesdem1123 | 1:dd6f8dc1e54e | 15 | DigitalOut led0(LED1); |
jamesdem1123 | 1:dd6f8dc1e54e | 16 | DigitalOut led1(LED2); |
jamesdem1123 | 1:dd6f8dc1e54e | 17 | DigitalOut led2(LED3); |
jamesdem1123 | 1:dd6f8dc1e54e | 18 | DigitalOut led3(LED4); |
jamesdem1123 | 0:54d5ccfcb14c | 19 | |
jamesdem1123 | 1:dd6f8dc1e54e | 20 | //current readings |
jamesdem1123 | 1:dd6f8dc1e54e | 21 | AnalogIn iBat(p15); //75a |
jamesdem1123 | 1:dd6f8dc1e54e | 22 | AnalogIn iTwelve(p17); //31a |
jamesdem1123 | 1:dd6f8dc1e54e | 23 | AnalogIn iFive(p18);//31a |
jamesdem1123 | 1:dd6f8dc1e54e | 24 | AnalogIn iMot(p16);//75a |
jamesdem1123 | 1:dd6f8dc1e54e | 25 | AnalogIn iCpu(p20);//31a |
jamesdem1123 | 1:dd6f8dc1e54e | 26 | AnalogIn iPeri(p19);//31a |
jamesdem1123 | 1:dd6f8dc1e54e | 27 | |
jamesdem1123 | 1:dd6f8dc1e54e | 28 | //voltage scalers |
jamesdem1123 | 1:dd6f8dc1e54e | 29 | #define batScal 12.2 |
jamesdem1123 | 1:dd6f8dc1e54e | 30 | #define motScal 12.2 |
jamesdem1123 | 1:dd6f8dc1e54e | 31 | #define twelveScal 12.2 |
jamesdem1123 | 1:dd6f8dc1e54e | 32 | #define fiveScal 12.2 |
jamesdem1123 | 1:dd6f8dc1e54e | 33 | |
jamesdem1123 | 1:dd6f8dc1e54e | 34 | //Relays |
jamesdem1123 | 1:dd6f8dc1e54e | 35 | DigitalOut relSens(p21); |
jamesdem1123 | 1:dd6f8dc1e54e | 36 | DigitalOut relUsr(p22); |
jamesdem1123 | 1:dd6f8dc1e54e | 37 | DigitalOut relNet(p23); |
jamesdem1123 | 1:dd6f8dc1e54e | 38 | DigitalOut relCpuPower(p25); |
jamesdem1123 | 1:dd6f8dc1e54e | 39 | DigitalOut relCpuRst(p24); |
jamesdem1123 | 1:dd6f8dc1e54e | 40 | |
jamesdem1123 | 0:54d5ccfcb14c | 41 | |
jamesdem1123 | 1:dd6f8dc1e54e | 42 | //30 minute graph arrays |
jamesdem1123 | 1:dd6f8dc1e54e | 43 | uint16_t iBatArr [180]; |
jamesdem1123 | 1:dd6f8dc1e54e | 44 | uint16_t vBatArr [180]; |
jamesdem1123 | 1:dd6f8dc1e54e | 45 | uint16_t iTwelveArr [180]; |
jamesdem1123 | 1:dd6f8dc1e54e | 46 | uint16_t vTwelveArr [180]; |
jamesdem1123 | 1:dd6f8dc1e54e | 47 | uint16_t iFiveArr [180]; |
jamesdem1123 | 1:dd6f8dc1e54e | 48 | uint16_t vFiveArr [180]; |
jamesdem1123 | 1:dd6f8dc1e54e | 49 | uint16_t iMotArr [180]; |
jamesdem1123 | 1:dd6f8dc1e54e | 50 | uint16_t vMotArr [180]; |
jamesdem1123 | 1:dd6f8dc1e54e | 51 | uint16_t iCpuArr [180]; |
jamesdem1123 | 1:dd6f8dc1e54e | 52 | uint16_t iPeriArr [180]; |
jamesdem1123 | 1:dd6f8dc1e54e | 53 | |
jamesdem1123 | 1:dd6f8dc1e54e | 54 | |
jamesdem1123 | 1:dd6f8dc1e54e | 55 | //volt |
jamesdem1123 | 1:dd6f8dc1e54e | 56 | uint16_t vBat, vTwelve,vFive,vMot ; |
jamesdem1123 | 1:dd6f8dc1e54e | 57 | |
jamesdem1123 | 1:dd6f8dc1e54e | 58 | void setup(void) |
jamesdem1123 | 1:dd6f8dc1e54e | 59 | { |
jamesdem1123 | 1:dd6f8dc1e54e | 60 | //initialize relays |
jamesdem1123 | 1:dd6f8dc1e54e | 61 | relSens= 0; |
jamesdem1123 | 1:dd6f8dc1e54e | 62 | relNet =0; |
jamesdem1123 | 1:dd6f8dc1e54e | 63 | relCpuPower=0; |
jamesdem1123 | 1:dd6f8dc1e54e | 64 | relCpuRst =0; |
jamesdem1123 | 1:dd6f8dc1e54e | 65 | relUsr=0; |
jamesdem1123 | 1:dd6f8dc1e54e | 66 | |
jamesdem1123 | 1:dd6f8dc1e54e | 67 | } |
jamesdem1123 | 1:dd6f8dc1e54e | 68 | |
jamesdem1123 | 1:dd6f8dc1e54e | 69 | |
jamesdem1123 | 1:dd6f8dc1e54e | 70 | int main() |
jamesdem1123 | 1:dd6f8dc1e54e | 71 | { |
jamesdem1123 | 1:dd6f8dc1e54e | 72 | setup(); |
jamesdem1123 | 1:dd6f8dc1e54e | 73 | while (1) { |
jamesdem1123 | 1:dd6f8dc1e54e | 74 | vBat = ads.readADC_SingleEnded(0); // read channel 0 |
jamesdem1123 | 1:dd6f8dc1e54e | 75 | vTwelve = ads.readADC_SingleEnded(1); // read channel 0 |
jamesdem1123 | 1:dd6f8dc1e54e | 76 | vFive = ads.readADC_SingleEnded(2); // read channel 0 |
jamesdem1123 | 1:dd6f8dc1e54e | 77 | vMot = ads.readADC_SingleEnded(3); // read channel 0 |
jamesdem1123 | 1:dd6f8dc1e54e | 78 | |
jamesdem1123 | 1:dd6f8dc1e54e | 79 | pc.printf("reading: %d\r\n", vBat); // print reading |
jamesdem1123 | 1:dd6f8dc1e54e | 80 | pc.printf("reading: %d\r\n", vTwelve); // print reading |
jamesdem1123 | 1:dd6f8dc1e54e | 81 | pc.printf("reading: %d\r\n", vFive); // print reading |
jamesdem1123 | 1:dd6f8dc1e54e | 82 | pc.printf("reading: %d\r\n", vMot); // print reading |
jamesdem1123 | 1:dd6f8dc1e54e | 83 | |
jamesdem1123 | 1:dd6f8dc1e54e | 84 | wait(2); // loop 2 sek |
jamesdem1123 | 1:dd6f8dc1e54e | 85 | led0 = 1; |
jamesdem1123 | 0:54d5ccfcb14c | 86 | wait(0.2); |
jamesdem1123 | 1:dd6f8dc1e54e | 87 | led0 = 0; |
jamesdem1123 | 0:54d5ccfcb14c | 88 | wait(0.2); |
jamesdem1123 | 0:54d5ccfcb14c | 89 | } |
jamesdem1123 | 0:54d5ccfcb14c | 90 | } |
jamesdem1123 | 1:dd6f8dc1e54e | 91 | |
jamesdem1123 | 1:dd6f8dc1e54e | 92 | |
jamesdem1123 | 1:dd6f8dc1e54e | 93 | |
jamesdem1123 | 1:dd6f8dc1e54e | 94 | |
jamesdem1123 | 1:dd6f8dc1e54e | 95 | |
jamesdem1123 | 1:dd6f8dc1e54e | 96 | |
jamesdem1123 | 1:dd6f8dc1e54e | 97 | |
jamesdem1123 | 1:dd6f8dc1e54e | 98 | |
jamesdem1123 | 1:dd6f8dc1e54e | 99 | |
jamesdem1123 | 1:dd6f8dc1e54e | 100 | |
jamesdem1123 | 1:dd6f8dc1e54e | 101 | |
jamesdem1123 | 1:dd6f8dc1e54e | 102 | |
jamesdem1123 | 1:dd6f8dc1e54e | 103 |