Index: firmware/App/Modes/ModeDrain.c =================================================================== diff -u -rebbb1f85550a1f9b8f946655f7b2b63f76fbf67d -r847478dd75aac2edfe27df454ac5a644b6f30040 --- firmware/App/Modes/ModeDrain.c (.../ModeDrain.c) (revision ebbb1f85550a1f9b8f946655f7b2b63f76fbf67d) +++ firmware/App/Modes/ModeDrain.c (.../ModeDrain.c) (revision 847478dd75aac2edfe27df454ac5a644b6f30040) @@ -71,6 +71,18 @@ // 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 ); + } +#endif // set initial actuator states setValveState( VDR, VALVE_STATE_DRAIN_C_TO_NO ); setDrainPumpTargetRPM( TARGET_DRAIN_PUMP_RPM ); @@ -129,6 +141,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;