From 6707b4e66f619eb7906fe160bfe206c7266066ba Mon Sep 17 00:00:00 2001 From: Shlomo Hecht Date: Mon, 13 Aug 2018 09:43:44 +0300 Subject: turn off/on AC heaters on max temp together --- .../Embedded/Modules/Heaters/Heaters_print.c | 37 +++++++++++++++++----- 1 file changed, 29 insertions(+), 8 deletions(-) (limited to 'Software/Embedded_SW/Embedded/Modules') diff --git a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c index 861c77e3b..2450b32e2 100644 --- a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c +++ b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c @@ -348,9 +348,18 @@ bool HeaterGetOverTemperatureState(uint8_t HeaterId) if (HeaterId > MAX_HEATERS_NUM) return false; return HeaterMaxTempFlag[HeaterId]; } +uint32_t MainPT100Read = 0,SecondaryPT100Read = 0; +#ifndef max + #define max(a,b) ((a) > (b) ? (a) : (b)) +#endif +#ifndef min + #define min(a,b) ((a) < (b) ? (a) : (b)) +#endif uint32_t HeaterMaxTempCBFunction(uint32_t IfIndex, uint32_t readValue) { int index=MAX_HEATERS_NUM; + uint32_t MaxreadValue = max (MainPT100Read,SecondaryPT100Read); + uint32_t MinreadValue = min (MainPT100Read,SecondaryPT100Read); /*char str[100]; uint8_t len = 0;*/ if (IfIndex>>8 != IfTypeHeaters) @@ -364,26 +373,38 @@ uint32_t HeaterMaxTempCBFunction(uint32_t IfIndex, uint32_t readValue) LOG_ERROR (IfIndex, "Wrong Interface "); return 0xFFFFFFFF; } - if ((readValue/100) >= HeaterControl[index].sensormaxvalue) + if (index == HARDWARE_PID_CONTROL_TYPE__DryerHeaterMain) + { + MainPT100Read = readValue; + } + if (index == HARDWARE_PID_CONTROL_TYPE__DryerHeaterSecondary) + { + SecondaryPT100Read = readValue; + } + if ((MaxreadValue/100) >= HeaterControl[index].sensormaxvalue) { if (HeaterMaxTempFlag[index] == false) { - LOG_ERROR (readValue, "Heater Over the max temperature, turned off"); + LOG_ERROR (MaxreadValue/100, "Heater Over the max temperature, turned off"); } - DeActivateHeater(index); - HeaterMaxTempFlag[index] = true; + DeActivateHeater(HARDWARE_PID_CONTROL_TYPE__DryerHeaterMain); + HeaterMaxTempFlag[HARDWARE_PID_CONTROL_TYPE__DryerHeaterMain] = true; + DeActivateHeater(HARDWARE_PID_CONTROL_TYPE__DryerHeaterSecondary); + HeaterMaxTempFlag[HARDWARE_PID_CONTROL_TYPE__DryerHeaterSecondary] = true; return OK; } - if ((readValue/100) <= (HeaterControl[index].sensormaxvalue-HeaterControl[index].sensorminvalue)) + if ((MinreadValue/100) <= (HeaterControl[index].sensormaxvalue-HeaterControl[index].sensorminvalue)) { if (HeaterControl[index].sensorminvalue > 0) { if (HeaterMaxTempFlag[index] == true) { - ActivateHeater(index); - LOG_ERROR ((readValue/100), "Heater Cooled Off max temperature, turned on"); + ActivateHeater(HARDWARE_PID_CONTROL_TYPE__DryerHeaterMain); + ActivateHeater(HARDWARE_PID_CONTROL_TYPE__DryerHeaterSecondary); + LOG_ERROR ((MinreadValue/100), "Heater Cooled Off max temperature, turned on"); } - HeaterMaxTempFlag[index] = false; + HeaterMaxTempFlag[HARDWARE_PID_CONTROL_TYPE__DryerHeaterMain] = false; + HeaterMaxTempFlag[HARDWARE_PID_CONTROL_TYPE__DryerHeaterSecondary] = false; } return OK; } -- cgit v1.3.1 From acde45615085df2a8ca4286f55f42ea16aee1943 Mon Sep 17 00:00:00 2001 From: Shlomo Hecht Date: Mon, 13 Aug 2018 09:46:03 +0300 Subject: pressure in bars --- Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c | 2 +- Software/Embedded_SW/Embedded/Modules/IDS/IDS_init.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'Software/Embedded_SW/Embedded/Modules') diff --git a/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c b/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c index 56e2d65bb..a2031a2e2 100644 --- a/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c +++ b/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c @@ -256,7 +256,7 @@ void Diagnostic100msecCollection(void) for (i=0;i