Index: firmware/App/Modes/FPModes/ModePreGenPermeate.c =================================================================== diff -u -r7f364e0c66d18014c8b90a71fb9f560616e8009d -r47a7b0fce13cf38919932a8662c378f4f6a8b9f3 --- firmware/App/Modes/FPModes/ModePreGenPermeate.c (.../ModePreGenPermeate.c) (revision 7f364e0c66d18014c8b90a71fb9f560616e8009d) +++ firmware/App/Modes/FPModes/ModePreGenPermeate.c (.../ModePreGenPermeate.c) (revision 47a7b0fce13cf38919932a8662c378f4f6a8b9f3) @@ -8,7 +8,7 @@ * @file ModePreGenPermeate.c * * @author (last) “rkallala” -* @date (last) 14-Jan-2026 +* @date (last) 15-Jan-2026 * * @author (original) Michael Garthwaite * @date (original) 08-Sep-2025 @@ -203,6 +203,7 @@ { setBoostPumpTargetPressure( VERIFY_WATER_BOOST_PUMP_TGT_PSI ); } + //TODO change target flow to 750 + rinse pump rate setROPumpTargetFlowRateMLPM( VERIFY_WATER_RO_PUMP_TGT_FLOW_ML, TRUE ); verifyWaterTimer = getMSTimerCount(); break; @@ -232,20 +233,13 @@ // state = FP_PRE_GENP_PAUSED; // } - if ( FALSE == isBoostPumpInstalled() ) + execInletPressureCheck(); + + if ( TRUE == isInletPressureCheckCompleted() ) { signalStartFilterFlush(); state = FP_PRE_GENP_FILTER_FLUSH; } - else - { - execInletPressureCheck(); - if ( TRUE == isInletPressureCheckCompleted() ) - { - signalStartFilterFlush(); - state = FP_PRE_GENP_FILTER_FLUSH; - } - } return state; } @@ -352,16 +346,35 @@ FP_PRE_GENP_MODE_STATE_T state = FP_PRE_GENP_VERIFY_WATER; F32 roCurrentDutyCycle = getCurrentROPumpDutyCyclePCT(); + checkROInletPressure(); + //Stay in this state for 25 seconds to stablize flow control if ( TRUE == didTimeout( verifyWaterTimer, FLOW_CONTROL_STABLIZED_TIMEOUT_MS ) ) { // check next 5 seconds for water quality // check permeate high flow rate is within range checkPermeateHighFlow(); + // check low flow rate is within range checkPermeateLowFlow(); - // check conductivity is within range + + // check inlet conductivity is within range + checkInletConductivity(); + + // check permeate conductivity is within range checkOutletConductivity(); + + // check RO duty cycle in range + checkRODutyCycle(); + + // check p21 is set to 15 PSI + checkPressureRelief(); + + // check RO rejection ratio + checkRORejectionRatio(); + + // check RO pressure (p13) + checkROPressures(); } // if ( TRUE == 1 ))// TODO Alarm and Stop State Rework