diff options
| author | Shlomo Hecht <shlomo@twine-s.com> | 2019-10-31 10:16:10 +0200 |
|---|---|---|
| committer | Shlomo Hecht <shlomo@twine-s.com> | 2019-10-31 10:16:10 +0200 |
| commit | cd18fb27a2499072f18cb0320ddeb85a0500a93e (patch) | |
| tree | b1bf1984813bc70ea4784e0e956497fd4fd35805 /Software/Embedded_SW/Embedded/Modules/General/Safety.c | |
| parent | 4aca8247565596d6c12ba73242d599dc42887625 (diff) | |
| download | Tango-cd18fb27a2499072f18cb0320ddeb85a0500a93e.tar.gz Tango-cd18fb27a2499072f18cb0320ddeb85a0500a93e.zip | |
version 1.4.6.0 - going forward
Diffstat (limited to 'Software/Embedded_SW/Embedded/Modules/General/Safety.c')
| -rw-r--r-- | Software/Embedded_SW/Embedded/Modules/General/Safety.c | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/Software/Embedded_SW/Embedded/Modules/General/Safety.c b/Software/Embedded_SW/Embedded/Modules/General/Safety.c index a5a586e07..6a0b9a67b 100644 --- a/Software/Embedded_SW/Embedded/Modules/General/Safety.c +++ b/Software/Embedded_SW/Embedded/Modules/General/Safety.c @@ -33,7 +33,7 @@ bool AirFilterAlarmState = false; bool WasteOverflowAlarmState = false; void Safety_Init(void) { - SafetyControlId = AddControlCallback( Safety_Main_State, eOneSecond, TemplateDataReadCBFunction,0,0, 0 ); + SafetyControlId = AddControlCallback("Safety", Safety_Main_State, eOneSecond, TemplateDataReadCBFunction,0,0, 0 ); //return; } uint32_t Safety_Main_State(uint32_t IfIndex, uint32_t BusyFlag) @@ -110,6 +110,10 @@ uint32_t Safety_Main_State(uint32_t IfIndex, uint32_t BusyFlag) //report dispenser over pressure AlarmHandlingSetAlarm(EVENT_TYPE__DISPENSER_1_OVERPRESSURE+Disp_i, true); DispenserAlarm[Disp_i] = EVENT_TYPE__DISPENSER_1_OVERPRESSURE+Disp_i; + if (DispenserAlarm[Disp_i] == false) + { + IDS_Dispenser_Alarm_On(Disp_i); + } DispenserOverPressure[Disp_i] = true; Report("Dispenser Safety - over pressure", __FILE__,__LINE__,Disp_i, RpFatalError, (int)(1000*GetDispenserPressure(Disp_i)), 0); } @@ -117,6 +121,10 @@ uint32_t Safety_Main_State(uint32_t IfIndex, uint32_t BusyFlag) { AlarmHandlingSetAlarm(EVENT_TYPE__DISPENSER_1_UPPER_HARD_LIMIT+Disp_i, true); DispenserAlarm[Disp_i] = EVENT_TYPE__DISPENSER_1_UPPER_HARD_LIMIT+Disp_i; + if (DispenserAlarm[Disp_i] == false) + { + IDS_Dispenser_Alarm_On(Disp_i); + } DispenserOverPressure[Disp_i] = true; Report("Dispenser upper hard limit", __FILE__,__LINE__,Disp_i, RpFatalError, Get_Notification_Disp_UP(Disp_i), 0); } @@ -124,12 +132,16 @@ uint32_t Safety_Main_State(uint32_t IfIndex, uint32_t BusyFlag) { AlarmHandlingSetAlarm(EVENT_TYPE__DISPENSER_1_LOWER_HARD_LIMIT+Disp_i, true); DispenserAlarm[Disp_i] = EVENT_TYPE__DISPENSER_1_LOWER_HARD_LIMIT+Disp_i; + if (DispenserAlarm[Disp_i] == false) + { + IDS_Dispenser_Alarm_On(Disp_i); + } DispenserOverPressure[Disp_i] = true; Report("Dispenser lower hard limit", __FILE__,__LINE__,Disp_i, RpFatalError, Get_Notification_Disp_Down(Disp_i), 0); } else { - Report("Dispenser unknown safety alarm", __FILE__,__LINE__,Disp_i, RpFatalError, 1-DispenserBypass, 0); + Report("Dispenser unknown safety alarm", __FILE__,__LINE__,Disp_i, RpFatalError,Get_Notification_Disp_Full(Disp_i), 0); } } @@ -144,8 +156,11 @@ uint32_t Safety_Main_State(uint32_t IfIndex, uint32_t BusyFlag) { if (Check_Disp_Safety_Stop_Indication(Disp_i) == false) { - //report dispenser over pressure AlarmHandlingSetAlarm(DispenserAlarm[Disp_i], false); + if (DispenserAlarm[Disp_i] == true) + { + IDS_Dispenser_Alarm_Off(Disp_i); + } DispenserAlarm[Disp_i] = 0; DispenserOverPressure[Disp_i] = false; } |
