Index: firmware/App/Modes/ModeDrain.c =================================================================== diff -u -r5109bb981cab2025fcb9de33e303d046085efa18 -r9c3c817b09c3c7e0d9b23a397493f6fc16ca5d62 --- firmware/App/Modes/ModeDrain.c (.../ModeDrain.c) (revision 5109bb981cab2025fcb9de33e303d046085efa18) +++ firmware/App/Modes/ModeDrain.c (.../ModeDrain.c) (revision 9c3c817b09c3c7e0d9b23a397493f6fc16ca5d62) @@ -111,12 +111,17 @@ *************************************************************************/ U32 transitionToDrainMode( void ) { - // re-initialize each time we transition to drain mode - initDrainMode(); - setCurrentSubState( NO_SUB_STATE ); - DG_RESERVOIR_ID_T inactiveReservoir = getInactiveReservoir(); + if ( getTestConfigStatus( TEST_CONFIG_RECOVER_TREATMENT) != TRUE ) + { + // re-initialize each time we transition to drain mode + initDrainMode(); + initDrainParameters( inactiveReservoir ); + } + + setCurrentSubState( NO_SUB_STATE ); + if ( DG_RESERVOIR_1 == inactiveReservoir ) { setValveStateDelayed( VRD1, VALVE_STATE_OPEN, DELAY_RES_DRAIN_VALVE_MS ); @@ -126,8 +131,6 @@ setValveStateDelayed( VRD2, VALVE_STATE_OPEN, DELAY_RES_DRAIN_VALVE_MS ); } - initDrainParameters( inactiveReservoir ); - // set initial actuator states setValveState( VDR, VALVE_STATE_DRAIN_C_TO_NO ); setDrainPumpTargetRPMDelayed( TARGET_DRAIN_PUMP_RPM, DELAY_DRAIN_PUMP_MS );