#include "Drivers/Heater/Heater.h" #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" #include "PMR/Diagnostics/EventType.pb-c.h" #define MAX_HEATERS_NUM HARDWARE_PID_CONTROL_TYPE__MixerHeater+1 extern EventType HeaterEventType[HEATER_TYPE_MAX_HEATERS]; extern EventType HeaterUnderEventType[HEATER_TYPE_MAX_HEATERS]; extern EventType HeaterUnderEventType_B[HEATER_TYPE_MAX_HEATERS]; extern uint32_t stub_heating_limit; //uint32_t HeaterCommandRequestMessage(MessageContainer* requestContainer); uint32_t HeaterConfigRequestMessage(HardwarePidControl* request); uint32_t HeaterConfigSetSharedHeatersParams (uint32_t outputproportionalcycletime, uint32_t outputproportionalsinglestep); void HeatingTestSendResonse(uint32_t status, bool last,bool heater1Active,bool heater2Active, int temperature1, int temperature2,int Heater1Percentage,int Heater2Percentage, char* Message); uint32_t HeaterCommandRequestMessage(int HeaterId, bool OnOff, int Temperature); void HeatingTestRequest(MessageContainer* requestContainer); void HeatingTestPollRequest(MessageContainer* requestContainer); bool HeaterCheckReady(void); bool isHeaterReady(uint8_t HeaterId); bool HeaterGetOverTemperatureState(uint8_t HeaterId); void LoadHeaterState(HeaterType HeaterType,HeaterState *HeaterState); uint32_t LoadHeaterSetPoint(HeaterType HeaterType); void Heaters_SetOverHeatTimeOutValues(uint32_t OverHeatTimeout, uint32_t UnderHeatTimeout); void Heaters_SetOperationLimits(int acheatersloweroperationlimit,int acheatersupperoperationlimit,int dcheatersloweroperationlimit,int dcheatersupperoperationlimit); uint32_t DrierHeaterVoltageSetup(void); uint32_t HeatersEnd(void); void HeatersControlStart(void); void HeatersControlStop(void); uint32_t Heaters_Init(void);