Index: firmware/App/Services/AlarmMgmt.h =================================================================== diff -u -rc28337436dce61c9ecc295d191c44628e089bf33 -rcd5be724d5a3ba7457e761191d82f278654d7f5c --- firmware/App/Services/AlarmMgmt.h (.../AlarmMgmt.h) (revision c28337436dce61c9ecc295d191c44628e089bf33) +++ firmware/App/Services/AlarmMgmt.h (.../AlarmMgmt.h) (revision cd5be724d5a3ba7457e761191d82f278654d7f5c) @@ -1,14 +1,14 @@ /************************************************************************** * -* Copyright (c) 2019-2023 Diality Inc. - All Rights Reserved. +* Copyright (c) 2019-2024 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) Michael Garthwaite -* @date (last) 17-Mar-2023 +* @author (last) Sean Nash +* @date (last) 08-Sep-2023 * * @author (original) Sean Nash * @date (original) 07-Nov-2019 @@ -38,9 +38,9 @@ /// Interval (in ms) at which alarm lamp and audio control will be executed. #define ALARM_LAMP_AND_AUDIO_CONTROL_INTERVAL_MS 250 -#define MAX_ALARM_VOLUME_LEVEL 5 -#define MAX_ALARM_VOLUME_ATTENUATION 4 -#define MIN_ALARM_VOLUME_ATTENUATION 0 +#define MAX_ALARM_VOLUME_LEVEL 5 ///< Maximum alarm audio level. +#define MAX_ALARM_VOLUME_ATTENUATION 4 ///< Maximum alarm audio attenuation. +#define MIN_ALARM_VOLUME_ATTENUATION 0 ///< Minimum alarm audio attenuation. #define MAX_ALARM_LIST_SIZE 10 ///< Maximum number of active alarms inside alarm list. /// Enumeration of alarm actions. @@ -61,7 +61,7 @@ ALARM_PRIORITY_T alarmsState; ///< Current alarm priority level BOOL alarmsSilenced; ///< Alarms are currently silenced? U32 alarmsSilenceStart; ///< Time stamp for when alarms were silenced (ms) - U32 alarmsSilenceExpiresIn; ///< Time until alarm silence expires (seconds) + U32 alarmsSilenceExpiresIn; ///< Time until alarm silence expires (seconds) BOOL alarmsToEscalate; ///< Are any active alarms due to escalate (should UI show count down timer?) U32 alarmsEscalatesIn; ///< Time until alarm will escalate (seconds) ALARM_ID_T alarmTop; ///< ID of current top alarm that will drive lamp/audio and UI should be displaying right now @@ -77,6 +77,7 @@ BOOL ok; ///< Display OK button instead of other options BOOL noMinimize; ///< Prevent user from minimizing the alarm window BOOL lampOn; ///< The alarm lamp is on + BOOL noReTrigger; ///< Alarm flag to block re-trigger is set } COMP_ALARM_STATUS_T; /// Record structure for unsigned integer alarm data. @@ -156,6 +157,7 @@ F32 audioCurrLG; ///< Primary alarm audio current - low gain (mA) F32 backupAudioCurr; ///< Backup alarm audio current (mA) BOOL safetyShutdown; ///< Safety shutdown activated? (T/F) + BOOL acPowerLost; ///< Has A/C power been lost? (T/F) U08 uiAlarmButtonBlocks[ NUM_OF_ALARM_BUTTON_BLOCKERS ]; ///< Flags indicating UI alarm buttons blocked by alarm table or state } ALARM_INFO_PAYLOAD_T; @@ -180,6 +182,7 @@ U32 alarmID; ///< Alarm ID. } ALARM_ID_DATA_PUBLISH_T; +/// Alarm list request response payload record structure. typedef struct { BOOL accepted; ///< Accepted/Rejected. @@ -194,9 +197,11 @@ void activateAlarmNoData( ALARM_ID_T alarm ); void activateAlarm1Data( ALARM_ID_T alarm, ALARM_DATA_T alarmData ); -void activateAlarm2Data( ALARM_ID_T alarm, ALARM_DATA_T alarmData1, ALARM_DATA_T alarmData2 ); +void activateAlarm2Data( ALARM_ID_T alarm, ALARM_DATA_T alarmData1, ALARM_DATA_T alarmData2, BOOL outside ); void clearAlarm( ALARM_ID_T alarm ); void clearAlarmCondition( ALARM_ID_T alarm ); +void clearNoRetriggerFlag( void ); +BOOL getNoRetriggerFlag( void ); void setAlarmUserActionEnabled( ALARM_USER_ACTION_T action, BOOL enabled ); void signalAlarmSilence( ALARM_SILENCE_CMD_T cmd ); void signalAlarmUserActionInitiated( ALARM_USER_ACTION_T action ); @@ -207,6 +212,7 @@ BOOL isDialysateRecircBlocked( void ); BOOL doesAlarmStatusIndicateStop( void ); BOOL doesAlarmIndicateNoResume( void ); +BOOL doesAlarmStatusIndicateEndTxOnly( void ); ALARM_PRIORITY_T getCurrentAlarmStatePriority( void ); BOOL isAlarmRecoverable( ALARM_ID_T alarm ); void setAlarmAudioVolume( U32 volumeLevel );