Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed CANBuffer Watchdog MODSERIAL mbed-rtos xbeeRelay IAP
Fork of SystemManagement by
Diff: outDiagnostics/outDiagnostics.cpp
- Revision:
- 33:6bc82b6b62e5
- Parent:
- 31:7eaa5e881b56
- Child:
- 34:18bcf276d3bf
--- 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
