Index: firmware/App/Controllers/BoostPump.h =================================================================== diff -u -r830213bc6dcc1a684610caf78c79d55f2cb41e93 -r9f1f5a95111b55ee99bbdcd60a2c8b4cc088237c --- firmware/App/Controllers/BoostPump.h (.../BoostPump.h) (revision 830213bc6dcc1a684610caf78c79d55f2cb41e93) +++ firmware/App/Controllers/BoostPump.h (.../BoostPump.h) (revision 9f1f5a95111b55ee99bbdcd60a2c8b4cc088237c) @@ -54,6 +54,16 @@ F32 p40PumpFBDutyCyclePct; ///< Boost pump feedback duty cycle as a percentage. } BOOST_PUMP_DATA_T; +/// Enumeration of Boost pump states. +typedef enum BoostPump_States +{ + BOOST_PUMP_OFF_STATE = 0, ///< Boost pump off state. + BOOST_PUMP_CONTROL_TO_TARGET_FLOW_STATE, ///< Boost pump control to target flow state. + BOOST_PUMP_CONTROL_TO_TARGET_PRESSURE_STATE, ///< Boost pump control to max pressure state. + BOOST_PUMP_OPEN_LOOP_STATE, ///< Boost pump open loop state. + NUM_OF_Boost_PUMP_STATES ///< Number of Boost pump states. +} BOOST_PUMP_STATE_T; + // ********** public function prototypes ********** void initBoostPump( void ); @@ -63,9 +73,9 @@ void signalBoostPumpHardStop( void ); BOOL isBoostPumpRunning( void ); -BOOL setBoostPumpTargetFlowRateLPM( U32 roFlowRate ); -BOOL setBoostPumpTargetPressure( F32 roPressure ); -BOOL setBoostPumpTargetDutyCycle( F32 duty ); +BOOL setBoostPumpTargetFlowRateMLPM( U32 roFlowRate, BOOL firmwareCall ); +BOOL setBoostPumpTargetPressure( F32 roPressure, BOOL firmwareCall ); +BOOL setBoostPumpTargetDutyCycle( F32 duty, BOOL firmwareCall ); F32 getCurrentBoostPumpDutyCyclePCT( void ); F32 getTargetBoostPumpDutyCyclePCT( void ); Index: firmware/App/Modes/FPModes/ModeGenPermeate.c =================================================================== diff -u -r5514c6bf48facd532e58b0790d9f02aaa6776b28 -r9f1f5a95111b55ee99bbdcd60a2c8b4cc088237c --- firmware/App/Modes/FPModes/ModeGenPermeate.c (.../ModeGenPermeate.c) (revision 5514c6bf48facd532e58b0790d9f02aaa6776b28) +++ firmware/App/Modes/FPModes/ModeGenPermeate.c (.../ModeGenPermeate.c) (revision 9f1f5a95111b55ee99bbdcd60a2c8b4cc088237c) @@ -302,7 +302,7 @@ tankFillAlarmTimer = getMSTimerCount(); if ( TRUE == isBoostPumpInstalled() ) { - setBoostPumpTargetPressure( GEN_PERMEATE_BOOST_PUMP_TGT_PSI ); + setBoostPumpTargetPressure( GEN_PERMEATE_BOOST_PUMP_TGT_PSI, TRUE ); } break; @@ -317,7 +317,7 @@ { F32 currentDutyCyclePct = getCurrentBoostPumpDutyCyclePCT(); - setBoostPumpTargetDutyCycle( currentDutyCyclePct ); + setBoostPumpTargetDutyCycle( currentDutyCyclePct, TRUE ); } break; Index: firmware/App/Modes/FPModes/ModePreGenPermeate.c =================================================================== diff -u -r5514c6bf48facd532e58b0790d9f02aaa6776b28 -r9f1f5a95111b55ee99bbdcd60a2c8b4cc088237c --- firmware/App/Modes/FPModes/ModePreGenPermeate.c (.../ModePreGenPermeate.c) (revision 5514c6bf48facd532e58b0790d9f02aaa6776b28) +++ firmware/App/Modes/FPModes/ModePreGenPermeate.c (.../ModePreGenPermeate.c) (revision 9f1f5a95111b55ee99bbdcd60a2c8b4cc088237c) @@ -201,7 +201,7 @@ if ( TRUE == isBoostPumpInstalled() ) { - setBoostPumpTargetPressure( VERIFY_WATER_BOOST_PUMP_TGT_PSI ); + setBoostPumpTargetPressure( VERIFY_WATER_BOOST_PUMP_TGT_PSI, TRUE ); } //TODO change target flow to 750 + rinse pump rate setROPumpTargetFlowRateMLPM( VERIFY_WATER_RO_PUMP_TGT_FLOW_ML, TRUE ); Index: firmware/App/Modes/FPModes/StateFlushConcentrate.c =================================================================== diff -u -r2d295ca85f19e95da42476a57ca6b4496baf980a -r9f1f5a95111b55ee99bbdcd60a2c8b4cc088237c --- firmware/App/Modes/FPModes/StateFlushConcentrate.c (.../StateFlushConcentrate.c) (revision 2d295ca85f19e95da42476a57ca6b4496baf980a) +++ firmware/App/Modes/FPModes/StateFlushConcentrate.c (.../StateFlushConcentrate.c) (revision 9f1f5a95111b55ee99bbdcd60a2c8b4cc088237c) @@ -163,7 +163,7 @@ { F32 currentDutyCyclePct = getCurrentBoostPumpDutyCyclePCT() > MIN_BOOST_PUMP_DUTY_CYCLE_PCT ? getCurrentBoostPumpDutyCyclePCT(): MIN_BOOST_PUMP_DUTY_CYCLE_PCT; - setBoostPumpTargetDutyCycle( currentDutyCyclePct ); + setBoostPumpTargetDutyCycle( currentDutyCyclePct, TRUE ); isTankFilled = TRUE; } } @@ -173,7 +173,7 @@ // set boost pump to closed loop when M4 closed. Added Tank fill check to avoid reset during initial transition if ( ( TRUE == isBoostPumpInstalled() ) && ( TRUE == isTankFilled ) ) { - setBoostPumpTargetPressure( CONCENTRATE_FLUSH_BOOST_PUMP_TGT_PSI ); + setBoostPumpTargetPressure( CONCENTRATE_FLUSH_BOOST_PUMP_TGT_PSI, TRUE ); isTankFilled = FALSE; } @@ -239,7 +239,7 @@ } if ( TRUE == isBoostPumpInstalled() ) { - setBoostPumpTargetPressure( CONCENTRATE_FLUSH_BOOST_PUMP_TGT_PSI ); + setBoostPumpTargetPressure( CONCENTRATE_FLUSH_BOOST_PUMP_TGT_PSI, TRUE ); } setROPumpTargetDutyCycle( CONCENTRATE_FLUSH_RO_PUMP_TGT_PWM, TRUE ); concentrateFlushTimer = getMSTimerCount(); Index: firmware/App/Modes/FPModes/StateFlushFilter.c =================================================================== diff -u -r70a0840cbf7c2455cb6b814cba1241c253f0e9e3 -r9f1f5a95111b55ee99bbdcd60a2c8b4cc088237c --- firmware/App/Modes/FPModes/StateFlushFilter.c (.../StateFlushFilter.c) (revision 70a0840cbf7c2455cb6b814cba1241c253f0e9e3) +++ firmware/App/Modes/FPModes/StateFlushFilter.c (.../StateFlushFilter.c) (revision 9f1f5a95111b55ee99bbdcd60a2c8b4cc088237c) @@ -204,7 +204,7 @@ if ( TRUE == isBoostPumpInstalled() ) { - setBoostPumpTargetPressure( FILTER_FLUSH_BOOST_PUMP_TGT_PSI ); + setBoostPumpTargetPressure( FILTER_FLUSH_BOOST_PUMP_TGT_PSI, TRUE ); } signalROPumpHardStop(); filterFlushTimer = getMSTimerCount(); Index: firmware/App/Modes/FPModes/StateFlushPermeate.c =================================================================== diff -u -r2d295ca85f19e95da42476a57ca6b4496baf980a -r9f1f5a95111b55ee99bbdcd60a2c8b4cc088237c --- firmware/App/Modes/FPModes/StateFlushPermeate.c (.../StateFlushPermeate.c) (revision 2d295ca85f19e95da42476a57ca6b4496baf980a) +++ firmware/App/Modes/FPModes/StateFlushPermeate.c (.../StateFlushPermeate.c) (revision 9f1f5a95111b55ee99bbdcd60a2c8b4cc088237c) @@ -157,7 +157,7 @@ // TODO update the default min duty cycle value after testing F32 currentDutyCyclePct = getCurrentBoostPumpDutyCyclePCT() > MIN_BOOST_PUMP_DUTY_CYCLE_PCT ? getCurrentBoostPumpDutyCyclePCT(): MIN_BOOST_PUMP_DUTY_CYCLE_PCT; - setBoostPumpTargetDutyCycle( currentDutyCyclePct ); + setBoostPumpTargetDutyCycle( currentDutyCyclePct, TRUE ); isTankFilled = TRUE; } } @@ -167,7 +167,7 @@ // set boost pump to closed loop when M4 closed. Added Tank fill check to avoid reset during initial transition if ( ( TRUE == isBoostPumpInstalled() ) && ( TRUE == isTankFilled ) ) { - setBoostPumpTargetPressure( PERMEATE_FLUSH_BOOST_PUMP_TGT_PSI ); + setBoostPumpTargetPressure( PERMEATE_FLUSH_BOOST_PUMP_TGT_PSI, TRUE ); isTankFilled = FALSE; } @@ -260,7 +260,7 @@ setValveState( P39_VALV, VALVE_STATE_OPEN ); if ( TRUE == isBoostPumpInstalled() ) { - setBoostPumpTargetPressure( PERMEATE_FLUSH_BOOST_PUMP_TGT_PSI ); + setBoostPumpTargetPressure( PERMEATE_FLUSH_BOOST_PUMP_TGT_PSI, TRUE ); } //TODO update target macro after changing it to 750 + rinse pump rate setROPumpTargetFlowRateMLPM( PERMEATE_FLUSH_RO_PUMP_TGT_ML, TRUE ); Index: firmware/App/Modes/FPModes/StateInletPressureCheck.c =================================================================== diff -u -r3e1af7cc2576e347ab8bdf2f400196b2301def07 -r9f1f5a95111b55ee99bbdcd60a2c8b4cc088237c --- firmware/App/Modes/FPModes/StateInletPressureCheck.c (.../StateInletPressureCheck.c) (revision 3e1af7cc2576e347ab8bdf2f400196b2301def07) +++ firmware/App/Modes/FPModes/StateInletPressureCheck.c (.../StateInletPressureCheck.c) (revision 9f1f5a95111b55ee99bbdcd60a2c8b4cc088237c) @@ -278,7 +278,7 @@ setValveState( P39_VALV, VALVE_STATE_CLOSED ); if ( TRUE == isBoostPumpInstalled() ) { - setBoostPumpTargetDutyCycle( INLET_PRES_CHECK_BOOST_PUMP_TGT_PWM ); + setBoostPumpTargetDutyCycle( INLET_PRES_CHECK_BOOST_PUMP_TGT_PWM, TRUE ); } signalROPumpHardStop(); }