Index: firmware/App/Services/AlarmMgmt.h =================================================================== diff -u -r9944e4f766d9eb4cdf7a5ca7587e3ceca556e106 -r0f9838d6b8606a6a9853ccb6157e4c25d70ddd02 --- firmware/App/Services/AlarmMgmt.h (.../AlarmMgmt.h) (revision 9944e4f766d9eb4cdf7a5ca7587e3ceca556e106) +++ firmware/App/Services/AlarmMgmt.h (.../AlarmMgmt.h) (revision 0f9838d6b8606a6a9853ccb6157e4c25d70ddd02) @@ -1,14 +1,14 @@ /************************************************************************** * -* Copyright (c) 2019-2022 Diality Inc. - All Rights Reserved. +* Copyright (c) 2019-2023 Diality Inc. - All Rights Reserved. * * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN * WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. * * @file AlarmMgmt.h * -* @author (last) Darren Cox -* @date (last) 28-Mar-2022 +* @author (last) Dara Navaei +* @date (last) 18-Jan-2023 * * @author (original) Sean Nash * @date (original) 07-Nov-2019 @@ -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 { @@ -183,13 +201,15 @@ BOOL isAlarmRecoverable( ALARM_ID_T alarm ); void setAlarmAudioVolume( U32 volumeLevel ); -void handleActiveAlarmListRequest( void ); +void handleActiveAlarmListRequest( void ); +void handleResendActiveAlarmsRequest( void ); U32 getAlarmAudioVolume( void ); F32 getAlarmAudioPrimaryHighGainCurrent( void ); F32 getAlarmAudioPrimaryLowGainCurrent( void ); F32 getAlarmAudioBackupCurrent( void ); SELF_TEST_STATUS_T execAlarmAudioSelfTest( void ); +void resetAlarmAudioPOSTState( void ); BOOL testSetAlarmStateOverride( U32 alarmID, BOOL value ); BOOL testResetAlarmStateOverride( U32 alarmID );