Index: firmware/App/Controllers/ROPump.h =================================================================== diff -u -r2ac0ed667ccf0d77a65905157af9badbd19007cd -r17a448770daa138ebeb6ce79974966e650828f25 --- firmware/App/Controllers/ROPump.h (.../ROPump.h) (revision 2ac0ed667ccf0d77a65905157af9badbd19007cd) +++ firmware/App/Controllers/ROPump.h (.../ROPump.h) (revision 17a448770daa138ebeb6ce79974966e650828f25) @@ -18,9 +18,10 @@ #ifndef __RO_PUMP_H__ #define __RO_PUMP_H__ -#include "ROCommon.h" -#include "BoostPump.h" +#include "FluidPump.h" +#include "FPCommon.h" + /** * @defgroup ROPump ROPump * @brief RO Pump controller unit. Controls and monitors the RO pump. @@ -32,28 +33,43 @@ // ********** public definitions ********** +#define MAX_RO_FLOWRATE_LPM 1.5F ///< Maximum target RO flow rate in L/min. +#define MIN_RO_FLOWRATE_LPM 0.0F ///< Minimum target RO flow rate in L/min. +#define MAX_RO_PRESSURE_PSI 120.0F ///< Maximum allowed pressure that the RO pump can go to. +#define MIN_RO_PRESSURE_PSI 10.0F ///< Minimum allowed pressure that the RO pump can go to. + /// RO pump data record. typedef struct { U32 p12PumpState; ///< RO pump current state. U32 p12PumpDutyCycle; ///< RO pump duty cycle. U32 p12PumpFBDutyCycle; ///< RO pump feedback duty cycle. F32 p12PumpSpeed; ///< RO pump speed (RPM). - U32 p40PumpState; ///< Boost pump current state. - U32 p40PumpDutyCycle; ///< Boost pump duty cycle. - U32 p40PumpFBDutyCycle; ///< Boost pump feedback duty cycle. - F32 p40PumpSpeed; ///< Boost pump speed (RPM). + F32 p12TargetPressure; ///< RO pump target pressure for control. + F32 p12TargetFlow; ///< RO pump target flow ( in L/min ) for control. + F32 p12TargetDutyCycle; ///< RO pump target duty cycle for open loop control. } RO_PUMP_DATA_T; // ********** public function prototypes ********** void initROPump( void ); void execROPumpController( void ); -void signalROPumpStop( RO_BOOST_PUMP_T pumpID ); +void signalROPumpHardStop( void ); +BOOL isROPumpRunning( void ); +BOOL setROPumpTargetFlowRateLPM( F32 roFlowRate ); +BOOL setROPumpTargetPressure( F32 roPressure ); +BOOL setROPumpTargetDutyCycle( F32 duty ); + +F32 getROFeedbackDutyCycle( void ); +F32 getTargetROPumpFlowRateLPM( void ); +F32 getTargetROPumpPressure( void ); + BOOL testROPumpDataPublishIntervalOverride( MESSAGE_T *message ); + + /**@}*/ #endif