aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Modules/Heaters
diff options
context:
space:
mode:
Diffstat (limited to 'Software/Embedded_SW/Embedded/Modules/Heaters')
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_ex.h4
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c22
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;