Index: firmware/App/Controllers/ROPump.h =================================================================== diff -u -rfbc0a281b094ff309dcbf83db1878818a9b384f1 -r604d8aaceeb8e0b650ac2054644333fc7717bb51 --- firmware/App/Controllers/ROPump.h (.../ROPump.h) (revision fbc0a281b094ff309dcbf83db1878818a9b384f1) +++ firmware/App/Controllers/ROPump.h (.../ROPump.h) (revision 604d8aaceeb8e0b650ac2054644333fc7717bb51) @@ -1,17 +1,17 @@ /************************************************************************** * -* Copyright (c) 2019-2020 Diality Inc. - All Rights Reserved. +* Copyright (c) 2020-2022 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 +* @file ROPump.h * -* @author (last) Quang Nguyen -* @date (last) 25-Aug-2020 +* @author (last) Dara Navaei +* @date (last) 31-Mar-2022 * -* @author (original) Sean -* @date (original) 04-Apr-2020 +* @author (original) Sean +* @date (original) 04-Apr-2020 * ***************************************************************************/ @@ -31,16 +31,19 @@ */ // ********** public definitions ********** -#define MAX_RO_FLOWRATE_LPM 1.0 ///< Maximum target RO flow rate in L/min. +#define MAX_RO_FLOWRATE_LPM 1.8 ///< Maximum target RO flow rate in L/min. #define MIN_RO_FLOWRATE_LPM 0.2 ///< Minimum target RO flow rate in L/min. /// RO pump data struct. typedef struct { - F32 roPumpTgtPressure; ///< RO pump target pressure - F32 measROFlowRate; ///< RO flow rate measurement - F32 roPumpDutyCycle; ///< RO pump duty cycle - U32 roPumpState; ///< RO pump current state + F32 roPumpTgtPressure; ///< RO pump target pressure. + F32 measROFlowRate; ///< RO flow rate measurement. + F32 roPumpDutyCycle; ///< RO pump duty cycle. + U32 roPumpState; ///< RO pump current state. + F32 roPumpTgtFlowRateLM; ///< RO pump target flow rate in L/min + F32 roPumpFBDutyCycle; ///< RO pump feedback duty cycle. + F32 roPumpMeasFlowWithConcPumps; ///< RO pump measured flow with the concentrate pumps. } RO_PUMP_DATA_T; // ********** public function prototypes ********** @@ -49,18 +52,20 @@ void execROPumpMonitor( void ); void execROPumpController( void ); -BOOL setROPumpTargetFlowRate( F32 roFlowRate, U32 maxPressure ); +SELF_TEST_STATUS_T execROPumpSelfTest( void ); +BOOL setROPumpTargetFlowRateLPM( F32 roFlowRate, U32 maxPressure ); +BOOL setROPumpTargetFlowRateDelayed( F32 roFlowRate, U32 maxPressure, U32 delayMs ); + void signalROPumpHardStop( void ); -BOOL isReverseOsmosisPumpOn( void ); +BOOL isROPumpRunning( void ); -SELF_TEST_STATUS_T execROPumpTest( void ); - F32 getTargetROPumpFlowRate( void ); -F32 getMeasuredROFlowRate( void ); +F32 getMeasuredROFlowRateLPM( void ); +F32 getMeasuredROFlowRateWithConcPumpsLPM( void ); -F32 getTargetROPumpPressure( void ); +F32 getTargetROPumpPressure( void ); BOOL testSetROPumpDataPublishIntervalOverride( U32 value ); BOOL testResetROPumpDataPublishIntervalOverride( void );