Index: firmware/App/Services/AlarmMgmt.h =================================================================== diff -u -r46b163d19c65e8c21db7b0247bbb1af0dba1ece5 -r6e6b2319dc060c5fa59062742978ac47d3b92082 --- firmware/App/Services/AlarmMgmt.h (.../AlarmMgmt.h) (revision 46b163d19c65e8c21db7b0247bbb1af0dba1ece5) +++ firmware/App/Services/AlarmMgmt.h (.../AlarmMgmt.h) (revision 6e6b2319dc060c5fa59062742978ac47d3b92082) @@ -118,16 +118,6 @@ ALARM_DATAS_T data; ///< The alarm data of specified type. } ALARM_DATA_T; -/// Payload record structure for the alarm info message. -typedef struct -{ - U32 audioVolume; ///< Audio volume level (1..5) - F32 audioCurrHG; ///< Primary alarm audio current - high gain (mA) - F32 audioCurrLG; ///< Primary alarm audio current - low gain (mA) - F32 backupAudioCurr; ///< Backup alarm audio current (mA) - BOOL safetyShutdown; ///< Safety shutdown activated? (T/F) -} ALARM_INFO_PAYLOAD_T; - /// Payload record structure for the alarm triggered message. typedef struct { @@ -143,7 +133,35 @@ #pragma pack(pop) +/// Enumeration of alarm button blockers. +typedef enum Alarm_Button_Blockers +{ + ALARM_BUTTON_TABLE_BLOCK_RESUME = 0, ///< Alarm table properties are blocking alarm resume button + ALARM_BUTTON_TABLE_BLOCK_RINSEBACK, ///< Alarm table properties are blocking alarm rinseback button + ALARM_BUTTON_TABLE_BLOCK_END_TREATMENT, ///< Alarm table properties are blocking alarm end treatment button + ALARM_BUTTON_STATE_BLOCK_RESUME, ///< State properties are blocking alarm resume button + ALARM_BUTTON_STATE_BLOCK_RINSEBACK, ///< State properties are blocking alarm rinseback button + ALARM_BUTTON_STATE_BLOCK_END_TREATMENT, ///< State properties are blocking alarm end treatment button + NUM_OF_ALARM_BUTTON_BLOCKERS ///< Number of alarm actions +} ALARM_BUTTON_BLOCKER_T; + +#pragma pack(push, 1) + +/// Payload record structure for the alarm info message. +typedef struct +{ + U32 audioVolume; ///< Audio volume level (1..5) + F32 audioCurrHG; ///< Primary alarm audio current - high gain (mA) + F32 audioCurrLG; ///< Primary alarm audio current - low gain (mA) + F32 backupAudioCurr; ///< Backup alarm audio current (mA) + BOOL safetyShutdown; ///< Safety shutdown activated? (T/F) + U08 uiAlarmButtonBlocks[ NUM_OF_ALARM_BUTTON_BLOCKERS ]; ///< Flags indicating UI alarm buttons blocked by alarm table or state +} ALARM_INFO_PAYLOAD_T; + +#pragma pack(pop) + #pragma pack(push, 2) + /// Payload record structure for an alarm status message. typedef struct {