diff options
| author | Shlomo Hecht <shlomo@twine-s.com> | 2018-12-25 21:17:40 +0000 |
|---|---|---|
| committer | Shlomo Hecht <shlomo@twine-s.com> | 2018-12-25 21:17:40 +0000 |
| commit | 637d6a416fa3ba7784a8ebb2a28fb169d8baa574 (patch) | |
| tree | f656fcd5cd2f82f3aec3a9b71043a7b7bd80fed7 /Software/Embedded_SW/Embedded/Modules | |
| parent | d3657451afb8e4ca8dde67164d65cba853335a71 (diff) | |
| download | Tango-637d6a416fa3ba7784a8ebb2a28fb169d8baa574.tar.gz Tango-637d6a416fa3ba7784a8ebb2a28fb169d8baa574.zip | |
Updated AlarmHandling.c - on job end (thread break, tension) remove consequent actions call, prevent repeated call
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; } |
