Index: firmware/App/Controllers/Heaters.h =================================================================== diff -u -rf656b17f3d8d93b4fca49c9725e096e7eb55acc7 -ra89d6b091874136d75a9bfbdbbc1ff00f42467b3 --- firmware/App/Controllers/Heaters.h (.../Heaters.h) (revision f656b17f3d8d93b4fca49c9725e096e7eb55acc7) +++ firmware/App/Controllers/Heaters.h (.../Heaters.h) (revision a89d6b091874136d75a9bfbdbbc1ff00f42467b3) @@ -1,17 +1,17 @@ /************************************************************************** * -* Copyright (c) 2019-2020 Diality Inc. - All Rights Reserved. +* Copyright (c) 2020-2022 Diality Inc. - All Rights Reserved. * * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN * WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. * -* @file Heaters.h +* @file Heaters.h * -* @author (last) Quang Nguyen -* @date (last) 21-Aug-2020 +* @author (last) Dara Navaei +* @date (last) 21-Jun-2022 * -* @author (original) Dara Navaei -* @date (original) 23-Apr-2020 +* @author (original) Dara Navaei +* @date (original) 23-Apr-2020 * ***************************************************************************/ @@ -34,53 +34,53 @@ // ********** Public definitions ********** -#pragma pack(push,1) - -/// Target temperature data structure. -typedef struct +/// Name of DG heaters +typedef enum Heaters { - F32 targetPrimaryHeaterTemp; ///< Primary heater set temperature target - F32 targetTrimmerHeaterTemp; ///< Trimmer heater set temperature target -} TARGET_TEMPS_PAYLOAD_T; + DG_PRIMARY_HEATER = 0, ///< DG primary heater + DG_TRIMMER_HEATER, ///< DG trimmer heater + NUM_OF_DG_HEATERS, ///< Number of the heaters +} DG_HEATERS_T; -/// Trimmer heater command data structure. +/// Trimmer heater command data structure typedef struct { - BOOL startHeater; ///< Flag indicates start or stop heater - F32 targetTemp; ///< Target temperature for heater + BOOL startHeater; ///< Flag indicates start or stop heater + F32 targetTemp; ///< Target temperature for heater // TODO remove and its counterpart in HD } TRIMMER_HEATER_CMD_T; -/// Heaters data struct. +/// Heaters data structure. typedef struct { F32 mainPrimayHeaterDC; ///< Main primary heater DC F32 smallPrimaryHeaterDC; ///< Small primary heater DC F32 trimmerHeaterDC; ///< Trimmer heater DC - F32 primaryTargetTemp; ///< Primary heaters target temperature + F32 primaryTargetTemp; ///< Primary heater target temperature F32 trimmerTargetTemp; ///< Trimmer heater target temperature + U32 primaryHeaterState; ///< Primary heater state + U32 trimmerHeaterState; ///< Trimmer heater state + F32 primaryEfficiency; ///< Primary heater efficiency + F32 primaryCalcTargetTemp; ///< Primary heater calculated target temperature + F32 trimmerCalcCurrentTemp; ///< Trimmer heater calculated current temperature } HEATERS_DATA_T; -#pragma pack(pop) - // ********** Public function prototypes ********** void initHeaters( void ); -void setPrimaryHeaterTargetTemperature( F32 targetTemp ); -void setTrimmerHeaterTargetTemperature( F32 targetTemp ); +BOOL setHeaterTargetTemperature( DG_HEATERS_T heater, F32 targetTemperature ); -BOOL startPrimaryHeater( void ); -BOOL startTrimmerHeater( void ); +BOOL startHeater( DG_HEATERS_T heater ); -void stopPrimaryHeater( void ); -void stopTrimmerHeater( void ); +F32 getHeaterTargetTemperature( DG_HEATERS_T heater ); -void handleTrimmerHeaterCmd( TRIMMER_HEATER_CMD_T *heaterCmdPtr ); // handle trimmer heater control command from HD +void stopHeater( DG_HEATERS_T heater ); +void execHeaters( void ); + void execHeatersMonitor( void ); -void execPrimaryHeaters( void ); -void execTrimmerHeater( void ); +void resetHeatersEfficiency( void ); BOOL testSetHeatersPublishIntervalOverride( U32 value ); BOOL testResetHeatersPublishIntervalOverride( void );