aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Modules
diff options
context:
space:
mode:
authorShlomo Hecht <shlomo@twine-s.com>2018-12-25 21:17:40 +0000
committerShlomo Hecht <shlomo@twine-s.com>2018-12-25 21:17:40 +0000
commit637d6a416fa3ba7784a8ebb2a28fb169d8baa574 (patch)
treef656fcd5cd2f82f3aec3a9b71043a7b7bd80fed7 /Software/Embedded_SW/Embedded/Modules
parentd3657451afb8e4ca8dde67164d65cba853335a71 (diff)
downloadTango-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.c33
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;
}