Index: firmware/App/Services/AlarmMgmt.c =================================================================== diff -u -r9826fc85bd1497ec617ae0e825f78b91972de2b3 -re2e31bba8ccc7b60ba6036377799c71f9ceee63f --- firmware/App/Services/AlarmMgmt.c (.../AlarmMgmt.c) (revision 9826fc85bd1497ec617ae0e825f78b91972de2b3) +++ firmware/App/Services/AlarmMgmt.c (.../AlarmMgmt.c) (revision e2e31bba8ccc7b60ba6036377799c71f9ceee63f) @@ -7,8 +7,8 @@ * * @file AlarmMgmt.c * -* @author (last) Dara Navaei -* @date (last) 06-Jul-2022 +* @author (last) Dong Nguyen +* @date (last) 27-Sep-2022 * * @author (original) Sean * @date (original) 04-Feb-2020 @@ -18,14 +18,14 @@ #define __ALARM_MGMT_C__ #include "AlarmMgmt.h" +#include "CPLD.h" #include "OperationModes.h" #include "PersistentAlarm.h" #include "SafetyShutdown.h" #include "SystemComm.h" #include "SystemCommMessages.h" #include "TaskGeneral.h" #include "Timers.h" -#include "CPLD.h" /** * @addtogroup AlarmManagement @@ -185,7 +185,7 @@ * @return none *************************************************************************/ void activateAlarm2Data( ALARM_ID_T alarm, ALARM_DATA_T alarmData1, ALARM_DATA_T alarmData2 ) -{ +{ // broadcast alarm and data if alarm not already active if ( ( FALSE == alarmIsActive[ alarm ] ) && ( TRUE == isHDCommunicating() ) ) { @@ -286,6 +286,7 @@ data.safetyShutdownStatus = (U32)isSafetyShutdownActivated(); broadcastData( MSG_ID_DG_ALARM_INFO, COMM_BUFFER_OUT_CAN_DG_ALARM, (U08*)&data, sizeof( SAFETY_SHUTDOWN_ACTIVATION_DATA_T ) ); + broadcastCPLDStatus(); alarmInfoPublicationTimerCounter = 0; } } @@ -327,11 +328,11 @@ // Flash Fault LED if ( alarmLEDTimer <= ALARM_DG_FAULT_LED_ON_INTERVAL ) { - setCPLDFaultLED( PIN_SIGNAL_HIGH ); // Set Fault LED + setCPLDFaultLED( PIN_SIGNAL_HIGH, TRUE ); // Set Fault LED } else if ( alarmLEDTimer <= ALARM_DG_FAULT_LED_OFF_INTERVAL ) { - setCPLDFaultLED( PIN_SIGNAL_LOW ); // Clear Fault LED + setCPLDFaultLED( PIN_SIGNAL_LOW, TRUE ); // Clear Fault LED } else { @@ -341,16 +342,17 @@ // If HD COM has failed, sound alarm if ( FALSE == isHDCommunicating() ) { - setCPLDFaultAudio( PIN_SIGNAL_HIGH ); // Set Fault Audio + setCPLDFaultAudio( PIN_SIGNAL_HIGH ); // Set Fault Audio } } else { // No FAULTs - setCPLDFaultLED( PIN_SIGNAL_LOW ); // Clear Fault LED - setCPLDFaultAudio( PIN_SIGNAL_LOW ); // Clear Fault Audio + setCPLDFaultLED( PIN_SIGNAL_LOW, FALSE ); // Clear Fault LED + setCPLDFaultAudio( PIN_SIGNAL_LOW ); // Clear Fault Audio } } + /************************************************************************* * TEST SUPPORT FUNCTIONS