/**********************************************************************//** * * 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 DrainPump.h * * @date 07-Apr-2020 * @author S. Nash * * @brief DrainPump header file. * **************************************************************************/ #ifndef __DRAIN_PUMP_H__ #define __DRAIN_PUMP_H__ #include "DGCommon.h" /** * @defgroup DrainPump DrainPump * @brief Drain Pump monitor/controller module. Controls and monitors the drain pump. * * @addtogroup DrainPump * @{ */ // ********** public definitions ********** #define MAX_DRAIN_PUMP_RPM_TARGET 3000 ///< Maximum RPM target for drain pump. #define MIN_DRAIN_PUMP_RPM_TARGET 300 ///< Minimum RPM target for drain pump (though zero is allowed if turning pump off). // ********** public function prototypes ********** void initDrainPump( void ); void execDrainPumpMonitor( void ); void execDrainPumpController( void ); BOOL setDrainPumpTargetSpeed( U32 rpm ); void signalDrainPumpHardStop( void ); SELF_TEST_STATUS_T execDrainPumpTest( void ); DATA_GET_PROTOTYPE( U32, getTargetDrainPumpSpeed ); BOOL testSetDrainPumpDataPublishIntervalOverride( U32 value ); BOOL testResetDrainPumpDataPublishIntervalOverride( void ); BOOL testSetTargetDrainPumpSpeedOverride( U32 value ); BOOL testResetTargetDrainPumpSpeedOverride( void ); /**@}*/ #endif