Index: firmware/App/Services/AlarmMgmtTD.c =================================================================== diff -u -rc4d738c0a43fc2efd83f05a2f139ecf361fc2777 -r43a34b687017ca6409d4a359c0d1283fcd863872 --- firmware/App/Services/AlarmMgmtTD.c (.../AlarmMgmtTD.c) (revision c4d738c0a43fc2efd83f05a2f139ecf361fc2777) +++ firmware/App/Services/AlarmMgmtTD.c (.../AlarmMgmtTD.c) (revision 43a34b687017ca6409d4a359c0d1283fcd863872) @@ -30,7 +30,7 @@ /** * @addtogroup AlarmManagementTD * @{ - */ + */ // ********** private definitions ********** @@ -894,30 +894,49 @@ * @brief * The handleGetAlarmPropertiesRequest function processes a request * to retrieve alarm properties and broadcasts the result. - * @details \b Inputs: message payload containing alarm ID - * @details \b Outputs: MSG_ID_TD_ALARM_TABLE_RESPONSE via CAN/PC interface + * @details \b Inputs: None + * @details \b Outputs: None * @param message Pointer to MESSAGE_T containing the alarm ID request * @return TRUE if alarm properties were successfully broadcasted. * FALSE if payload length is invalid or alarm ID * is out of range *************************************************************************/ BOOL handleGetAlarmPropertiesRequest( MESSAGE_T *message ) { - ALARM_ID_T alarmID; + U16 alarmID; BOOL result = FALSE; - if ( message->hdr.payloadLen != sizeof(ALARM_ID_T) ) + if ( message->hdr.payloadLen == sizeof( U16 )) { - return FALSE; - } + memcpy( &alarmID, message->payload, sizeof( U16) ); - memcpy( &alarmID, message->payload, sizeof(ALARM_ID_T) ); + if ( alarmID < NUM_OF_ALARM_IDS ) + { + ALARM_PROP_T canMsg; + ALARM_T alarm = getAlarmProperties( alarmID ); - if ( alarmID < NUM_OF_ALARM_IDS ) - { - ALARM_T alarm = getAlarmProperties( alarmID ); - result = broadcastData( MSG_ID_TD_ALARM_PROPERTIES_RESPONSE, COMM_BUFFER_OUT_CAN_PC, - (U08*)&alarm, sizeof(ALARM_T) ); + canMsg.alarmPriority = (U08)alarm.alarmPriority; + canMsg.alarmSubRank = (U16)alarm.alarmSubRank; + canMsg.alarmSource = (U08)alarm.alarmSource; + canMsg.alarmIsFault = (U08)alarm.alarmIsFault; + canMsg.alarmIsDDFault = (U08)alarm.alarmIsDDFault; + canMsg.alarmStops = (U08)alarm.alarmStops; + canMsg.alarmConditionClearImmed = (U08)alarm.alarmConditionClearImmed; + canMsg.alarmNoClear = (U08)alarm.alarmNoClear; + canMsg.alarmNoResume = (U08)alarm.alarmNoResume; + canMsg.alarmNoRinseback = (U08)alarm.alarmNoRinseback; + canMsg.alarmNoEndTreatment = (U08)alarm.alarmNoEndTreatment; + canMsg.alarmBlockRinseback = (U08)alarm.alarmBlockRinseback; + canMsg.alarmBlockEndTx = (U08)alarm.alarmBlockEndTx; + canMsg.alarmNoBloodRecirc = (U08)alarm.alarmNoBloodRecirc; + canMsg.alarmNoDialysateRecirc = (U08)alarm.alarmNoDialysateRecirc; + canMsg.alarmAutoResume = (U08)alarm.alarmAutoResume; + canMsg.alarmClearOnly = (U08)alarm.alarmClearOnly; + canMsg.alarmTreatmentLog = (U08)alarm.alarmTreatmentLog; + canMsg.alarmID = (U16)alarm.alarmID; + + result = broadcastData( MSG_ID_TD_ALARM_PROPERTIES_RESPONSE, COMM_BUFFER_OUT_CAN_PC, (U08*)&canMsg, sizeof( ALARM_PROP_T ) ); + } } return result; Index: firmware/App/Services/AlarmMgmtTD.h =================================================================== diff -u -rc4d738c0a43fc2efd83f05a2f139ecf361fc2777 -r43a34b687017ca6409d4a359c0d1283fcd863872 --- firmware/App/Services/AlarmMgmtTD.h (.../AlarmMgmtTD.h) (revision c4d738c0a43fc2efd83f05a2f139ecf361fc2777) +++ firmware/App/Services/AlarmMgmtTD.h (.../AlarmMgmtTD.h) (revision 43a34b687017ca6409d4a359c0d1283fcd863872) @@ -22,7 +22,6 @@ #include "AlarmDefs.h" #include "AlarmAudio.h" #include "AlarmLamp.h" -#include "AlarmMgmt.h" #include "AlarmMgmtSWFaults.h" #include "TestSupport.h"