Index: firmware/App/Modes/ModeInitPOST.c =================================================================== diff -u -rcbaa57803fa8359407a799fca0cde6ae2c486bd7 -r4ec54dc76acf9a434fb860c51739a7dd6f72afd6 --- firmware/App/Modes/ModeInitPOST.c (.../ModeInitPOST.c) (revision cbaa57803fa8359407a799fca0cde6ae2c486bd7) +++ firmware/App/Modes/ModeInitPOST.c (.../ModeInitPOST.c) (revision 4ec54dc76acf9a434fb860c51739a7dd6f72afd6) @@ -478,8 +478,10 @@ systemREG1->SYSESR = systemREG1->SYSESR; // clear reset bit(s) after logging event so subsequent resets can be properly identified as not being power-on resets. - sendUIVersionRequest(); + sendUIVersionRequest(); // request UI to send us its version - needed for compatibility check + sendRequestForDGResendAlarms(); // request DG to re-send any active alarms that may have been triggered before we came up + // Send the startup event SEND_EVENT_WITH_2_U32_DATA( HD_EVENT_STARTUP, systemREG1->DEV, 0x12345678 ) // log startup event w/ device ID bits SEND_EVENT_WITH_2_U32_DATA( HD_EVENT_STARTUP, resetReason, systemREG1->GBLSTAT ) // log startup event w/ reset reason(s) bits Index: firmware/App/Services/SystemCommMessages.c =================================================================== diff -u -r1519b5d150fd913f596715f0eacce7d5c5e0d56c -r4ec54dc76acf9a434fb860c51739a7dd6f72afd6 --- firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision 1519b5d150fd913f596715f0eacce7d5c5e0d56c) +++ firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision 4ec54dc76acf9a434fb860c51739a7dd6f72afd6) @@ -7116,6 +7116,30 @@ } /*********************************************************************//** + * @brief + * The sendRequestForDGResendAlarms function sends out the HD request for + * DG re-send all active alarms. + * @details Inputs: none + * @details Outputs: DG alarms re-send request msg constructed and queued + * @return TRUE if msg successfully queued for transmit, FALSE if not + *************************************************************************/ +BOOL sendRequestForDGResendAlarms( void ) +{ + BOOL result; + MESSAGE_T msg; + + // Create a message record + blankMessage( &msg ); + msg.hdr.msgID = MSG_ID_HD_REQUEST_DG_ALARMS; + msg.hdr.payloadLen = 0; + + // Serialize the message (w/ sync, CRC, and appropriate CAN padding) and add serialized message data to appropriate comm buffer + result = serializeMessage( msg, COMM_BUFFER_OUT_CAN_HD_2_DG, ACK_REQUIRED ); + + return result; +} + +/*********************************************************************//** * @brief * The handleGetHDUsageInfoRecord function handles a request to get the HD * usage information record. Index: firmware/App/Services/SystemCommMessages.h =================================================================== diff -u -r1519b5d150fd913f596715f0eacce7d5c5e0d56c -r4ec54dc76acf9a434fb860c51739a7dd6f72afd6 --- firmware/App/Services/SystemCommMessages.h (.../SystemCommMessages.h) (revision 1519b5d150fd913f596715f0eacce7d5c5e0d56c) +++ firmware/App/Services/SystemCommMessages.h (.../SystemCommMessages.h) (revision 4ec54dc76acf9a434fb860c51739a7dd6f72afd6) @@ -426,6 +426,9 @@ void handleUIServiceModeRequest( MESSAGE_T *message ); void sendUIServiceModeResponse( BOOL accepted, U32 rejCode ); +// MSG_ID_HD_REQUEST_DG_ALARMS +BOOL sendRequestForDGResendAlarms( void ); + #ifdef EMC_TEST_BUILD // MSG_ID_CAN_ERROR_COUNT BOOL broadcastCANErrorCount( U32 count );