Index: firmware/App/Modes/ModeChemicalDisinfectFlush.c =================================================================== diff -u -r9508f34690d1de8bd091fd2e094578ce280a0f9e -re7456f2e25604fc6b97eeda52f00bd0c5535487d --- firmware/App/Modes/ModeChemicalDisinfectFlush.c (.../ModeChemicalDisinfectFlush.c) (revision 9508f34690d1de8bd091fd2e094578ce280a0f9e) +++ firmware/App/Modes/ModeChemicalDisinfectFlush.c (.../ModeChemicalDisinfectFlush.c) (revision e7456f2e25604fc6b97eeda52f00bd0c5535487d) @@ -112,7 +112,6 @@ static DG_RESERVOIR_STATUS_T rsrvr1Status; ///< Reservoir 1 status. static DG_RESERVOIR_STATUS_T rsrvr2Status; ///< Reservoir 2 status. static U32 waitTimer; ///< Wait timer for reservoir flushing. -static U32 drainTimer; ///< Timer for reservoir draining during flush states static U32 dataPublishCounter; ///< Chemical disinfect flush data publish counter. static CANCELLATION_MODE_T cancellationMode; ///< Cancellation mode. static U32 rsrvrFillToFullStableTimerCounter; ///< Task interval counter for determining if reservoir is full @@ -173,7 +172,6 @@ alarmDetectedPendingTrigger = ALARM_ID_NO_ALARM; chemDisinfectFlushUIState = CHEM_DISINFECT_FLUSH_UI_STATE_NOT_RUNNING; waitTimer = 0; - drainTimer = 0; dataPublishCounter = 0; disinfectNVOps.hasDisStatusBeenWrittenToNV = FALSE; hasAlarmBeenTriggered = FALSE; @@ -555,7 +553,7 @@ * UF filter for a period of time. After the flush it transitions to the * next state. * @details Inputs: stateTimer, - * @details Outputs: stateTimer, drainTimer, numberOfPostDisinfectRinses, + * @details Outputs: stateTimer, numberOfPostDisinfectRinses, * rsrvrFillToFullStableTimerCounter * @return next state of the chemical disinfect flush state machine *************************************************************************/ @@ -574,7 +572,6 @@ setValveState( VRI, VALVE_STATE_R1_C_TO_NO ); rsrvr1Status = DG_RESERVOIR_ABOVE_TARGET; rsrvr2Status = DG_RESERVOIR_BELOW_TARGET; - drainTimer = getMSTimerCount(); numberOfPostDisinfectRinses = 0; rsrvrFillToFullStableTimerCounter = 0; stateTimer = getMSTimerCount(); @@ -593,32 +590,15 @@ * if the fill times out, it transitions to water cancellation state. * If the drain and rinse are completed within the defined time, it * transitions to the next state. - * @details Inputs: rsrvr1Status, rsrvr2Status, drainTimer, waitTimer - * @details Outputs: stateTimer, rsrvr1Status, rsrvr2Status, drainTimer, + * @details Inputs: rsrvr1Status, rsrvr2Status, waitTimer + * @details Outputs: stateTimer, rsrvr1Status, rsrvr2Status, * waitTimer, prevChemDisinfectFlushState, alarmDetectedPendingTrigger * @return next state of the chemical disinfect flush state machine *************************************************************************/ static DG_CHEM_DISINFECT_FLUSH_STATE_T handleChemicalDisinfectFlushFlushR2ToR1DrainR1State( void ) { DG_CHEM_DISINFECT_FLUSH_STATE_T state = DG_CHEM_DISINFECT_FLUSH_STATE_FLUSH_R2_TO_R1_DRAIN_R1; - // Check whether draining R1 has timed out - if ( DG_RESERVOIR_ABOVE_TARGET == rsrvr1Status ) - { - // Do not use the standard drain status function because we are filling and draining at the same time - if ( getLoadCellSmallFilteredWeight( LOAD_CELL_RESERVOIR_1_PRIMARY ) < RSRVRS_DRAIN_TARGET_VOLUME_ML ) - { - rsrvr1Status = DG_RESERVOIR_REACHED_TARGET; - } - else if ( TRUE == didTimeout( drainTimer, RSRVRS_FLUSH_DRAIN_TIMEOUT_MS ) ) - { - // reservoir 1 drain timeout - prevChemDisinfectFlushState = state; - alarmDetectedPendingTrigger = ALARM_ID_DG_RESERVOIR_DRAIN_TIMEOUT; - state = DG_CHEM_DISINFECT_FLUSH_STATE_CANCEL_WATER_PATH; - } - } - // Check whether R2 fill has timed out if ( DG_RESERVOIR_BELOW_TARGET == rsrvr2Status ) { @@ -645,7 +625,6 @@ setValveState( VRF, VALVE_STATE_R1_C_TO_NC ); rsrvr1Status = DG_RESERVOIR_BELOW_TARGET; rsrvr2Status = DG_RESERVOIR_ABOVE_TARGET; - drainTimer = getMSTimerCount(); stateTimer = getMSTimerCount(); state = DG_CHEM_DISINFECT_FLUSH_STATE_FLUSH_R1_TO_R2_DRAIN_R2; } @@ -672,23 +651,6 @@ { DG_CHEM_DISINFECT_FLUSH_STATE_T state = DG_CHEM_DISINFECT_FLUSH_STATE_FLUSH_R1_TO_R2_DRAIN_R2; - // Check whether draining R2 has timed out - if ( DG_RESERVOIR_ABOVE_TARGET == rsrvr2Status ) - { - // Do not use the standard drain status function because we are filling and draining at the same time - if ( getLoadCellSmallFilteredWeight( LOAD_CELL_RESERVOIR_2_PRIMARY ) < RSRVRS_DRAIN_TARGET_VOLUME_ML ) - { - rsrvr2Status = DG_RESERVOIR_REACHED_TARGET; - } - else if ( TRUE == didTimeout( drainTimer, RSRVRS_FLUSH_DRAIN_TIMEOUT_MS ) ) - { - // reservoir 2 drain timeout - prevChemDisinfectFlushState = state; - alarmDetectedPendingTrigger = ALARM_ID_DG_RESERVOIR_DRAIN_TIMEOUT; - state = DG_CHEM_DISINFECT_FLUSH_STATE_CANCEL_WATER_PATH; - } - } - // Check whether R1 fill has timed out if ( DG_RESERVOIR_BELOW_TARGET == rsrvr1Status ) { @@ -718,7 +680,6 @@ setValveState( VRI, VALVE_STATE_R1_C_TO_NO ); rsrvr2Status = DG_RESERVOIR_BELOW_TARGET; rsrvr1Status = DG_RESERVOIR_ABOVE_TARGET; - drainTimer = getMSTimerCount(); stateTimer = getMSTimerCount(); state = DG_CHEM_DISINFECT_FLUSH_STATE_FLUSH_R2_TO_R1_DRAIN_R1; }