From fbcbb53bf8a04a5d487bf0a2cc497f69490f4bdb Mon Sep 17 00:00:00 2001 From: Ronen Sberlo Date: Tue, 13 Oct 2020 16:23:31 +0300 Subject: blower alarm fix --- .../Embedded/Modules/Heaters/Heaters_print.c | 49 ++++++++++++---------- 1 file changed, 27 insertions(+), 22 deletions(-) (limited to 'Software') diff --git a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c index 58a3402ee..93548683f 100644 --- a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c +++ b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c @@ -1185,33 +1185,38 @@ uint32_t HeaterBlowerMaxTempCBFunction(uint32_t IfIndex, uint32_t readValue) } // alarm handling - if (HeaterPreviousRead[index] >= HeaterControl[index].sensormaxvalue) + if ((HeaterPreviousRead[index] >= HeaterControl[index].sensormaxvalue) && (HeaterCmd[index].targettemperatue)) { - if (HeaterCmd[index].targettemperatue) + if(OverHeatCounter[index]++ >=Overheat_Count_Limit) { - if(OverHeatCounter[index]++ >=Overheat_Count_Limit) + OverHeatCounter[index] = Overheat_Count_Limit; + if (JobIsActive()&&(HeaterReady[index]==true)) { - OverHeatCounter[index] = Overheat_Count_Limit; - if (JobIsActive()&&(HeaterReady[index]==true)) - { - JobEndReason = JOB_TEMPERATURE_ALARM; - SendJobProgress(0.0,0,false, "Temperature Error"); - AbortJob("Over Temperature Error"); - ReportWithPackageFilter(HeatersFilter, "Temperature Error",__FILE__,__LINE__,index,RpError, 0,0); - return OK; - } + JobEndReason = JOB_TEMPERATURE_ALARM; + SendJobProgress(0.0,0,false, "Temperature Error"); + AbortJob("Over Temperature Error"); + ReportWithPackageFilter(HeatersFilter, "Temperature Error",__FILE__,__LINE__,index,RpError, 0,0); + return OK; + } - if ((HeaterReady[index]==false)&&(HeaterPreviousRead[index]>HeaterCmd[index].targettemperatue)) - { - ReportWithPackageFilter(HeatersFilter,"DC Heater Over the max temperature, cooling off",__FILE__,index,HeaterPreviousRead[index],RpWarning, HeaterCmd[index].targettemperatue,0); - } - else - { - ReportWithPackageFilter(HeatersFilter,"DC Heater Over the max temperature, turned off",__FILE__,index,HeaterPreviousRead[index],RpWarning, HeaterReady[index],0); - ReportWithPackageFilter(HeatersFilter,"Heater over the max temperature",__FILE__,index,OverHeatCounter[index],RpWarning,HeaterControl[index].sensormaxvalue, 0); - AlarmHandlingSetAlarm(HeaterEventType[index], true); - } + if ((HeaterReady[index]==false)&&(HeaterPreviousRead[index]>HeaterCmd[index].targettemperatue)) + { + ReportWithPackageFilter(HeatersFilter,"DC Heater Over the max temperature, cooling off",__FILE__,index,HeaterPreviousRead[index],RpWarning, HeaterCmd[index].targettemperatue,0); } + else + { + ReportWithPackageFilter(HeatersFilter,"DC Heater Over the max temperature, turned off",__FILE__,index,HeaterPreviousRead[index],RpWarning, HeaterReady[index],0); + ReportWithPackageFilter(HeatersFilter,"Heater over the max temperature",__FILE__,index,OverHeatCounter[index],RpWarning,HeaterControl[index].sensormaxvalue, 0); + AlarmHandlingSetAlarm(HeaterEventType[index], true); + } + } + } + else if ((HeaterPreviousRead[index] < HeaterControl[index].sensormaxvalue) && (!HeaterCmd[index].targettemperatue)) + { + if(OverHeatCounter[index]++ >=Overheat_Count_Limit) + { + OverHeatCounter[index] = Overheat_Count_Limit; + AlarmHandlingSetAlarm(HeaterEventType[index], false); } } else if ((HeaterPreviousRead[index]) < (HeaterControl[index].sensorminvalue)) -- cgit v1.3.1