aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Modules
diff options
context:
space:
mode:
authorShlomo Hecht <shlomo@twine-s.com>2020-11-26 17:10:36 +0200
committerShlomo Hecht <shlomo@twine-s.com>2020-11-26 17:10:36 +0200
commit36509bce0c02233b16dcdb39de450bcb30fdc1fc (patch)
treed195373257b23082a0c24e2e69c64d252fb3edab /Software/Embedded_SW/Embedded/Modules
parentebe229368ce63bf5a2522fb9b6b3dd248daedc9f (diff)
downloadTango-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')
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c1
-rw-r--r--Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c2
-rw-r--r--Software/Embedded_SW/Embedded/Modules/General/MachineStatus.c2
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_ex.h1
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c30
5 files changed, 34 insertions, 2 deletions
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<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;