diff options
Diffstat (limited to 'Software/Embedded_SW/Embedded/Modules/Heaters')
| -rw-r--r-- | Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_ex.h | 1 | ||||
| -rw-r--r-- | Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c | 30 |
2 files changed, 31 insertions, 0 deletions
diff --git a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_ex.h b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_ex.h index b5242bae2..cac543647 100644 --- a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_ex.h +++ b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_ex.h @@ -27,6 +27,7 @@ void SetHeaterStateRequestFunc(MessageContainer* requestContainer); bool HeaterCheckReady(void); bool isHeaterReady(uint8_t HeaterId); +void HeaterPrepareFailureCheck(void); bool HeaterGetOverTemperatureState(uint8_t HeaterId); void Set_Voltage_Hysteresis (double Hysteresis); 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; |
