Penn Electric Racing / Mbed 2 deprecated SystemManagement

Dependencies:   mbed CANBuffer Watchdog MODSERIAL mbed-rtos xbeeRelay IAP

Fork of SystemManagement by Martin Deng

Revision:
33:6bc82b6b62e5
Parent:
31:7eaa5e881b56
Child:
34:18bcf276d3bf
diff -r e70407021ad2 -r 6bc82b6b62e5 outDiagnostics/outDiagnostics.cpp
--- a/outDiagnostics/outDiagnostics.cpp	Sun Nov 16 02:43:58 2014 +0000
+++ b/outDiagnostics/outDiagnostics.cpp	Tue Jan 06 20:45:26 2015 +0000
@@ -1,5 +1,4 @@
 #include "outDiagnostics.h"
-#include "CAN_TxIDs.h"
 
 // Macros for working with the string
 #define ADD_LINE                  len+=sprintf(buff+len,"%s\r\n",line);                                                    // Add newlines, add it to the working buffer 
@@ -76,11 +75,11 @@
         else sprintf(temp, "%s is OPEN.", switchNames[switches-1]);
         ADD_SPRINTF_LINE
         
-    /*    padCenter(line, max_charsPerLine-2, " ", ' '); ADD_LINE   // Generate blank line
+        padCenter(line, max_charsPerLine-2, " ", ' '); ADD_LINE   // Generate blank line
         padCenter(line, max_charsPerLine-2, " Telemetry ", '*'); ADD_LINE
-        sprintf(temp, "Channel 1: MessagesIn: %d MessagesOut: %d", data.xbee1MessagesIn, data.xbee1MessagesOut); ADD_SPRINTF_LINE
-        sprintf(temp, "Channel 2: MessagesIn: %d MessagesOut: %d", data.xbee2MessagesIn, data.xbee2MessagesOut); ADD_SPRINTF_LINE
-*/
+        sprintf(temp, "Channel 1: MessagesIn: %d MessagesOut: %d", xbeeRelay.counterX1in, xbeeRelay.counterX1out); ADD_SPRINTF_LINE
+        sprintf(temp, "Channel 2: MessagesIn: %d MessagesOut: %d", xbeeRelay.counterX2in, xbeeRelay.counterX2out); ADD_SPRINTF_LINE
+
         padCenter(line, max_charsPerLine-2, " ", ' '); ADD_LINE     // Generate blank line 
         padCenter(line, max_charsPerLine-2, " Miscellaneous ", '*'); ADD_LINE
         sprintf(temp, "Temp: %5.1fC OverTemp: %s canFault: %s WatchdogReset: %s ErrorFrame: 0x%x", data.internalTemp, BOOL(data.internalOverTemp), BOOL(data.canFault), BOOL(data.watchdogReset), data.errorFrame); ADD_SPRINTF_LINE
@@ -106,7 +105,7 @@
     msg.len = sizeof(T);
     memcpy(&msg.data[0], (void*)&dat, sizeof(T));
     if (!can.txWrite(msg)) data.canFault = true;
-    xbee.receive(msg);
+    xbeeRelay.send(msg);
 }
 
 void outDiagnostics::thread_canOut(void const *args) {
@@ -120,18 +119,18 @@
         // Xbee1 Counter
         msg.id = SYS_XBEE1_ID;
         msg.len = 2*sizeof(int);
-        memcpy(&msg.data[0], (void*)&data.xbee1MessagesIn, sizeof(int));
-        memcpy(&msg.data[4], (void*)&data.xbee1MessagesOut, sizeof(int));
+        memcpy(&msg.data[0], (void*)&xbeeRelay.counterX1in, sizeof(int));
+        memcpy(&msg.data[4], (void*)&xbeeRelay.counterX1out, sizeof(int));
         if (!can.txWrite(msg)) data.canFault = true;
-        xbee.receive(msg);
+        xbeeRelay.send(msg);
 
         // Xbee2 Counter
         msg.id = SYS_XBEE2_ID;
         msg.len = 2*sizeof(int);
-        memcpy(&msg.data[0], (void*)&data.xbee2MessagesIn, sizeof(int));
-        memcpy(&msg.data[4], (void*)&data.xbee2MessagesOut, sizeof(int));
+        memcpy(&msg.data[0], (void*)&xbeeRelay.counterX2in, sizeof(int));
+        memcpy(&msg.data[4], (void*)&xbeeRelay.counterX2out, sizeof(int));
         if (!can.txWrite(msg)) data.canFault = true;
-        xbee.receive(msg);
+        xbeeRelay.send(msg);
         
         // Internal temperature
         sendCAN(SYS_TEMP_ID, data.internalTemp);
@@ -152,14 +151,14 @@
         memcpy(&msg.data[0], (void*)&data.dcdcFan1Duty, sizeof(float));
         memcpy(&msg.data[4], (void*)&data.dcdcFan2Duty, sizeof(float));
         if (!can.txWrite(msg)) data.canFault = true;
-        xbee.receive(msg);
+        xbeeRelay.send(msg);
 
         msg.id = SYS_PWM_PUMP_ID;
         msg.len = 2*sizeof(float);
         memcpy(&msg.data[0], (void*)&data.dcdcPump1Duty, sizeof(float));
         memcpy(&msg.data[4], (void*)&data.dcdcPump2Duty, sizeof(float));
         if (!can.txWrite(msg)) data.canFault = true;
-        xbee.receive(msg);
+        xbeeRelay.send(msg);
         
         // IMD
         sendCAN(SYS_IMD_STATUS_ID, data.imdStatus);
@@ -172,6 +171,6 @@
         // Shutdown Switches
         sendCAN(SYS_SWITCHES_ID, data.switchState);
 
-        Thread::wait(100);
+        Thread::wait(CAN_LOOP*1000);
     }   
 }
\ No newline at end of file