Index: firmware/App/Services/AlarmMgmt.c =================================================================== diff -u -rd7e69554ce0d291ec3f5576367792dd7810a01ea -ra89d6b091874136d75a9bfbdbbc1ff00f42467b3 --- firmware/App/Services/AlarmMgmt.c (.../AlarmMgmt.c) (revision d7e69554ce0d291ec3f5576367792dd7810a01ea) +++ firmware/App/Services/AlarmMgmt.c (.../AlarmMgmt.c) (revision a89d6b091874136d75a9bfbdbbc1ff00f42467b3) @@ -1,14 +1,14 @@ /************************************************************************** * -* Copyright (c) 2019-2022 Diality Inc. - All Rights Reserved. +* Copyright (c) 2020-2022 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.c * * @author (last) Dara Navaei -* @date (last) 18-Nov-2021 +* @date (last) 06-Jul-2022 * * @author (original) Sean * @date (original) 04-Feb-2020 @@ -117,7 +117,7 @@ alarmConditionIsActive[ alarm ] = TRUE; // If alarm is a DG fault, request transition to fault mode - if ( TRUE == ALARM_TABLE[ alarm ].alarmIsDGFault ) + if ( ( TRUE == ALARM_TABLE[ alarm ].alarmIsDGFault ) && ( getCurrentOperationMode() != DG_MODE_SERV ) ) { requestNewOperationMode( DG_MODE_FAUL ); } @@ -273,9 +273,11 @@ // Publish voltages monitor data on interval if ( ++alarmInfoPublicationTimerCounter >= getU32OverrideValue( &alarmInfoPublishInterval ) ) { - U32 safetyActivated = (U32)isSafetyShutdownActivated(); + SAFETY_SHUTDOWN_ACTIVATION_DATA_T data; - broadcastData( MSG_ID_DG_ALARM_INFO, COMM_BUFFER_OUT_CAN_DG_ALARM, (U08*)&safetyActivated, sizeof( U32 ) ); + data.safetyShutdownStatus = (U32)isSafetyShutdownActivated(); + + broadcastData( MSG_ID_DG_ALARM_INFO, COMM_BUFFER_OUT_CAN_DG_ALARM, (U08*)&data, sizeof( SAFETY_SHUTDOWN_ACTIVATION_DATA_T ) ); alarmInfoPublicationTimerCounter = 0; } } @@ -401,9 +403,11 @@ { if ( TRUE == alarmIsActive[ a ] ) { - U32 al = (U32)a; + ALARM_NAME_DATA_T data; - broadcastData( MSG_ID_ALARM_CLEARED, COMM_BUFFER_OUT_CAN_DG_ALARM, (U08*)&al, sizeof( U32 ) ); + data.alarmName = (U32)a; + + broadcastData( MSG_ID_ALARM_CLEARED, COMM_BUFFER_OUT_CAN_DG_ALARM, (U08*)&data, sizeof( ALARM_NAME_DATA_T ) ); alarmIsActive[ a ] = FALSE; } }