diff options
Diffstat (limited to 'Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c')
| -rw-r--r-- | Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c index 6345ff201..c3d163c24 100644 --- a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c +++ b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c @@ -1000,6 +1000,36 @@ bool HeaterCheckReady(void) } return true; } +int HeaterPrepareFailureCheckCounter = 0; +uint32_t HeaterPrepareFailureCheckTemperatures[HEATER_TYPE_MAX_HEATERS] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; //A/C Heaters Cycle time in milliseconds - one for all heaters + +void HeaterPrepareFailureCheck(void) +{ + int i; + if (GetHeatersPrepareWaiting() == false) + { + HeaterPrepareFailureCheckCounter = 0; + return; + } + if ((HeaterPrepareFailureCheckCounter>=300)&&(HeaterPrepareFailureCheckCounter%60 == 0)) + { + for (i = 0; i<HEATER_TYPE_MAX_HEATERS; i++) + { + if(HeaterReady[i] == false) + { + if (abs (HeaterPrepareFailureCheckTemperatures[i] - HeaterPreviousRead[i])<200) // no temperature move in the last 5 minutes + { + ReportWithPackageFilter(HeatersFilter,"HeaterPrepareFailureCheck",__FILE__,i,HeaterPrepareFailureCheckTemperatures[i],RpWarning,HeaterPreviousRead[i], 0); + //PrepareReady(Module_Heaters,ModuleFail); + //return; + } + } + HeaterPrepareFailureCheckTemperatures[i] = HeaterPreviousRead[i]; + } + //test temp progress + } + HeaterPrepareFailureCheckCounter++; +} void HeaterPrepareReady(void) { int i; |
