/************************************************************************** * * 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 ROPump.h * * @author (last) Sean Nash * @date (last) 04-Jun-2020 * * @author (original) Sean * @date (original) 04-Apr-2020 * ***************************************************************************/ #ifndef __RO_PUMP_H__ #define __RO_PUMP_H__ #include "DGCommon.h" /** * @defgroup ROPump ROPump * @brief RO Pump monitor and controller module. Controls and monitors the RO pump. * * @addtogroup ROPump * @{ */ // ********** public definitions ********** #define MAX_RO_PRESSURE 140 ///< Maximum target RO outlet pressure (in PSI). #define MIN_RO_PRESSURE 100 ///< Minimum target RO outlet pressure (in PSI). // ********** public function prototypes ********** void initROPump( void ); void execROPumpMonitor( void ); void execROPumpController( void ); BOOL setROPumpTargetPressure( U32 roPressure, PUMP_CONTROL_MODE_T mode ); void signalROPumpHardStop( void ); BOOL isReverseOsmosisPumpOn( void ); SELF_TEST_STATUS_T execROPumpTest( void ); U32 getTargetROPumpPressure( void ); F32 getMeasuredROFlowRate( void ); BOOL testSetROPumpDataPublishIntervalOverride( U32 value ); BOOL testResetROPumpDataPublishIntervalOverride( void ); BOOL testSetTargetROPumpPressureOverride( U32 value ); BOOL testResetTargetROPumpPressureOverride( void ); BOOL testSetMeasuredROFlowRateOverride( F32 value ); BOOL testResetMeasuredROFlowRateOverride( void ); /**@}*/ #endif