Index: firmware/App/Modes/SelfTests.c =================================================================== diff -u -r1d4d52365189e2cc83b97d28761bc2d4f0128859 -r7dae221794a30c403c06d90e12f3ab28830dffbe --- firmware/App/Modes/SelfTests.c (.../SelfTests.c) (revision 1d4d52365189e2cc83b97d28761bc2d4f0128859) +++ firmware/App/Modes/SelfTests.c (.../SelfTests.c) (revision 7dae221794a30c403c06d90e12f3ab28830dffbe) @@ -517,7 +517,7 @@ data.timeout = MAX_DRY_SELF_TEST_TIME; data.countdown = ( MAX_DRY_SELF_TEST_TIME - elapsedSelfTestTimeInSecs ); - broadcastData( MSG_ID_HD_DRY_SELF_TEST_PROGRESS, COMM_BUFFER_OUT_CAN_HD_BROADCAST, (U08*)&data, sizeof( SELF_TEST_DRY_PAYLOAD_T ) ); + broadcastData( MSG_ID_HD_DRY_SELF_TEST_PROGRESS_DATA, COMM_BUFFER_OUT_CAN_HD_BROADCAST, (U08*)&data, sizeof( SELF_TEST_DRY_PAYLOAD_T ) ); } } Index: firmware/App/Services/AlarmMgmt.c =================================================================== diff -u -r4ddf1777acc4298a9ed034e56b66916256d22c18 -r7dae221794a30c403c06d90e12f3ab28830dffbe --- firmware/App/Services/AlarmMgmt.c (.../AlarmMgmt.c) (revision 4ddf1777acc4298a9ed034e56b66916256d22c18) +++ firmware/App/Services/AlarmMgmt.c (.../AlarmMgmt.c) (revision 7dae221794a30c403c06d90e12f3ab28830dffbe) @@ -44,8 +44,7 @@ #define SUPERVISOR_ALARM_KEY 0xD2C3B4A5 ///< 32-bit key required for clear all alarms request. -#define LOWEST_ALARM_SUB_RANK 999 ///< Lowest alarm sub-rank that can be set. -#define MAX_ALARM_LIST_SIZE 10 ///< Maximum number of active alarms inside alarm list. +#define LOWEST_ALARM_SUB_RANK 999 ///< Lowest alarm sub-rank that can be set. // *** This declaration will cause a compiler error if ALARM_TABLE does not have same # of alarms as the Alarm_List enumeration. U08 alarmTableSizeAssertion[ ( ( sizeof( ALARM_TABLE ) / sizeof( ALARM_T ) ) == NUM_OF_ALARM_IDS ? 1 : -1 ) ]; @@ -710,16 +709,17 @@ *************************************************************************/ void handleActiveAlarmListRequest( void ) { - BOOL accepted = TRUE; - REQUEST_REJECT_REASON_CODE_T rejReason = REQUEST_REJECT_REASON_NONE; - U32 activeAlarmList[ MAX_ALARM_LIST_SIZE ]; + ACTIVE_ALARM_LIST_RESPONSE_PAYLOAD_T activeAlarmPayload; U32 index; U32 activeAlarmListIndex = 0; + activeAlarmPayload.accepted = TRUE; + activeAlarmPayload.rejectionReason = (U32)REQUEST_REJECT_REASON_NONE; + // Blank alarm list initially for ( index = 0; index < MAX_ALARM_LIST_SIZE; index++ ) { - activeAlarmList[ index ] = ALARM_ID_NO_ALARM; + activeAlarmPayload.activeAlarmList[ index ] = ALARM_ID_NO_ALARM; } // Fill alarm list from (up to) 10 highest priority active alarms @@ -729,13 +729,13 @@ { if ( ( TRUE == isAlarmActive( ALARM_RANK_TABLE[ index ].alarmID ) ) && ( activeAlarmListIndex < MAX_ALARM_LIST_SIZE ) ) { - activeAlarmList[ activeAlarmListIndex ] = ALARM_RANK_TABLE[ index ].alarmID; + activeAlarmPayload.activeAlarmList[ activeAlarmListIndex ] = ALARM_RANK_TABLE[ index ].alarmID; activeAlarmListIndex++; } } } - sendActiveAlarmsList( accepted, rejReason, activeAlarmList, sizeof( activeAlarmList ) ); + sendActiveAlarmsList( activeAlarmPayload ); } /*********************************************************************//** Index: firmware/App/Services/AlarmMgmt.h =================================================================== diff -u -rf760ffc4b10556e5186e9ceb90294262063440ca -r7dae221794a30c403c06d90e12f3ab28830dffbe --- firmware/App/Services/AlarmMgmt.h (.../AlarmMgmt.h) (revision f760ffc4b10556e5186e9ceb90294262063440ca) +++ firmware/App/Services/AlarmMgmt.h (.../AlarmMgmt.h) (revision 7dae221794a30c403c06d90e12f3ab28830dffbe) @@ -41,7 +41,7 @@ #define MAX_ALARM_VOLUME_LEVEL 5 #define MAX_ALARM_VOLUME_ATTENUATION 4 #define MIN_ALARM_VOLUME_ATTENUATION 0 - +#define MAX_ALARM_LIST_SIZE 10 ///< Maximum number of active alarms inside alarm list. /// Enumeration of alarm actions. typedef enum Alarm_Actions { @@ -179,6 +179,14 @@ U32 alarmID; ///< Alarm ID. } ALARM_ID_DATA_PUBLISH_T; +typedef struct +{ + BOOL accepted; ///< Accepted/Rejected. + U32 rejectionReason; ///< Rejection reason if not accepted. + U32 activeAlarmList[ MAX_ALARM_LIST_SIZE ]; ///< Active Alarm List array. +} ACTIVE_ALARM_LIST_RESPONSE_PAYLOAD_T; + + // ********** public function prototypes ********** void initAlarmMgmt( void ); Index: firmware/App/Services/SystemCommMessages.c =================================================================== diff -u -r468292c78916bae95676d263c7259cba965ba147 -r7dae221794a30c403c06d90e12f3ab28830dffbe --- firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision 468292c78916bae95676d263c7259cba965ba147) +++ firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision 7dae221794a30c403c06d90e12f3ab28830dffbe) @@ -1024,21 +1024,16 @@ * @param size the size of active alarms list * @return TRUE if msg successfully queued for transmit, FALSE if not *************************************************************************/ -BOOL sendActiveAlarmsList( BOOL accepted, U32 reason, U32 *alarmList, U32 size ) +BOOL sendActiveAlarmsList( ACTIVE_ALARM_LIST_RESPONSE_PAYLOAD_T alarmListPayload ) { MESSAGE_T msg; - U08 *payloadPtr = msg.payload; // Create a message record blankMessage( &msg ); msg.hdr.msgID = MSG_ID_HD_ACTIVE_ALARMS_LIST_REQUEST_RESPONSE; - msg.hdr.payloadLen = sizeof( BOOL ) + sizeof( U32 ) + size; + msg.hdr.payloadLen = sizeof( ACTIVE_ALARM_LIST_RESPONSE_PAYLOAD_T ); - memcpy( payloadPtr, &accepted, sizeof( U32 ) ); - payloadPtr += sizeof( U32 ); - memcpy( payloadPtr, &reason, sizeof( U32 ) ); - payloadPtr += sizeof( U32 ); - memcpy( payloadPtr, alarmList, size ); + memcpy( &msg.payload, &alarmListPayload, sizeof( ACTIVE_ALARM_LIST_RESPONSE_PAYLOAD_T ) ); // Serialize the message (w/ sync, CRC, and appropriate CAN padding) and add serialized message data to appropriate comm buffer return serializeMessage( msg, COMM_BUFFER_OUT_CAN_HD_2_UI, ACK_REQUIRED ); @@ -1594,13 +1589,16 @@ { BOOL result; MESSAGE_T msg; + DG_SAMPLE_WATER_CMD_REQUEST_T sampleCmd; + sampleCmd.cmd = (U32)cmd; + // Create a message record blankMessage( &msg ); msg.hdr.msgID = MSG_ID_DG_SAMPLE_WATER_CMD_REQUEST; - msg.hdr.payloadLen = sizeof( SAMPLE_WATER_CMD_T ); + msg.hdr.payloadLen = sizeof( DG_SAMPLE_WATER_CMD_REQUEST_T ); - memcpy( &msg.payload, &cmd, sizeof( SAMPLE_WATER_CMD_T ) ); + memcpy( &msg.payload, &sampleCmd, sizeof( DG_SAMPLE_WATER_CMD_REQUEST_T ) ); // 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 ); Index: firmware/App/Services/SystemCommMessages.h =================================================================== diff -u -rc9eae083ca9c06f843ce7ebd7ef93ff47a986011 -r7dae221794a30c403c06d90e12f3ab28830dffbe --- firmware/App/Services/SystemCommMessages.h (.../SystemCommMessages.h) (revision c9eae083ca9c06f843ce7ebd7ef93ff47a986011) +++ firmware/App/Services/SystemCommMessages.h (.../SystemCommMessages.h) (revision 7dae221794a30c403c06d90e12f3ab28830dffbe) @@ -421,7 +421,7 @@ void handleUIActiveAlarmsListRequest( MESSAGE_T *message ); // MSG_ID_HD_ACTIVE_ALARMS_LIST_REQUEST_RESPONSE -BOOL sendActiveAlarmsList( BOOL accepted, U32 reason, U32 *alarmList, U32 size ); +BOOL sendActiveAlarmsList( ACTIVE_ALARM_LIST_RESPONSE_PAYLOAD_T alarmListPayload ); // MSG_ID_HD_TREATMENT_LOG_ALARM_EVENT BOOL sendTreatmentLogAlarmEventData( ALARM_ID_T alarmID, ALARM_DATA_T almData1, ALARM_DATA_T almData2 );