Index: firmware/App/Modes/ModeDrain.c =================================================================== diff -u -r95eefee71702fbf031025dc35ebaf553dfb050b7 -re1c23ba7cd93c1d63ffdcbd894aa95ac7c39b584 --- firmware/App/Modes/ModeDrain.c (.../ModeDrain.c) (revision 95eefee71702fbf031025dc35ebaf553dfb050b7) +++ firmware/App/Modes/ModeDrain.c (.../ModeDrain.c) (revision e1c23ba7cd93c1d63ffdcbd894aa95ac7c39b584) @@ -78,14 +78,15 @@ * The initDrainMode function initializes the drain mode module. * @details Inputs: none * @details Outputs: drainState, drainEmptyTareTimerCtr, dialysateDrainStartTime, - * rinseConcentrateLines, rinseConcentrateLinesTimerCtr + * rinseConcentrateLinesTimerCtr * @return none *************************************************************************/ void initDrainMode( void ) { + // NOTE: rinseConcentrateLines should not be initialized here. This variable is set by the caller when a drain command is requested. + // The caller will specify whether to set the rinse lines or not. drainState = DG_DRAIN_STATE_START; drainEmptyTareTimerCtr = 0; - rinseConcentrateLines = FALSE; rinseConcentrateLinesTimerCtr = 0; dialysateDrainStartTime = 0; } @@ -309,7 +310,7 @@ requestConcentratePumpOn( CONCENTRATEPUMPS_CP1_ACID ); requestConcentratePumpOn( CONCENTRATEPUMPS_CP2_BICARB ); } - rinseConcentrateLinesTimerCtr = 0; + result = DG_DRAIN_STATE_RINSE; }