diff options
| author | Shlomo Hecht <shlomo@twine-s.com> | 2020-11-26 17:10:36 +0200 |
|---|---|---|
| committer | Shlomo Hecht <shlomo@twine-s.com> | 2020-11-26 17:10:36 +0200 |
| commit | 36509bce0c02233b16dcdb39de450bcb30fdc1fc (patch) | |
| tree | d195373257b23082a0c24e2e69c64d252fb3edab /Software/Embedded_SW/Embedded/Modules/Heaters | |
| parent | ebe229368ce63bf5a2522fb9b6b3dd248daedc9f (diff) | |
| download | Tango-36509bce0c02233b16dcdb39de450bcb30fdc1fc.tar.gz Tango-36509bce0c02233b16dcdb39de450bcb30fdc1fc.zip | |
shinko to a separate task. test heaters prepare process. NOT TESTED
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; |
