Index: firmware/App/Services/AlarmMgmt.c =================================================================== diff -u -r224b86c0847207c168d38fa1713a1e9116642267 -r0f6b35ef8da4d30793a181750d0a6d5898118120 --- firmware/App/Services/AlarmMgmt.c (.../AlarmMgmt.c) (revision 224b86c0847207c168d38fa1713a1e9116642267) +++ firmware/App/Services/AlarmMgmt.c (.../AlarmMgmt.c) (revision 0f6b35ef8da4d30793a181750d0a6d5898118120) @@ -312,6 +312,27 @@ return status; } +/*********************************************************************//** + * @brief +* The handleResendActiveAlarmsRequest function processes the request to re-send +* all active alarms. +* @details Inputs: alarmIsActive[] +* @details Outputs: re-send active alarms to UI +* @return none +*************************************************************************/ +void handleResendActiveAlarmsRequest( void ) +{ + U32 index; + + for ( index = 0; index < NUM_OF_ALARM_IDS; index++ ) + { + if ( TRUE == isAlarmActive( (ALARM_ID_T)index ) ) + { + broadcastAlarmTriggered( index, BLANK_ALARM_DATA, BLANK_ALARM_DATA ); + } + } +} + /************************************************************************* * TEST SUPPORT FUNCTIONS Index: firmware/App/Services/AlarmMgmt.h =================================================================== diff -u -r22176ce95e49213c48454f34ddf5d29b8109f2cb -r0f6b35ef8da4d30793a181750d0a6d5898118120 --- firmware/App/Services/AlarmMgmt.h (.../AlarmMgmt.h) (revision 22176ce95e49213c48454f34ddf5d29b8109f2cb) +++ firmware/App/Services/AlarmMgmt.h (.../AlarmMgmt.h) (revision 0f6b35ef8da4d30793a181750d0a6d5898118120) @@ -101,6 +101,7 @@ BOOL isAlarmActive( ALARM_ID_T alarm ); BOOL checkPersistentAlarm( ALARM_ID_T alarm, BOOL const isErrorOccured, F32 const data, F32 const limit ); +void handleResendActiveAlarmsRequest( void ); BOOL testSetAlarmStateOverride( U32 alarmID, BOOL value ); BOOL testResetAlarmStateOverride( U32 alarmID ); Index: firmware/App/Services/SystemComm.c =================================================================== diff -u -rf639bbc47806ddcefdbdce78a377cd87050872e5 -r0f6b35ef8da4d30793a181750d0a6d5898118120 --- firmware/App/Services/SystemComm.c (.../SystemComm.c) (revision f639bbc47806ddcefdbdce78a377cd87050872e5) +++ firmware/App/Services/SystemComm.c (.../SystemComm.c) (revision 0f6b35ef8da4d30793a181750d0a6d5898118120) @@ -836,6 +836,10 @@ handleDrainCmd( message ); break; + case MSG_ID_HD_OP_MODE: + handleSetHDOperationMode( message ); + break; + case MSG_ID_STARTING_STOPPING_TREATMENT_CMD: handleStartStopTreatmentMsg( message ); break; @@ -1184,8 +1188,8 @@ handleSetDGUsageInfoRecord( message ); break; - case MSG_ID_HD_OP_MODE: - handleSetHDOperationMode( message ); + case MSG_ID_HD_REQUEST_DG_ALARMS: + handleResendAllAlarmsCommand( message ); break; default: Index: firmware/App/Services/SystemCommMessages.c =================================================================== diff -u -r7cbe747431f88cbb5801e9d2889a3f08fb01a6eb -r0f6b35ef8da4d30793a181750d0a6d5898118120 --- firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision 7cbe747431f88cbb5801e9d2889a3f08fb01a6eb) +++ firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision 0f6b35ef8da4d30793a181750d0a6d5898118120) @@ -3641,4 +3641,28 @@ return result; } +/*********************************************************************//** +* @brief +* The handleResendAllAlarmsCommand function handles a request to re-send +* all active DG alarms. +* @details Inputs: none +* @details Outputs: message handled +* @param message a pointer to the message to handle +* @return none +*************************************************************************/ +void handleResendAllAlarmsCommand( MESSAGE_T *message ) +{ + BOOL result = FALSE; + + // verify payload length + if ( 0 == message->hdr.payloadLen ) + { + handleResendActiveAlarmsRequest(); + result = TRUE; + } + + // respond to request + sendTestAckResponseMsg( (MSG_ID_T)message->hdr.msgID, result ); +} + /**@}*/ Index: firmware/App/Services/SystemCommMessages.h =================================================================== diff -u -r22176ce95e49213c48454f34ddf5d29b8109f2cb -r0f6b35ef8da4d30793a181750d0a6d5898118120 --- firmware/App/Services/SystemCommMessages.h (.../SystemCommMessages.h) (revision 22176ce95e49213c48454f34ddf5d29b8109f2cb) +++ firmware/App/Services/SystemCommMessages.h (.../SystemCommMessages.h) (revision 0f6b35ef8da4d30793a181750d0a6d5898118120) @@ -152,6 +152,9 @@ // MSG_ID_DG_SCHEDULED_RUNS_INFO void handleDGScheduledRunsRequest( MESSAGE_T *message ); +// MSG_ID_HD_OP_MODE +BOOL handleSetHDOperationMode( MESSAGE_T *message ); + // *********** public test support message functions ********** // MSG_TESTER_LOG_IN @@ -386,8 +389,8 @@ // MSG_ID_DG_SET_USAGE_INFO_RECORD void handleSetDGUsageInfoRecord( MESSAGE_T *message ); -// MSG_ID_HD_OP_MODE -BOOL handleSetHDOperationMode( MESSAGE_T *message ); +// MSG_ID_HD_REQUEST_DG_ALARMS +void handleResendAllAlarmsCommand( MESSAGE_T *message ); /**@}*/