Index: firmware/App/Modes/FlushPermeate.c =================================================================== diff -u -r74be2e300c7b0ad2a069cea4b1dc2cff06ec0d3e -rb6b45de61b9f011263147c7313134198fa83725f --- firmware/App/Modes/FlushPermeate.c (.../FlushPermeate.c) (revision 74be2e300c7b0ad2a069cea4b1dc2cff06ec0d3e) +++ firmware/App/Modes/FlushPermeate.c (.../FlushPermeate.c) (revision b6b45de61b9f011263147c7313134198fa83725f) @@ -19,6 +19,7 @@ #include "Conductivity.h" #include "FlushPermeate.h" #include "FPOperationModes.h" +#include "Level.h" #include "MessageSupport.h" #include "Messaging.h" #include "Pressure.h" @@ -140,12 +141,24 @@ static FP_PERM_FLUSH_STATE_T handlePermeateFlushProgressState( void ) { FP_PERM_FLUSH_STATE_T state = PERM_FLUSH_IN_PROGRESS; + LEVEL_STATE_T level = getLevelStatus(); // if ( TRUE == 1 ))// TODO Alarm and Stop State Rework // { // state = PERM_FLUSH_PAUSED; // } + // Manual control of Permeate tank while in Permeate Flush + // to prevent overfill. + if ( LEVEL_STATE_HIGH == level ) + { + setValveState( M4_VALV,VALVE_STATE_CLOSED ); + } + else if ( LEVEL_STATE_LOW == level ) + { + setValveState( M4_VALV,VALVE_STATE_OPEN ); + } + if( TRUE == didTimeout( permeateFlushTimer, getPermeateFlushTimeout() ) ) { F32 p18conductivity = getFilteredConductivity( P18_COND );