Index: firmware/App/Controllers/BoostPump.c =================================================================== diff -u -r1cf11f4c1f6a1f1fd40270889723fbec040fc7ec -rf4870116c87345ee0ea062df5b30187e1e113ddc --- firmware/App/Controllers/BoostPump.c (.../BoostPump.c) (revision 1cf11f4c1f6a1f1fd40270889723fbec040fc7ec) +++ firmware/App/Controllers/BoostPump.c (.../BoostPump.c) (revision f4870116c87345ee0ea062df5b30187e1e113ddc) @@ -680,7 +680,7 @@ /*********************************************************************//** * @brief - * The testBoostPumpTargetPressureOverride function overrides the Boost pump + * The testBoostPumpTargetPressureOverride function overrides the boost pump * data publish interval. * @details \b Inputs: targetBoostPumpPressure * @details \b Outputs: targetBoostPumpPressure @@ -699,7 +699,7 @@ /*********************************************************************//** * @brief - * The testBoostPumpTargetFlowOverride function overrides the Boost pump + * The testBoostPumpTargetFlowOverride function overrides the boost pump * target flow rate in ml/min. * @details \b Inputs: targetBoostPumpFlowRate * @details \b Outputs: targetBoostPumpFlowRate @@ -718,7 +718,7 @@ /*********************************************************************//** * @brief - * The testBoostPumpTargetDutyCycleOverride function overrides the RO pump + * The testBoostPumpTargetDutyCycleOverride function overrides the boost pump * duty cycle. * @details \b Inputs: boostPumpOpenLoopTargetDutyCycle * @details \b Outputs: boostPumpOpenLoopTargetDutyCycle @@ -735,4 +735,23 @@ return result; } +/*********************************************************************//** + * @brief + * The testBoostPumpHardStopOverride function stops the boost pump. + * @details \b Inputs: boostPumpOpenLoopTargetDutyCycle + * @details \b Outputs: boostPumpOpenLoopTargetDutyCycle + * @param message Override message from Dialin which includes the value + * of the target flow + * @return TRUE if override successful, FALSE if not + *************************************************************************/ +BOOL testBoostPumpHardStop( MESSAGE_T *message ) +{ + BOOL result = TRUE; + + signalBoostPumpHardStop(); + + return result; +} + + /**@}*/ Index: firmware/App/Controllers/BoostPump.h =================================================================== diff -u -r1cf11f4c1f6a1f1fd40270889723fbec040fc7ec -rf4870116c87345ee0ea062df5b30187e1e113ddc --- firmware/App/Controllers/BoostPump.h (.../BoostPump.h) (revision 1cf11f4c1f6a1f1fd40270889723fbec040fc7ec) +++ firmware/App/Controllers/BoostPump.h (.../BoostPump.h) (revision f4870116c87345ee0ea062df5b30187e1e113ddc) @@ -74,6 +74,7 @@ BOOL testBoostPumpTargetPressureOverride( MESSAGE_T *message ); BOOL testBoostPumpTargetFlowOverride( MESSAGE_T *message ); BOOL testBoostPumpTargetDutyCycleOverride( MESSAGE_T *message ); +BOOL testBoostPumpHardStop( MESSAGE_T *message ); /**@}*/ Index: firmware/App/Controllers/ROPump.c =================================================================== diff -u -r1cf11f4c1f6a1f1fd40270889723fbec040fc7ec -rf4870116c87345ee0ea062df5b30187e1e113ddc --- firmware/App/Controllers/ROPump.c (.../ROPump.c) (revision 1cf11f4c1f6a1f1fd40270889723fbec040fc7ec) +++ firmware/App/Controllers/ROPump.c (.../ROPump.c) (revision f4870116c87345ee0ea062df5b30187e1e113ddc) @@ -719,4 +719,23 @@ return result; } +/*********************************************************************//** + * @brief + * The testBoostPumpHardStopOverride function stops the RO pump. + * @details \b Inputs: boostPumpOpenLoopTargetDutyCycle + * @details \b Outputs: boostPumpOpenLoopTargetDutyCycle + * @param message Override message from Dialin which includes the value + * of the target flow + * @return TRUE if override successful, FALSE if not + *************************************************************************/ +BOOL testROPumpHardStop( MESSAGE_T *message ) +{ + BOOL result = TRUE; + + signalROPumpHardStop(); + + return result; +} + + /**@}*/ Index: firmware/App/Controllers/ROPump.h =================================================================== diff -u -r1cf11f4c1f6a1f1fd40270889723fbec040fc7ec -rf4870116c87345ee0ea062df5b30187e1e113ddc --- firmware/App/Controllers/ROPump.h (.../ROPump.h) (revision 1cf11f4c1f6a1f1fd40270889723fbec040fc7ec) +++ firmware/App/Controllers/ROPump.h (.../ROPump.h) (revision f4870116c87345ee0ea062df5b30187e1e113ddc) @@ -84,6 +84,7 @@ BOOL testROPumpTargetPressureOverride( MESSAGE_T *message ); BOOL testROPumpTargetFlowOverride( MESSAGE_T *message ); BOOL testROPumpTargetDutyCycleOverride( MESSAGE_T *message ); +BOOL testROPumpHardStop( MESSAGE_T *message ); /**@}*/ Index: firmware/App/Modes/ModeFault.c =================================================================== diff -u -r1cf11f4c1f6a1f1fd40270889723fbec040fc7ec -rf4870116c87345ee0ea062df5b30187e1e113ddc --- firmware/App/Modes/ModeFault.c (.../ModeFault.c) (revision 1cf11f4c1f6a1f1fd40270889723fbec040fc7ec) +++ firmware/App/Modes/ModeFault.c (.../ModeFault.c) (revision f4870116c87345ee0ea062df5b30187e1e113ddc) @@ -35,6 +35,11 @@ setValveState( M7_VALV, VALVE_STATE_CLOSED ); setValveState( P20_VALV,VALVE_STATE_CLOSED ); + if (TRUE == isBoostPumpInstalled()) + { + signalBoostPumpHardStop(); + } + signalROPumpHardStop(); return 0; } Index: firmware/App/Modes/ModeGenPermeate.c =================================================================== diff -u -r1cf11f4c1f6a1f1fd40270889723fbec040fc7ec -rf4870116c87345ee0ea062df5b30187e1e113ddc --- firmware/App/Modes/ModeGenPermeate.c (.../ModeGenPermeate.c) (revision 1cf11f4c1f6a1f1fd40270889723fbec040fc7ec) +++ firmware/App/Modes/ModeGenPermeate.c (.../ModeGenPermeate.c) (revision f4870116c87345ee0ea062df5b30187e1e113ddc) @@ -157,14 +157,17 @@ setValveState( M4_VALV,VALVE_STATE_OPEN ); setValveState( M7_VALV,VALVE_STATE_CLOSED ); setValveState( P6_VALV,VALVE_STATE_CLOSED ); - setValveState( P39_VALV,VALVE_STATE_OPEN ); setValveState( P11_VALV, VALVE_STATE_OPEN ); + setValveState( P33_VALV, VALVE_STATE_OPEN ); // TODO - Change valves to handle RO rejection config + setValveState( P34_VALV, VALVE_STATE_CLOSED ); // Current set to Medium recovery for alpha HW + setValveState( P37_VALV, VALVE_STATE_CLOSED ); + setValveState( P39_VALV,VALVE_STATE_OPEN ); if ( TRUE == isBoostPumpInstalled() ) { setBoostPumpTargetPressure( GEN_PERMEATE_BOOST_PUMP_TGT_PSI ); } - if ( 0.0F == getGenPermeateRODutyCycle() ) + if ( 0.0F == getGenPermeateRODutyCycle() ) // we skipped verify water via dialin { setROPumpTargetDutyCycle( GEN_PERMEATE_PWM_DEFAULT ); } @@ -178,16 +181,19 @@ setValveState( M4_VALV,VALVE_STATE_CLOSED ); setValveState( M7_VALV,VALVE_STATE_CLOSED ); setValveState( P6_VALV,VALVE_STATE_CLOSED ); - setValveState( P39_VALV,VALVE_STATE_OPEN ); setValveState( P11_VALV, VALVE_STATE_CLOSED ); + setValveState( P33_VALV, VALVE_STATE_OPEN ); + setValveState( P34_VALV, VALVE_STATE_CLOSED ); + setValveState( P37_VALV, VALVE_STATE_CLOSED ); + setValveState( P39_VALV,VALVE_STATE_OPEN ); if ( TRUE == isBoostPumpInstalled() ) { signalBoostPumpHardStop(); } tankFullDelayTime = getMSTimerCount(); tankFullAlarmTimeout = getMSTimerCount(); - if ( 0.0F == getGenPermeateRODutyCycle() ) + if ( 0.0F == getGenPermeateRODutyCycle() ) // we skipped verify water via dialin { setROPumpTargetDutyCycle( GEN_PERMEATE_PWM_DEFAULT ); } Index: firmware/App/Modes/ModePreGenPermeate.c =================================================================== diff -u -r1cf11f4c1f6a1f1fd40270889723fbec040fc7ec -rf4870116c87345ee0ea062df5b30187e1e113ddc --- firmware/App/Modes/ModePreGenPermeate.c (.../ModePreGenPermeate.c) (revision 1cf11f4c1f6a1f1fd40270889723fbec040fc7ec) +++ firmware/App/Modes/ModePreGenPermeate.c (.../ModePreGenPermeate.c) (revision f4870116c87345ee0ea062df5b30187e1e113ddc) @@ -186,8 +186,8 @@ setValveState( M4_VALV, VALVE_STATE_OPEN ); setValveState( P6_VALV, VALVE_STATE_CLOSED ); setValveState( P11_VALV, VALVE_STATE_OPEN ); - setValveState( P33_VALV, VALVE_STATE_CLOSED ); // TODO - Change valves to handle RO rejection config - setValveState( P34_VALV, VALVE_STATE_CLOSED ); + setValveState( P33_VALV, VALVE_STATE_OPEN ); // TODO - Change valves to handle RO rejection config + setValveState( P34_VALV, VALVE_STATE_CLOSED ); // Current set to Medium recovery for alpha HW setValveState( P37_VALV, VALVE_STATE_CLOSED ); setValveState( P39_VALV, VALVE_STATE_OPEN ); Index: firmware/App/Services/Messaging.c =================================================================== diff -u -r1cf11f4c1f6a1f1fd40270889723fbec040fc7ec -rf4870116c87345ee0ea062df5b30187e1e113ddc --- firmware/App/Services/Messaging.c (.../Messaging.c) (revision 1cf11f4c1f6a1f1fd40270889723fbec040fc7ec) +++ firmware/App/Services/Messaging.c (.../Messaging.c) (revision f4870116c87345ee0ea062df5b30187e1e113ddc) @@ -106,6 +106,8 @@ { MSG_ID_FP_BOOST_PUMP_TARGET_PRESSURE_OVERRIDE_REQUEST, &testBoostPumpTargetPressureOverride }, { MSG_ID_FP_BOOST_PUMP_TARGET_FLOW_OVERRIDE_REQUEST, &testBoostPumpTargetFlowOverride }, { MSG_ID_FP_BOOST_PUMP_TARGET_PWM_OVERRIDE_REQUEST, &testBoostPumpTargetDutyCycleOverride }, +{ MSG_ID_FP_BOOST_PUMP_STOP_REQUEST, &testBoostPumpHardStop }, +{ MSG_ID_FP_RO_PUMP_STOP_REQUEST, &testROPumpHardStop }, }; #define NUM_OF_FUNCTION_HANDLERS (sizeof(MSG_FUNCTION_HANDLER_LOOKUP) / sizeof(MSG_HANDLER_LOOKUP_T))