/************************************************************************** * * Copyright (c) 2019-2020 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 * * @author (last) Quang Nguyen * @date (last) 21-Aug-2020 * * @author (original) Dara Navaei * @date (original) 23-Apr-2020 * ***************************************************************************/ #ifndef _HEATERS_H_ #define _HEATERS_H_ #include "DGCommon.h" /** * @defgroup Heaters Heaters * @brief Heaters driver modules. Controls the primary and trimmer heaters. * The primary heaters are manufactured by Heatron, PN: UEL14EXK2A-Rev D with * fluid operating temperature in between 5 degrees C and 95 degrees C. * The trimmer heater is manufactured by Heatron, PN: UEL5EXK1A-Rev D with * fluid operating temperature in between 5 degrees C and 95 degrees C. * * @addtogroup Heaters * @{ */ #pragma pack(push,1) /// Target temperature data structure. typedef struct { F32 targetPrimaryHeaterTemp; ///< Primary heater set temperature target F32 targetTrimmerHeaterTemp; ///< Trimmer heater set temperature target } TARGET_TEMPS_PAYLOAD_T; /// Trimmer heater command data structure. typedef struct { BOOL startHeater; ///< Flag indicates start or stop heater F32 targetTemp; ///< Target temperature for heater } TRIMMER_HEATER_CMD_T; /// Heaters data struct. typedef struct { F32 mainPrimayHeaterDC; ///< Main primary heater DC F32 smallPrimaryHeaterDC; ///< Small primary heater DC F32 trimmerHeaterDC; ///< Trimmer heater DC } HEATERS_DATA_T; #pragma pack(pop) // ********** public function prototypes ********** void initHeaters( void ); void setPrimaryHeaterTargetTemperature( F32 targetTemp ); void setTrimmerHeaterTargetTemperature( F32 targetTemp ); BOOL startPrimaryHeater( void ); BOOL startTrimmerHeater( void ); void stopPrimaryHeater( void ); void stopTrimmerHeater( void ); void handleTrimmerHeaterCmd( TRIMMER_HEATER_CMD_T *heaterCmdPtr ); // handle trimmer heater control command from HD void execHeatersMonitor( void ); SELF_TEST_STATUS_T execHeatersSelfTest( void ); void execPrimaryHeaters( void ); void execTrimmerHeater( void ); BOOL testSetHeatersPublishIntervalOverride( U32 value ); BOOL testResetHeatersPublishIntervalOverride( void ); /**@}*/ #endif