Index: firmware/App/Modes/ModeDrain.c =================================================================== diff -u -rebbb1f85550a1f9b8f946655f7b2b63f76fbf67d -r379f78f1fad668d741b3ccf1e78c69f3fccc45b5 --- firmware/App/Modes/ModeDrain.c (.../ModeDrain.c) (revision ebbb1f85550a1f9b8f946655f7b2b63f76fbf67d) +++ firmware/App/Modes/ModeDrain.c (.../ModeDrain.c) (revision 379f78f1fad668d741b3ccf1e78c69f3fccc45b5) @@ -71,8 +71,22 @@ // re-initialize each time we transition to drain mode initDrainMode(); +#ifndef V_2_SYSTEM + DG_RESERVOIR_ID_T inactiveReservoir = getInactiveReservoir(); + + if ( DG_RESERVOIR_1 == inactiveReservoir ) + { + setValveState( VRD1, VALVE_STATE_OPEN ); + } + else if ( DG_RESERVOIR_2 == inactiveReservoir ) + { + setValveState( VRD2, VALVE_STATE_OPEN ); + } +#else // set initial actuator states setValveState( VDR, VALVE_STATE_DRAIN_C_TO_NO ); +#endif + setDrainPumpTargetRPM( TARGET_DRAIN_PUMP_RPM ); setROPumpTargetFlowRate( TARGET_RO_FLOW_RATE_L, TARGET_RO_PRESSURE_PSI ); } @@ -129,6 +143,17 @@ { setDrainPumpTargetRPM( 0 ); requestNewOperationMode( DG_MODE_CIRC ); + +#ifndef V_2_SYSTEM + if ( DG_RESERVOIR_1 == inactiveReservoir ) + { + setValveState( VRD1, VALVE_STATE_CLOSED ); + } + else if ( DG_RESERVOIR_2 == inactiveReservoir ) + { + setValveState( VRD2, VALVE_STATE_CLOSED ); + } +#endif } return result;