Index: firmware/App/Modes/TreatmentEnd.c =================================================================== diff -u -r36d4763e96993a67b1561686687ca06bbd2f724b -rfb5af9238e0470945ee6d07f67a7e12f1be51f1f --- firmware/App/Modes/TreatmentEnd.c (.../TreatmentEnd.c) (revision 36d4763e96993a67b1561686687ca06bbd2f724b) +++ firmware/App/Modes/TreatmentEnd.c (.../TreatmentEnd.c) (revision fb5af9238e0470945ee6d07f67a7e12f1be51f1f) @@ -193,7 +193,11 @@ { TREATMENT_END_STATE_T priorSubState = treatmentEndState; - txEndTimerCtr++; + // Has max time waiting for user to initiate final rinseback been exceeded? + if ( ++txEndTimerCtr > TX_END_TIMEOUT_MS ) + { + activateAlarmNoData( ALARM_ID_HD_END_TREATMENT_TIMEOUT_ALARM ); + } switch ( treatmentEndState ) { @@ -210,12 +214,6 @@ break; } - // Has max time waiting for user to initiate final rinseback been exceeded? - if ( txEndTimerCtr > TX_END_TIMEOUT_MS ) - { - activateAlarmNoData( ALARM_ID_HD_END_TREATMENT_TIMEOUT_ALARM ); - } - if ( priorSubState != treatmentEndState ) { setCurrentSubState( (U32)treatmentEndState );