Index: App/Services/SystemCommMessages.c =================================================================== diff -u -r8ca991f9c04d8d301ada71eabc297f514b0d6cf8 -rcda7aca3cdae3f3a2c2bcefc009f96a9bf6e4bdd --- App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision 8ca991f9c04d8d301ada71eabc297f514b0d6cf8) +++ App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision cda7aca3cdae3f3a2c2bcefc009f96a9bf6e4bdd) @@ -22,6 +22,7 @@ #include "AlarmLamp.h" #include "Buttons.h" #include "MsgQueues.h" +#include "WatchdogMgmt.h" #include "SystemCommMessages.h" #include "SystemComm.h" @@ -34,12 +35,6 @@ U08 confirmed; // 1 = confirmed, 0 = rejected/timed out } OFF_BUTTON_MESSAGE_FROM_UI_CARGO_T; -typedef struct -{ - U08 reset; - U32 state; -} TEST_OVERRIDE_CARGO_T; - #pragma pack(pop) // ********** private data ********** @@ -227,7 +222,7 @@ testerLoggedIn = FALSE; } // respond to would be tester - sendTestAckResponseMsg( MSG_ID_TESTER_LOGIN_REQUEST, testerLoggedIn ); + sendTestAckResponseMsg( (MSG_ID_T)message->hdr.msgID, testerLoggedIn ); } /************************************************************************* @@ -253,7 +248,7 @@ result = addToMsgQueue( MSG_Q_IN, &hdMessage ); // respond to request - sendTestAckResponseMsg( MSG_ID_HD_MESSAGE, result ); + sendTestAckResponseMsg( (MSG_ID_T)message->hdr.msgID, result ); } /************************************************************************* @@ -271,18 +266,22 @@ TEST_OVERRIDE_CARGO_T cargo; BOOL result; - memcpy( &cargo, message->cargo, sizeof(TEST_OVERRIDE_CARGO_T) ); - - if ( FALSE == (BOOL)(cargo.reset) ) + // verify cargo length + if ( sizeof(TEST_OVERRIDE_CARGO_T) == message->hdr.cargoLen ) { - result = testSetOffButtonStateOverride( (BUTTON_STATE_T)(cargo.state) ); + memcpy( &cargo, message->cargo, sizeof(TEST_OVERRIDE_CARGO_T) ); + + if ( FALSE == (BOOL)(cargo.reset) ) + { + result = testSetOffButtonStateOverride( (BUTTON_STATE_T)(cargo.state) ); + } + else + { + result = testResetOffButtonStateOverride(); + } } - else - { - result = testResetOffButtonStateOverride(); - } // respond to request - sendTestAckResponseMsg( MSG_ID_OFF_BUTTON_STATE_OVERRIDE, result ); + sendTestAckResponseMsg( (MSG_ID_T)message->hdr.msgID, result ); } /************************************************************************* @@ -300,18 +299,22 @@ TEST_OVERRIDE_CARGO_T cargo; BOOL result; - memcpy( &cargo, message->cargo, sizeof(TEST_OVERRIDE_CARGO_T) ); - - if ( FALSE == (BOOL)(cargo.reset) ) + // verify cargo length + if ( sizeof(TEST_OVERRIDE_CARGO_T) == message->hdr.cargoLen ) { - result = testSetStopButtonStateOverride( (BUTTON_STATE_T)(cargo.state) ); + memcpy( &cargo, message->cargo, sizeof(TEST_OVERRIDE_CARGO_T) ); + + if ( FALSE == (BOOL)(cargo.reset) ) + { + result = testSetStopButtonStateOverride( (BUTTON_STATE_T)(cargo.state) ); + } + else + { + result = testResetStopButtonStateOverride(); + } } - else - { - result = testResetStopButtonStateOverride(); - } // respond to request - sendTestAckResponseMsg( MSG_ID_STOP_BUTTON_STATE_OVERRIDE, result ); + sendTestAckResponseMsg( (MSG_ID_T)message->hdr.msgID, result ); } /************************************************************************* @@ -329,18 +332,54 @@ TEST_OVERRIDE_CARGO_T cargo; BOOL result; - memcpy( &cargo, message->cargo, sizeof(TEST_OVERRIDE_CARGO_T) ); - - if ( FALSE == (BOOL)(cargo.reset) ) + // verify cargo length + if ( sizeof(TEST_OVERRIDE_CARGO_T) == message->hdr.cargoLen ) { - result = testSetCurrentLampPatternOverride( (LAMP_PATTERN_T)(cargo.state) ); + memcpy( &cargo, message->cargo, sizeof(TEST_OVERRIDE_CARGO_T) ); + + if ( FALSE == (BOOL)(cargo.reset) ) + { + result = testSetCurrentLampPatternOverride( (LAMP_PATTERN_T)(cargo.state) ); + } + else + { + result = testResetCurrentLampPatternOverride(); + } } - else + // respond to request + sendTestAckResponseMsg( (MSG_ID_T)message->hdr.msgID, result ); +} + +/************************************************************************* + * @brief handleTestAlarmLampPatternOverrideRequest + * The handleTestAlarmLampPatternOverrideRequest function handles a request to \n + * override the alarm lamp pattern. + * @details + * Inputs : none + * Outputs : message handled + * @param message : a pointer to the message to handle + * @return none + *************************************************************************/ +void handleTestWatchdogCheckInStateOverrideRequest( MESSAGE_T *message ) +{ + TEST_OVERRIDE_ARRAY_CARGO_T cargo; + BOOL result; + + // verify cargo length + if ( sizeof(TEST_OVERRIDE_ARRAY_CARGO_T) == message->hdr.cargoLen ) { - result = testResetCurrentLampPatternOverride(); + memcpy( &cargo, message->cargo, sizeof(TEST_OVERRIDE_ARRAY_CARGO_T) ); + + if ( FALSE == (BOOL)(cargo.reset) ) + { + result = testSetWatchdogTaskCheckInOverride( cargo.index, (BOOL)(cargo.state) ); + } + else + { + result = testResetWatchdogTaskCheckInOverride( cargo.index ); + } } // respond to request - sendTestAckResponseMsg( MSG_ID_ALARM_LAMP_PATTERN_OVERRIDE, result ); + sendTestAckResponseMsg( (MSG_ID_T)message->hdr.msgID, result ); } -