Index: firmware/App/Modes/FlushConcentrate.c =================================================================== diff -u -r8d272582cbd2cb5fc0c6af0fead2867ce02658b0 -r921198ed4c337cd5bcebbeedd7d724da4b1e23be --- firmware/App/Modes/FlushConcentrate.c (.../FlushConcentrate.c) (revision 8d272582cbd2cb5fc0c6af0fead2867ce02658b0) +++ firmware/App/Modes/FlushConcentrate.c (.../FlushConcentrate.c) (revision 921198ed4c337cd5bcebbeedd7d724da4b1e23be) @@ -103,6 +103,8 @@ *************************************************************************/ void execConcentrateFlush( void ) { + FP_CONC_FLUSH_STATE_T prevState = concentrateFlushState; + switch ( concentrateFlushState ) { case CONC_FLUSH_IN_PROGRESS: @@ -119,6 +121,10 @@ break; } + if ( prevState != concentrateFlushState ) + { + setConcentrateFlushTransition( concentrateFlushState ); + } // publish Concentrate flush data on interval publishConcentrateFlushData(); } @@ -137,11 +143,10 @@ if ( TRUE == doesAlarmStatusIndicateStop() ) { - setConcentrateFlushTransition( CONC_FLUSH_PAUSED ); state = CONC_FLUSH_PAUSED; } - cumulativeConcentrateVolume_mL = getFlowRate(P7_FLOW) * CONCENTRATE_FLOW_INTEGRATOR; + cumulativeConcentrateVolume_mL = getFlowRate( P7_FLOW ) * CONCENTRATE_FLOW_INTEGRATOR; if( TRUE == didTimeout( concentrateFlushTimer, getConcentrateFlushTimeout() ) ) { @@ -151,13 +156,11 @@ if( FALSE == isVolumeOutOfRange ) { isFlushComplete = TRUE; - setConcentrateFlushTransition( CONC_FLUSH_PAUSED ); state = CONC_FLUSH_PAUSED; } else { SET_ALARM_WITH_2_U32_DATA( ALARM_ID_FP_CONCENTRATE_FLUSH_VOLUME_OUT_OF_RANGE, CONCENTRATE_FLUSH_VOLUME_THRESHOLD, cumulativeConcentrateVolume_mL) - setConcentrateFlushTransition( CONC_FLUSH_PAUSED ); state = CONC_FLUSH_PAUSED; } } @@ -180,7 +183,6 @@ { isFlushComplete = FALSE; pendingStartConcentrateFlushRequest = FALSE; - setConcentrateFlushTransition( CONC_FLUSH_IN_PROGRESS ); state = CONC_FLUSH_IN_PROGRESS; } return state;