/************************************************************************** * * Copyright (c) 2020-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 BoostPump.h * * @author (last) Sean Nash * @date (last) 12-Nov-2024 * * @author (original) Sean Nash * @date (original) 12-Nov-2024 * ***************************************************************************/ #ifndef __BOOST_PUMP_H__ #define __BOOST_PUMP_H__ #include "ROCommon.h" /** * @defgroup BoostPump BoostPump * @brief Boost Pump driver unit. Controls the RO and booster pumps. * The diaphragm (RO) pump is manufactured by TBD. * The optional booster pump is manufactured by TBD. * * @addtogroup BoostPump * @{ */ // ********** public definitions ********** #define MAX_BOOST_PUMP_PWM_DUTY_CYCLE 500 ///< Maximum settable boost pump duty cycle magnitude. /// Enumerations of RO boost pumps. typedef enum BoostPumps { P12_PUMP = 0, ///< RO pump P40_PUMP, ///< Optional inlet boost pump NUM_OF_BOOST_PUMPS, ///< Number of boost pumps } RO_BOOST_PUMP_T; // ********** public function prototypes ********** void initBoostPump( void ); void readBoostPumps( void ); BOOL setBoostPumpPWMDutyCycle( RO_BOOST_PUMP_T pumpID, U16 pwm ); U16 getBoostPumpPWMDutyCycle( RO_BOOST_PUMP_T pumpID ); U16 getBoostPumpReadPWMDutyCycle( RO_BOOST_PUMP_T pumpID ); F32 getBoostPumpRPM( RO_BOOST_PUMP_T pumpID ); BOOL testSetBoostPumpPWM( MESSAGE_T *message ); BOOL testBoostPumpPWMOverride( MESSAGE_T *message ); BOOL testBoostPumpRPMOverride( MESSAGE_T *message ); /**@}*/ #endif