From 36509bce0c02233b16dcdb39de450bcb30fdc1fc Mon Sep 17 00:00:00 2001 From: Shlomo Hecht Date: Thu, 26 Nov 2020 17:10:36 +0200 Subject: shinko to a separate task. test heaters prepare process. NOT TESTED --- .../Embedded/Modules/Control/MillisecTask.c | 1 + .../Embedded/Modules/General/GeneralHardware.c | 2 +- .../Embedded/Modules/General/MachineStatus.c | 2 +- .../Embedded/Modules/Heaters/Heaters_ex.h | 1 + .../Embedded/Modules/Heaters/Heaters_print.c | 30 ++++++++++++++++++++++ 5 files changed, 34 insertions(+), 2 deletions(-) (limited to 'Software/Embedded_SW/Embedded/Modules') diff --git a/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c b/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c index 3de362af9..d366e8832 100644 --- a/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c +++ b/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c @@ -785,6 +785,7 @@ uint32_t MillisecLowLoop(uint32_t tick) PressureCalc[Disp_i] = MillisecCalculatePressures(Disp_i); } } + HeaterPrepareFailureCheck(); if (WHS_Type == WHS_TYPE_NEW) { //Trigger_WHS_PT100_Read_All(); diff --git a/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c b/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c index 6c4293f6f..cdc6afa50 100644 --- a/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c +++ b/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c @@ -450,7 +450,7 @@ uint32_t HWConfiguration(UploadHardwareConfigurationRequest* UploadRequest) { Report("HWConfigurationInit repeated failure",__FILE__,__LINE__,(int)InitFailures,RpWarning,(int)EEPROM_INIT_FAILURE_COUNTER,0); AlarmHandlingSetAlarm (EVENT_TYPE__POWER_UP_BIT_FAILURE,ON); - return ERROR; + //return ERROR; } else { diff --git a/Software/Embedded_SW/Embedded/Modules/General/MachineStatus.c b/Software/Embedded_SW/Embedded/Modules/General/MachineStatus.c index bf68b64f0..e6c596d15 100644 --- a/Software/Embedded_SW/Embedded/Modules/General/MachineStatus.c +++ b/Software/Embedded_SW/Embedded/Modules/General/MachineStatus.c @@ -313,8 +313,8 @@ uint32_t CartridgeStateUpdate(CartridgeSlot Slot, int32_t index, CartridgeState SendChars((char*)container_buffer, container_size); //MessageContainer responseContainer; - my_free(response.status); my_free(response.status->cartridgesstatuses); + my_free(response.status); return status; } 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