aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Modules
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2018-12-26 14:46:56 +0200
committerRoy Ben-Shabat <Roy@Twine-s.com>2018-12-26 14:46:56 +0200
commit894d05d59c0e1612903f1adbf908914f2df67ccc (patch)
tree2567b845651ad185bbf402e2fc060c55c495e0a4 /Software/Embedded_SW/Embedded/Modules
parent49fb5eb2bfa54d344df09b617bb9337af4c47898 (diff)
parent4444bceb7c1465fc852c1fecc6469c32052011f1 (diff)
downloadTango-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.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;
}