diff options
| author | Roy Ben-Shabat <Roy@Twine-s.com> | 2018-12-26 14:46:56 +0200 |
|---|---|---|
| committer | Roy Ben-Shabat <Roy@Twine-s.com> | 2018-12-26 14:46:56 +0200 |
| commit | 894d05d59c0e1612903f1adbf908914f2df67ccc (patch) | |
| tree | 2567b845651ad185bbf402e2fc060c55c495e0a4 /Software/Embedded_SW/Embedded/Modules | |
| parent | 49fb5eb2bfa54d344df09b617bb9337af4c47898 (diff) | |
| parent | 4444bceb7c1465fc852c1fecc6469c32052011f1 (diff) | |
| download | Tango-894d05d59c0e1612903f1adbf908914f2df67ccc.tar.gz Tango-894d05d59c0e1612903f1adbf908914f2df67ccc.zip | |
Merge branch 'master' of https://twinetfs.visualstudio.com/_git/Tango
Diffstat (limited to 'Software/Embedded_SW/Embedded/Modules')
| -rw-r--r-- | Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c | 33 |
1 files changed, 18 insertions, 15 deletions
diff --git a/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c b/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c index 1f7c14712..c54976195 100644 --- a/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c +++ b/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c @@ -464,24 +464,27 @@ void AlarmHandlingSetAlarm(uint32_t AlarmId, bool value) { if (AlarmItem[Alarm_i].EventType == AlarmId) { - AlarmState[Alarm_i].Status = value; - if (value == true) + if (AlarmState[Alarm_i].Status != value) { - AlarmHandlingConsequentActions(Alarm_i, AlarmItem[Alarm_i].Severity); - // report the alarm! - AlarmState[Alarm_i].EventPtr = my_malloc (sizeof(Event)); - if (AlarmState[Alarm_i].EventPtr) + AlarmState[Alarm_i].Status = value; + if (value == true) { - event__init(AlarmState[Alarm_i].EventPtr); - AlarmState[Alarm_i].EventPtr->has_type = true; - AlarmState[Alarm_i].EventPtr->type = AlarmItem[Alarm_i].EventType; - AlarmState[Alarm_i].EventPtr->message = AlarmItem[Alarm_i].EventName; + // no need to call consequent actionsAlarmHandlingConsequentActions(Alarm_i, AlarmItem[Alarm_i].Severity); + // report the alarm! + AlarmState[Alarm_i].EventPtr = my_malloc (sizeof(Event)); + if (AlarmState[Alarm_i].EventPtr) + { + event__init(AlarmState[Alarm_i].EventPtr); + AlarmState[Alarm_i].EventPtr->has_type = true; + AlarmState[Alarm_i].EventPtr->type = AlarmItem[Alarm_i].EventType; + AlarmState[Alarm_i].EventPtr->message = AlarmItem[Alarm_i].EventName; + } + } + else + { + if (AlarmState[Alarm_i].EventPtr) + my_free(AlarmState[Alarm_i].EventPtr); } - } - else - { - if (AlarmState[Alarm_i].EventPtr) - my_free(AlarmState[Alarm_i].EventPtr); } break; } |
