/************************************************************************** * * Copyright (c) 2024-2024 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) Sean Nash * @date (last) 20-Dec-2024 * * @author (original) Sean Nash * @date (original) 20-Dec-2024 * ***************************************************************************/ #ifndef _HEATERS_H_ #define _HEATERS_H_ #include "ROCommon.h" /** * @defgroup Heaters Heaters * @brief Heater driver module. Controls the heater. * * @addtogroup Heaters * @{ */ // ********** Public definitions ********** /// Heaters data structure. typedef struct { F32 heaterP24DC; ///< P24 duty cycle F32 heaterP24TargetTemp; ///< P24 target temperature U32 heaterP24State; ///< P24 state U32 heaterP24ControlCounter; ///< P24 control interval count } HEATERS_DATA_T; // ********** Public function prototypes ********** void initHeater( void ); BOOL setHeaterTargetTemperature( F32 targetTemperature ); void startHeater( void ); F32 getHeaterTargetTemperature( void ); BOOL isHeaterOn( void ); void stopHeater( void ); void execHeaterControl( void ); void execHeaterMonitor( void ); BOOL testHeatersDataPublishIntervalOverride( MESSAGE_T *message ); BOOL testHeaterDutyCycleOverride( MESSAGE_T *message ); BOOL testHeaterTargetTemperatureOverride( MESSAGE_T *message ); BOOL testHeaterStartStopOverride( MESSAGE_T *message ); /**@}*/ #endif