From 7665c5bd2de71fa724809cede3bcb408a78250bf Mon Sep 17 00:00:00 2001 From: Shlomo Hecht Date: Mon, 3 Dec 2018 09:54:52 +0200 Subject: improve alarm handling reporting --- .../Embedded/Modules/AlarmHandling/AlarmHandling.c | 25 ++++++++++------------ 1 file changed, 11 insertions(+), 14 deletions(-) (limited to 'Software/Embedded_SW/Embedded/Modules') diff --git a/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c b/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c index d1a7b0145..2d0e5a4c7 100644 --- a/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c +++ b/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c @@ -261,6 +261,8 @@ JobEndReasonEnum getEndReason(uint32_t AlarmId) return JOB_OTHER_ALARM; } } +char Alarmstr[150]; + uint32_t AlarmHandlingConsequentActions(uint32_t AlarmId, DebugLogCategory Severity) { switch (Severity) @@ -269,25 +271,20 @@ uint32_t AlarmHandlingConsequentActions(uint32_t AlarmId, DebugLogCategory Sever //raise flag fr next job break; + case DEBUG_LOG_CATEGORY__Critical: + watchdogCriticalAlarm = true; + //intentional fall through case DEBUG_LOG_CATEGORY__Error: if (JobIsActive()) { + memset(Alarmstr,0,sizeof(Alarmstr)); + usnprintf(Alarmstr, 100, "Alarm set on Alarm Id, Value",(int)AlarmId,(int)AlarmItem[AlarmId].AlarmValue); + strcat (Alarmstr, AlarmItem[AlarmId].EventName ); JobEndReason = getEndReason(AlarmId); - AbortJob(AlarmItem[AlarmId].EventName); - Report(AlarmItem[AlarmId].EventName, __FILE__,__LINE__,AlarmId, RpMessage, DEBUG_LOG_CATEGORY__Error, 0); + AbortJob(Alarmstr); + Report("Alarm set on - stop job", __FILE__,__LINE__,AlarmItem[AlarmId].AlarmValue, RpMessage, AlarmItem[AlarmId].DebounceCounter, 0); + Report(AlarmItem[AlarmId].EventName, __FILE__,__LINE__,AlarmId, RpMessage, Severity, 0); } -//Stop Job - break; - case DEBUG_LOG_CATEGORY__Critical: - if (JobIsActive()) - { - JobEndReason = JOB_OTHER_ALARM; - AbortJob(AlarmItem[AlarmId].EventName); - Report(AlarmItem[AlarmId].EventName, __FILE__,__LINE__,AlarmId, RpMessage, DEBUG_LOG_CATEGORY__Critical, 0); - } - watchdogCriticalAlarm = true; - //stop job - //turn machine off break; case DEBUG_LOG_CATEGORY__Debug: case DEBUG_LOG_CATEGORY__Info: -- cgit v1.3.1