/************************************************************************** * * Copyright (c) 2024-2025 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 AlarmMgmtDD.h * * @author (last) Sean Nash * @date (last) 12-Sep-2025 * * @author (original) Vinayakam Mani * @date (original) 07-Aug-2024 * ***************************************************************************/ #ifndef __ALARM_MGMT_DD_H__ #define __ALARM_MGMT_DD_H__ /** * @defgroup AlarmManagement AlarmManagement * @brief Alarm management service unit. Provides general alarm management functionality * including support functions for triggering and clearing specific alarms. * * @addtogroup AlarmManagement * @{ */ // ********** public definitions ********** #include "DDCommon.h" #include "AlarmDefs.h" #include "AlarmMgmtSWFaults.h" /// Safety shutdown activation status typedef struct { U32 safetyShutdownStatus; ///< Safety shutdown activation status } SAFETY_SHUTDOWN_ACTIVATION_DATA_T; /// Alarm name data publish typedef struct { U32 alarmName; ///< Alarm name. } ALARM_NAME_DATA_T; // ********** public function prototypes ********** void initAlarmMgmtDD( void ); void execAlarmMgmt( void ); void activateAlarmNoData( ALARM_ID_T alarm ); void clearAlarmDD( ALARM_ID_T alarm ); void clearAlarmConditionDD( ALARM_ID_T alarm ); BOOL isDDFaultAlarmActive( void ); BOOL isFPFaultAlarmActive( void ); void handleResendActiveAlarmsRequest( void ); void activateAlarm1Data( ALARM_ID_T alarm, ALARM_DATA_T alarmData ); void activateAlarm2Data( ALARM_ID_T alarm, ALARM_DATA_T alarmData1, ALARM_DATA_T alarmData2, BOOL outside ); BOOL isAnyCleaningModeInletWaterConditionActive( void ); BOOL testDDClearAllAlarms( MESSAGE_T *message ); BOOL testFPClearAllAlarms( MESSAGE_T *message ); BOOL testSetAlarmInfoPublishIntervalOverride( U32 ms ); BOOL testResetAlarmInfoPublishIntervalOverride( void ); /**@}*/ #endif