/************************************************************************** * * Copyright (c) 2025-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 AlarmMgmtFP.h * * @author (last) Michael Garthwaite * @date (last) 01-Aug-2025 * * @author (original) Michael Garthwaite * @date (original) 02-Jul-2025 * ***************************************************************************/ #ifndef __ALARM_MGMT_FP_H__ #define __ALARM_MGMT_FP_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 "FPCommon.h" #include "FPDefs.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 initAlarmMgmtFP( void ); void execAlarmMgmt( void ); void activateAlarmNoData( ALARM_ID_T alarm ); void clearAlarmFP( ALARM_ID_T alarm ); void clearAlarmConditionFP( ALARM_ID_T alarm ); BOOL doesAlarmStatusIndicateStop( void ); BOOL isDDFaultAlarmActive( 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 testClearAllAlarms( MESSAGE_T *message ); /**@}*/ #endif