IGGE Power board
Dependencies: mbed ADS1015 USBDevice MCP4725
main.cpp@7:cdd74b6e2595, 2014-05-08 (annotated)
- Committer:
- jamesdem1123
- Date:
- Thu May 08 01:50:11 2014 +0000
- Revision:
- 7:cdd74b6e2595
- Parent:
- 6:7691e36d2337
fix zac
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 | 4:d29a7b77b1c6 | 4 | //#include "USBSerial.h" |
jamesdem1123 | 1:dd6f8dc1e54e | 5 | |
jamesdem1123 | 4:d29a7b77b1c6 | 6 | #include <iostream> |
jamesdem1123 | 4:d29a7b77b1c6 | 7 | #include <map> |
jamesdem1123 | 4:d29a7b77b1c6 | 8 | #include <string> |
jamesdem1123 | 4:d29a7b77b1c6 | 9 | #include <stdio.h> |
jamesdem1123 | 4:d29a7b77b1c6 | 10 | |
jamesdem1123 | 6:7691e36d2337 | 11 | #define SERIALOUT |
jamesdem1123 | 6:7691e36d2337 | 12 | |
jamesdem1123 | 4:d29a7b77b1c6 | 13 | //#define SERIAL_BAUD_RATE 9600 |
jamesdem1123 | 1:dd6f8dc1e54e | 14 | |
jamesdem1123 | 1:dd6f8dc1e54e | 15 | //library function setup |
jamesdem1123 | 1:dd6f8dc1e54e | 16 | I2C i2c(p28, p27); |
jamesdem1123 | 1:dd6f8dc1e54e | 17 | Adafruit_ADS1015 ads(&i2c); |
jamesdem1123 | 4:d29a7b77b1c6 | 18 | //USBSerial pc; // USB CDC serial port |
jamesdem1123 | 2:321c8783ea30 | 19 | Ticker graph; |
jamesdem1123 | 1:dd6f8dc1e54e | 20 | |
jamesdem1123 | 4:d29a7b77b1c6 | 21 | |
jamesdem1123 | 4:d29a7b77b1c6 | 22 | //can stuff |
jamesdem1123 | 4:d29a7b77b1c6 | 23 | Ticker ticker; |
jamesdem1123 | 6:7691e36d2337 | 24 | //CAN can1(p9, p10); |
jamesdem1123 | 4:d29a7b77b1c6 | 25 | CAN can2(p30, p29); |
jamesdem1123 | 4:d29a7b77b1c6 | 26 | char counter[8] = {1,1,1,1,1,1,1,1}; |
jamesdem1123 | 4:d29a7b77b1c6 | 27 | int test=0x0; |
jamesdem1123 | 4:d29a7b77b1c6 | 28 | char counter2=0; |
jamesdem1123 | 4:d29a7b77b1c6 | 29 | |
jamesdem1123 | 4:d29a7b77b1c6 | 30 | |
jamesdem1123 | 6:7691e36d2337 | 31 | bool fromUsr[5] = {false,false,false,false,false}; //cpupwr, cpu rst, sensor, net, usrint |
jamesdem1123 | 6:7691e36d2337 | 32 | |
jamesdem1123 | 6:7691e36d2337 | 33 | |
jamesdem1123 | 4:d29a7b77b1c6 | 34 | |
jamesdem1123 | 1:dd6f8dc1e54e | 35 | //leds |
jamesdem1123 | 1:dd6f8dc1e54e | 36 | DigitalOut led0(LED1); |
jamesdem1123 | 1:dd6f8dc1e54e | 37 | DigitalOut led1(LED2); |
jamesdem1123 | 1:dd6f8dc1e54e | 38 | DigitalOut led2(LED3); |
jamesdem1123 | 1:dd6f8dc1e54e | 39 | DigitalOut led3(LED4); |
jamesdem1123 | 0:54d5ccfcb14c | 40 | |
jamesdem1123 | 1:dd6f8dc1e54e | 41 | //current readings |
jamesdem1123 | 4:d29a7b77b1c6 | 42 | AnalogIn iBat(p15); //75a PROTO |
jamesdem1123 | 1:dd6f8dc1e54e | 43 | AnalogIn iTwelve(p17); //31a |
jamesdem1123 | 4:d29a7b77b1c6 | 44 | AnalogIn iFive(p18);//31a PROTO |
jamesdem1123 | 1:dd6f8dc1e54e | 45 | AnalogIn iMot(p16);//75a |
jamesdem1123 | 1:dd6f8dc1e54e | 46 | AnalogIn iCpu(p20);//31a |
jamesdem1123 | 1:dd6f8dc1e54e | 47 | AnalogIn iPeri(p19);//31a |
jamesdem1123 | 1:dd6f8dc1e54e | 48 | |
jamesdem1123 | 1:dd6f8dc1e54e | 49 | //voltage scalers |
jamesdem1123 | 1:dd6f8dc1e54e | 50 | #define batScal 12.2 |
jamesdem1123 | 1:dd6f8dc1e54e | 51 | #define motScal 12.2 |
jamesdem1123 | 1:dd6f8dc1e54e | 52 | #define twelveScal 12.2 |
jamesdem1123 | 1:dd6f8dc1e54e | 53 | #define fiveScal 12.2 |
jamesdem1123 | 1:dd6f8dc1e54e | 54 | |
jamesdem1123 | 1:dd6f8dc1e54e | 55 | //Relays |
jamesdem1123 | 5:6b90ed7f3eb1 | 56 | DigitalOut relSens(p21); // PROTO |
jamesdem1123 | 6:7691e36d2337 | 57 | DigitalOut relUsr(p24); |
jamesdem1123 | 1:dd6f8dc1e54e | 58 | DigitalOut relNet(p23); |
jamesdem1123 | 6:7691e36d2337 | 59 | DigitalOut relCpuRst(p22); |
jamesdem1123 | 1:dd6f8dc1e54e | 60 | DigitalOut relCpuPower(p25); |
jamesdem1123 | 1:dd6f8dc1e54e | 61 | |
jamesdem1123 | 0:54d5ccfcb14c | 62 | |
jamesdem1123 | 1:dd6f8dc1e54e | 63 | //30 minute graph arrays |
jamesdem1123 | 4:d29a7b77b1c6 | 64 | uint16_t powerArr [10]; //{iBat,vBat,iTwelve, vTwelve, iFive, vFive, iMot, vMot, iCpu, iPeri} |
jamesdem1123 | 5:6b90ed7f3eb1 | 65 | uint16_t ibat,vbat,itwelve, vtwelve, ifive, vfive, imot, vmot, icpu, iperi= 0; |
jamesdem1123 | 4:d29a7b77b1c6 | 66 | |
jamesdem1123 | 1:dd6f8dc1e54e | 67 | |
jamesdem1123 | 1:dd6f8dc1e54e | 68 | |
jamesdem1123 | 1:dd6f8dc1e54e | 69 | //volt |
jamesdem1123 | 1:dd6f8dc1e54e | 70 | uint16_t vBat, vTwelve,vFive,vMot ; |
jamesdem1123 | 1:dd6f8dc1e54e | 71 | |
jamesdem1123 | 2:321c8783ea30 | 72 | |
jamesdem1123 | 4:d29a7b77b1c6 | 73 | |
jamesdem1123 | 4:d29a7b77b1c6 | 74 | void sending_values(long int int1,long int int2,long int int3,long int int4, int ID ) |
jamesdem1123 | 4:d29a7b77b1c6 | 75 | { |
jamesdem1123 | 4:d29a7b77b1c6 | 76 | //val(); |
jamesdem1123 | 5:6b90ed7f3eb1 | 77 | led1=1; |
jamesdem1123 | 4:d29a7b77b1c6 | 78 | counter[0]=int1 >> 8; |
jamesdem1123 | 4:d29a7b77b1c6 | 79 | counter[1]=int1 & 0xFF; |
jamesdem1123 | 4:d29a7b77b1c6 | 80 | counter[2]=int2 >> 8; |
jamesdem1123 | 4:d29a7b77b1c6 | 81 | counter[3]=int2 & 0xFF; |
jamesdem1123 | 4:d29a7b77b1c6 | 82 | counter[4]=int3 >> 8; |
jamesdem1123 | 4:d29a7b77b1c6 | 83 | counter[5]=int3 & 0xFF; |
jamesdem1123 | 4:d29a7b77b1c6 | 84 | counter[6]=int4 >> 8; |
jamesdem1123 | 4:d29a7b77b1c6 | 85 | counter[7]=int4 & 0xFF; |
jamesdem1123 | 6:7691e36d2337 | 86 | led2=1; |
jamesdem1123 | 6:7691e36d2337 | 87 | if(can2.write(CANMessage(ID, counter, 8))) { |
jamesdem1123 | 5:6b90ed7f3eb1 | 88 | |
jamesdem1123 | 6:7691e36d2337 | 89 | // printf("Message sent: %x%x\r\n", counter[1],counter[0]); |
jamesdem1123 | 7:cdd74b6e2595 | 90 | // printf("Should be: %d, %d, %d, %d\r\n", int1,int2,int3,int4);"); |
jamesdem1123 | 7:cdd74b6e2595 | 91 | led1=0; |
jamesdem1123 | 5:6b90ed7f3eb1 | 92 | } |
jamesdem1123 | 7:cdd74b6e2595 | 93 | else |
jamesdem1123 | 7:cdd74b6e2595 | 94 | printf("CAN ERROR"); |
jamesdem1123 | 7:cdd74b6e2595 | 95 | |
jamesdem1123 | 4:d29a7b77b1c6 | 96 | } |
jamesdem1123 | 4:d29a7b77b1c6 | 97 | |
jamesdem1123 | 4:d29a7b77b1c6 | 98 | |
jamesdem1123 | 5:6b90ed7f3eb1 | 99 | |
jamesdem1123 | 4:d29a7b77b1c6 | 100 | |
jamesdem1123 | 4:d29a7b77b1c6 | 101 | |
jamesdem1123 | 4:d29a7b77b1c6 | 102 | |
jamesdem1123 | 6:7691e36d2337 | 103 | void Can_main(long int val1,long int val2,long int val3,long int val4, int the_ID) |
jamesdem1123 | 5:6b90ed7f3eb1 | 104 | { |
jamesdem1123 | 4:d29a7b77b1c6 | 105 | |
jamesdem1123 | 4:d29a7b77b1c6 | 106 | std::map <int,string> CanIDMap; |
jamesdem1123 | 4:d29a7b77b1c6 | 107 | |
jamesdem1123 | 6:7691e36d2337 | 108 | CanIDMap[0]=" "; |
jamesdem1123 | 6:7691e36d2337 | 109 | CanIDMap[1]="Message id 1: Batt Cur, Batt Volt, Twelve Cur, Twelve Volt"; |
jamesdem1123 | 6:7691e36d2337 | 110 | CanIDMap[2]="Message id 2: Five Cur, Five Volt, Mot Cur, Mot Volt,"; |
jamesdem1123 | 6:7691e36d2337 | 111 | CanIDMap[3]="Message id 3: Cpu Cur, Perifferal Cur, null, null...."; |
jamesdem1123 | 6:7691e36d2337 | 112 | CanIDMap[4]="Message id 4: Network switch, usrint switch, sensor on switch, null"; |
jamesdem1123 | 6:7691e36d2337 | 113 | CanIDMap[5]="Message id 5: cpupwr switch, cpu rst switch,null,null."; |
jamesdem1123 | 6:7691e36d2337 | 114 | CanIDMap[6]=" "; |
jamesdem1123 | 6:7691e36d2337 | 115 | CanIDMap[7]=" "; |
jamesdem1123 | 6:7691e36d2337 | 116 | CanIDMap[8]=" "; |
jamesdem1123 | 6:7691e36d2337 | 117 | CanIDMap[9]=" "; |
jamesdem1123 | 6:7691e36d2337 | 118 | CanIDMap[10]=" "; |
jamesdem1123 | 6:7691e36d2337 | 119 | CanIDMap[11]=" "; |
jamesdem1123 | 6:7691e36d2337 | 120 | CanIDMap[12]="Zac is the Worst"; |
jamesdem1123 | 6:7691e36d2337 | 121 | CanIDMap[13]="Auto"; |
jamesdem1123 | 6:7691e36d2337 | 122 | CanIDMap[14]="Manual"; |
jamesdem1123 | 6:7691e36d2337 | 123 | |
jamesdem1123 | 6:7691e36d2337 | 124 | |
jamesdem1123 | 4:d29a7b77b1c6 | 125 | |
jamesdem1123 | 5:6b90ed7f3eb1 | 126 | |
jamesdem1123 | 5:6b90ed7f3eb1 | 127 | |
jamesdem1123 | 4:d29a7b77b1c6 | 128 | //ticker.attach(&sending_values,1); |
jamesdem1123 | 4:d29a7b77b1c6 | 129 | CANMessage msg; |
jamesdem1123 | 4:d29a7b77b1c6 | 130 | int fixer1=0; |
jamesdem1123 | 4:d29a7b77b1c6 | 131 | int fixer2=0; |
jamesdem1123 | 4:d29a7b77b1c6 | 132 | int fixer3=0; |
jamesdem1123 | 4:d29a7b77b1c6 | 133 | int fixer4=0; |
jamesdem1123 | 5:6b90ed7f3eb1 | 134 | |
jamesdem1123 | 6:7691e36d2337 | 135 | |
jamesdem1123 | 5:6b90ed7f3eb1 | 136 | if(can2.read(msg)) { |
jamesdem1123 | 5:6b90ed7f3eb1 | 137 | bool tester= CanIDMap.find(msg.id) != CanIDMap.end(); |
jamesdem1123 | 5:6b90ed7f3eb1 | 138 | if (tester) { |
jamesdem1123 | 6:7691e36d2337 | 139 | //printf("Message received: %x %x \r\n", msg.data[0], msg.data[1]); |
jamesdem1123 | 5:6b90ed7f3eb1 | 140 | |
jamesdem1123 | 4:d29a7b77b1c6 | 141 | //printf("ID of message: %s \r\n", CanIDMap[msg.id]); |
jamesdem1123 | 5:6b90ed7f3eb1 | 142 | |
jamesdem1123 | 4:d29a7b77b1c6 | 143 | std::string str=CanIDMap[msg.id]; |
jamesdem1123 | 4:d29a7b77b1c6 | 144 | unsigned pos = str.find("_"); // position of "_" in str |
jamesdem1123 | 4:d29a7b77b1c6 | 145 | std::string str3 = str.substr (pos+1); // get from past"_" to the end |
jamesdem1123 | 5:6b90ed7f3eb1 | 146 | // printf("Dealing with: %s \r\n",str3); |
jamesdem1123 | 4:d29a7b77b1c6 | 147 | fixer1=((msg.data[0]<<8) | (msg.data[1])); |
jamesdem1123 | 4:d29a7b77b1c6 | 148 | fixer2=((msg.data[2]<<8) | (msg.data[3])); |
jamesdem1123 | 4:d29a7b77b1c6 | 149 | fixer3=((msg.data[4]<<8) | (msg.data[5])); |
jamesdem1123 | 4:d29a7b77b1c6 | 150 | fixer4=((msg.data[6]<<8) | (msg.data[7])); |
jamesdem1123 | 6:7691e36d2337 | 151 | if(msg.id==4) { // "Message id 4: Network switch, usrint switch, sensor on switch, null"; |
jamesdem1123 | 6:7691e36d2337 | 152 | fromUsr[3]=fixer1; //fromUsr=cpupwr, cpu rst, sensor, net, usrint |
jamesdem1123 | 6:7691e36d2337 | 153 | fromUsr[4]= fixer2; |
jamesdem1123 | 6:7691e36d2337 | 154 | fromUsr[2]=fixer3; |
jamesdem1123 | 6:7691e36d2337 | 155 | } |
jamesdem1123 | 6:7691e36d2337 | 156 | |
jamesdem1123 | 6:7691e36d2337 | 157 | |
jamesdem1123 | 6:7691e36d2337 | 158 | else if(msg.id==5) { // "Message id 5: cpupwr switch, cpu rst switch,"; |
jamesdem1123 | 6:7691e36d2337 | 159 | fromUsr[0]=fixer1; //fromUsr=cpupwr, cpu rst, sensor, net, usrint |
jamesdem1123 | 6:7691e36d2337 | 160 | fromUsr[1]= fixer2; |
jamesdem1123 | 6:7691e36d2337 | 161 | |
jamesdem1123 | 6:7691e36d2337 | 162 | |
jamesdem1123 | 6:7691e36d2337 | 163 | } |
jamesdem1123 | 6:7691e36d2337 | 164 | |
jamesdem1123 | 6:7691e36d2337 | 165 | else{ |
jamesdem1123 | 6:7691e36d2337 | 166 | led3=!led3; |
jamesdem1123 | 6:7691e36d2337 | 167 | } |
jamesdem1123 | 4:d29a7b77b1c6 | 168 | led2 = !led2; |
jamesdem1123 | 5:6b90ed7f3eb1 | 169 | |
jamesdem1123 | 6:7691e36d2337 | 170 | // printf("Resulting Answer back is: %d, %d, %d, %d\r\n\r\n\r\n",fixer1,fixer2,fixer3,fixer4 ); |
jamesdem1123 | 5:6b90ed7f3eb1 | 171 | |
jamesdem1123 | 4:d29a7b77b1c6 | 172 | } |
jamesdem1123 | 4:d29a7b77b1c6 | 173 | |
jamesdem1123 | 5:6b90ed7f3eb1 | 174 | else { |
jamesdem1123 | 5:6b90ed7f3eb1 | 175 | |
jamesdem1123 | 6:7691e36d2337 | 176 | // printf("Can Message, not related to this controller\r\n\r\n"); |
jamesdem1123 | 5:6b90ed7f3eb1 | 177 | |
jamesdem1123 | 5:6b90ed7f3eb1 | 178 | } |
jamesdem1123 | 5:6b90ed7f3eb1 | 179 | |
jamesdem1123 | 5:6b90ed7f3eb1 | 180 | //wait(0.2); |
jamesdem1123 | 4:d29a7b77b1c6 | 181 | } |
jamesdem1123 | 4:d29a7b77b1c6 | 182 | |
jamesdem1123 | 5:6b90ed7f3eb1 | 183 | |
jamesdem1123 | 5:6b90ed7f3eb1 | 184 | |
jamesdem1123 | 4:d29a7b77b1c6 | 185 | |
jamesdem1123 | 4:d29a7b77b1c6 | 186 | |
jamesdem1123 | 4:d29a7b77b1c6 | 187 | } |
jamesdem1123 | 4:d29a7b77b1c6 | 188 | |
jamesdem1123 | 4:d29a7b77b1c6 | 189 | |
jamesdem1123 | 4:d29a7b77b1c6 | 190 | |
jamesdem1123 | 4:d29a7b77b1c6 | 191 | |
jamesdem1123 | 5:6b90ed7f3eb1 | 192 | void sendArray (void) |
jamesdem1123 | 2:321c8783ea30 | 193 | { |
jamesdem1123 | 6:7691e36d2337 | 194 | #ifdef SERIALOUT |
jamesdem1123 | 5:6b90ed7f3eb1 | 195 | printf("___________________________\r\n"); |
jamesdem1123 | 5:6b90ed7f3eb1 | 196 | printf("Sending messages....\r\n"); |
jamesdem1123 | 5:6b90ed7f3eb1 | 197 | printf("Message id 1: Batt Cur = %d, Batt Volt = %d, Twelve Cur = %d, Twelve Volt = %d....",powerArr[0],powerArr[1],powerArr[2],powerArr[3]); |
jamesdem1123 | 5:6b90ed7f3eb1 | 198 | sending_values(powerArr[0],powerArr[1],powerArr[2],powerArr[3],1); |
jamesdem1123 | 5:6b90ed7f3eb1 | 199 | printf("....sent\r\n"); |
jamesdem1123 | 5:6b90ed7f3eb1 | 200 | printf("Message id 2: Five Cur = %d, Five Volt = %d, Mot Cur = %d, Mot Volt = %d....",powerArr[4],powerArr[5],powerArr[6],powerArr[7]); |
jamesdem1123 | 5:6b90ed7f3eb1 | 201 | sending_values(powerArr[4],powerArr[5],powerArr[6],powerArr[7],2); |
jamesdem1123 | 5:6b90ed7f3eb1 | 202 | printf("....sent\r\n"); |
jamesdem1123 | 6:7691e36d2337 | 203 | printf("Message id 3: Cpu Cur = %d, Perifferal Cur = %d, null, null....",powerArr[8],powerArr[9]); |
jamesdem1123 | 5:6b90ed7f3eb1 | 204 | sending_values(powerArr[8],powerArr[9],0,0,3); |
jamesdem1123 | 5:6b90ed7f3eb1 | 205 | printf("....sent\r\n"); |
jamesdem1123 | 5:6b90ed7f3eb1 | 206 | printf("CANBUS TRANMISSION COMPLETE\r\n"); |
jamesdem1123 | 5:6b90ed7f3eb1 | 207 | printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\n"); |
jamesdem1123 | 6:7691e36d2337 | 208 | //relNet=!relNet; |
jamesdem1123 | 7:cdd74b6e2595 | 209 | // relSens= !relSens; |
jamesdem1123 | 6:7691e36d2337 | 210 | |
jamesdem1123 | 6:7691e36d2337 | 211 | |
jamesdem1123 | 6:7691e36d2337 | 212 | //relCpuPower=!relCpuPower; |
jamesdem1123 | 6:7691e36d2337 | 213 | //relCpuRst =!relCpuRst; |
jamesdem1123 | 6:7691e36d2337 | 214 | // relUsr=!relUsr; |
jamesdem1123 | 5:6b90ed7f3eb1 | 215 | float neW =(powerArr[1]*.003); |
jamesdem1123 | 5:6b90ed7f3eb1 | 216 | printf("actual vbat= %2.4f volt\r\n", neW); |
jamesdem1123 | 6:7691e36d2337 | 217 | #endif |
jamesdem1123 | 6:7691e36d2337 | 218 | #ifndef SERIALOUT |
jamesdem1123 | 6:7691e36d2337 | 219 | sending_values(powerArr[0],powerArr[1],powerArr[2],powerArr[3],1); |
jamesdem1123 | 6:7691e36d2337 | 220 | sending_values(powerArr[4],powerArr[5],powerArr[6],powerArr[7],2); |
jamesdem1123 | 6:7691e36d2337 | 221 | sending_values(powerArr[8],powerArr[9],0,0,3); |
jamesdem1123 | 7:cdd74b6e2595 | 222 | // relNet=!relNet; |
jamesdem1123 | 7:cdd74b6e2595 | 223 | //relSens= !relSens; |
jamesdem1123 | 6:7691e36d2337 | 224 | |
jamesdem1123 | 7:cdd74b6e2595 | 225 | //relCpuPower=!relCpuPower; |
jamesdem1123 | 7:cdd74b6e2595 | 226 | //relCpuRst =!relCpuRst; |
jamesdem1123 | 7:cdd74b6e2595 | 227 | // relUsr=!relUsr; |
jamesdem1123 | 6:7691e36d2337 | 228 | #endif |
jamesdem1123 | 6:7691e36d2337 | 229 | |
jamesdem1123 | 5:6b90ed7f3eb1 | 230 | } |
jamesdem1123 | 2:321c8783ea30 | 231 | |
jamesdem1123 | 2:321c8783ea30 | 232 | |
jamesdem1123 | 2:321c8783ea30 | 233 | |
jamesdem1123 | 1:dd6f8dc1e54e | 234 | void setup(void) |
jamesdem1123 | 1:dd6f8dc1e54e | 235 | { |
jamesdem1123 | 6:7691e36d2337 | 236 | graph.attach(&sendArray, (1)); //update array every 10 seconds |
jamesdem1123 | 6:7691e36d2337 | 237 | |
jamesdem1123 | 7:cdd74b6e2595 | 238 | can2.frequency(500000); |
jamesdem1123 | 1:dd6f8dc1e54e | 239 | //initialize relays |
jamesdem1123 | 1:dd6f8dc1e54e | 240 | relSens= 0; |
jamesdem1123 | 6:7691e36d2337 | 241 | |
jamesdem1123 | 1:dd6f8dc1e54e | 242 | relNet =0; |
jamesdem1123 | 1:dd6f8dc1e54e | 243 | relCpuPower=0; |
jamesdem1123 | 1:dd6f8dc1e54e | 244 | relCpuRst =0; |
jamesdem1123 | 1:dd6f8dc1e54e | 245 | relUsr=0; |
jamesdem1123 | 7:cdd74b6e2595 | 246 | wait(3); |
jamesdem1123 | 7:cdd74b6e2595 | 247 | sending_values(1,1,1,1,4); |
jamesdem1123 | 7:cdd74b6e2595 | 248 | wait(.01); |
jamesdem1123 | 7:cdd74b6e2595 | 249 | sending_values(0,0,0,0,4); |
jamesdem1123 | 6:7691e36d2337 | 250 | |
jamesdem1123 | 6:7691e36d2337 | 251 | |
jamesdem1123 | 6:7691e36d2337 | 252 | |
jamesdem1123 | 1:dd6f8dc1e54e | 253 | } |
jamesdem1123 | 1:dd6f8dc1e54e | 254 | |
jamesdem1123 | 1:dd6f8dc1e54e | 255 | |
jamesdem1123 | 2:321c8783ea30 | 256 | |
jamesdem1123 | 1:dd6f8dc1e54e | 257 | int main() |
jamesdem1123 | 1:dd6f8dc1e54e | 258 | { |
jamesdem1123 | 1:dd6f8dc1e54e | 259 | setup(); |
jamesdem1123 | 5:6b90ed7f3eb1 | 260 | |
jamesdem1123 | 5:6b90ed7f3eb1 | 261 | |
jamesdem1123 | 1:dd6f8dc1e54e | 262 | while (1) { |
jamesdem1123 | 6:7691e36d2337 | 263 | Can_main(0,0,0,0,0); |
jamesdem1123 | 2:321c8783ea30 | 264 | |
jamesdem1123 | 1:dd6f8dc1e54e | 265 | |
jamesdem1123 | 1:dd6f8dc1e54e | 266 | |
jamesdem1123 | 5:6b90ed7f3eb1 | 267 | powerArr[0]=ibat = (iBat.read_u16()); |
jamesdem1123 | 5:6b90ed7f3eb1 | 268 | powerArr[1]=vBat = ads.readADC_SingleEnded(0); // read channel 0 PROTO |
jamesdem1123 | 5:6b90ed7f3eb1 | 269 | |
jamesdem1123 | 5:6b90ed7f3eb1 | 270 | powerArr[2]=itwelve = (iTwelve.read_u16()); |
jamesdem1123 | 5:6b90ed7f3eb1 | 271 | powerArr[3]=vtwelve = ads.readADC_SingleEnded(1); // read channel 1 |
jamesdem1123 | 5:6b90ed7f3eb1 | 272 | |
jamesdem1123 | 5:6b90ed7f3eb1 | 273 | powerArr[4]=ifive = (iFive.read_u16()); |
jamesdem1123 | 5:6b90ed7f3eb1 | 274 | powerArr[5]=vfive = ads.readADC_SingleEnded(2); // read channel 0 |
jamesdem1123 | 5:6b90ed7f3eb1 | 275 | |
jamesdem1123 | 5:6b90ed7f3eb1 | 276 | powerArr[6]=imot = (iMot.read_u16()); |
jamesdem1123 | 5:6b90ed7f3eb1 | 277 | powerArr[7]=vmot = ads.readADC_SingleEnded(3); // read channel 0 |
jamesdem1123 | 5:6b90ed7f3eb1 | 278 | |
jamesdem1123 | 5:6b90ed7f3eb1 | 279 | powerArr[8]=icpu = (iCpu.read_u16()); |
jamesdem1123 | 5:6b90ed7f3eb1 | 280 | powerArr[9]=iperi = (iPeri.read_u16()); |
jamesdem1123 | 5:6b90ed7f3eb1 | 281 | |
jamesdem1123 | 5:6b90ed7f3eb1 | 282 | //powerArr[] = {ibat,vbat,itwelve, vtwelve, ifive, vfive, imot, vmot, icpu, iperi}; |
jamesdem1123 | 5:6b90ed7f3eb1 | 283 | |
jamesdem1123 | 6:7691e36d2337 | 284 | relCpuPower=fromUsr[0]; |
jamesdem1123 | 6:7691e36d2337 | 285 | relCpuRst =fromUsr[1]; |
jamesdem1123 | 6:7691e36d2337 | 286 | relSens= fromUsr[2]; |
jamesdem1123 | 6:7691e36d2337 | 287 | relNet =fromUsr[3]; |
jamesdem1123 | 6:7691e36d2337 | 288 | relUsr=fromUsr[4]; |
jamesdem1123 | 6:7691e36d2337 | 289 | |
jamesdem1123 | 6:7691e36d2337 | 290 | |
jamesdem1123 | 6:7691e36d2337 | 291 | //cpupwr, cpu rst, sensor, net, usrint |
jamesdem1123 | 6:7691e36d2337 | 292 | |
jamesdem1123 | 5:6b90ed7f3eb1 | 293 | led0=!led0; |
jamesdem1123 | 4:d29a7b77b1c6 | 294 | |
jamesdem1123 | 0:54d5ccfcb14c | 295 | } |
jamesdem1123 | 0:54d5ccfcb14c | 296 | } |
jamesdem1123 | 1:dd6f8dc1e54e | 297 | |
jamesdem1123 | 1:dd6f8dc1e54e | 298 | |
jamesdem1123 | 1:dd6f8dc1e54e | 299 | |
jamesdem1123 | 1:dd6f8dc1e54e | 300 | |
jamesdem1123 | 1:dd6f8dc1e54e | 301 | |
jamesdem1123 | 1:dd6f8dc1e54e | 302 | |
jamesdem1123 | 1:dd6f8dc1e54e | 303 | |
jamesdem1123 | 1:dd6f8dc1e54e | 304 | |
jamesdem1123 | 1:dd6f8dc1e54e | 305 | |
jamesdem1123 | 1:dd6f8dc1e54e | 306 | |
jamesdem1123 | 1:dd6f8dc1e54e | 307 | |
jamesdem1123 | 1:dd6f8dc1e54e | 308 | |
jamesdem1123 | 1:dd6f8dc1e54e | 309 | |
jamesdem1123 | 4:d29a7b77b1c6 | 310 | |
jamesdem1123 | 4:d29a7b77b1c6 | 311 | |
jamesdem1123 | 4:d29a7b77b1c6 | 312 | |
jamesdem1123 | 4:d29a7b77b1c6 | 313 | |
jamesdem1123 | 4:d29a7b77b1c6 | 314 | |
jamesdem1123 | 4:d29a7b77b1c6 | 315 | |
jamesdem1123 | 4:d29a7b77b1c6 | 316 |