diff options
Diffstat (limited to 'Software/Embedded_SW/Embedded/Modules/Heaters')
| -rw-r--r-- | Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_ex.h | 4 | ||||
| -rw-r--r-- | Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c | 22 |
2 files changed, 26 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 74a8efeb3..1c1f45434 100644 --- a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_ex.h +++ b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_ex.h @@ -1,5 +1,7 @@ #include "PMR/common/MessageContainer.pb-c.h" #include "PMR/Hardware/HardwarePidControl.pb-c.h" +#include "PMR/Diagnostics/HeaterType.pb-c.h" +#include "PMR/Diagnostics/HeaterState.pb-c.h" #define MAX_HEATERS_NUM HARDWARE_PID_CONTROL_TYPE__MixerHeater+1 @@ -18,5 +20,7 @@ void HeatingStopReporting(void); bool HeaterGetOverTemperatureState(uint8_t HeaterId); +void LoadHeaterState(HeaterType HeaterType,HeaterState *HeaterState); + uint32_t HeatersEnd(void); uint32_t Heaters_Init(void); diff --git a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c index ace2bf683..61bc04ba4 100644 --- a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c +++ b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c @@ -10,6 +10,8 @@ #include "PMR/Hardware/HardwarePidControlType.pb-c.h" #include "PMR/Hardware/HardwarePidControl.pb-c.h" +#include "PMR/Diagnostics/HeaterType.pb-c.h" +#include "PMR/Diagnostics/HeaterState.pb-c.h" #include "PMR/common/MessageContainer.pb-c.h" #include "../control/control.h" @@ -120,6 +122,26 @@ void HeatersControlStart(void) HeatersStartControlTimer(); } } +void LoadHeaterState(HeaterType HeaterType,HeaterState *HeaterState) +{ + HardwarePidControlType HeaterTypeToControlId[HEATER_TYPE__HeaterZone6] = {HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ1,HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ2,HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ3,HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ4,HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ5,HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ6}; + int HeaterId = HeaterTypeToControlId[HeaterType]; + + HeaterState->has_heatertype = true; + HeaterState->heatertype = HeaterType; + HeaterState->has_setpoint = true; + HeaterState->setpoint = HeaterCmd[HeaterId].targettemperatue/100; + HeaterState->has_currentvalue = true; + HeaterState->currentvalue = TemperatureSensorRead(HeaterId2PT100Id[HeaterId])/100; + HeaterState->has_isactive = true; + HeaterState->isactive = GetHeaterState(HeaterId); + HeaterState->has_isrampingup = true; + HeaterState->isrampingup = DCInitialHeating[HeaterId]; + HeaterState->has_isinsetpoint = true; + HeaterState->isinsetpoint = HeaterReady[HeaterId]; + + return; +} uint32_t HeatersSingleHeaterEnd(HardwarePidControlType HeaterId) { int status = OK; |
