Index: firmware/App/Modes/FPModes/ModePreGenPermeateDefeatured.c =================================================================== diff -u -r2475e55c224cbd841d61b76f1618451efe6be1f5 -rd25471a9b256c1dce1aec7de73f53c730ff70cd0 --- firmware/App/Modes/FPModes/ModePreGenPermeateDefeatured.c (.../ModePreGenPermeateDefeatured.c) (revision 2475e55c224cbd841d61b76f1618451efe6be1f5) +++ firmware/App/Modes/FPModes/ModePreGenPermeateDefeatured.c (.../ModePreGenPermeateDefeatured.c) (revision d25471a9b256c1dce1aec7de73f53c730ff70cd0) @@ -46,7 +46,7 @@ static U32 preGenPermeateDefWaterCheckTimer; // ********** private function prototypes ********** - +static FP_PRE_GENP_DEF_MODE_STATE_T handlePreGenPDefInletPressureCheckState( void ); static FP_PRE_GENP_DEF_MODE_STATE_T handlePreGenPDefFlushState( void ); static FP_PRE_GENP_DEF_MODE_STATE_T handlePreGenPDefInletWaterState( void ); static FP_PRE_GENP_DEF_MODE_STATE_T handlePreGenPDefPausedState( void ); @@ -64,7 +64,7 @@ *************************************************************************/ void initPreGenPermeateDefeaturedMode( void ) { - preGenPermeateDefState = FP_PRE_GENP_DEF_FLUSH; + preGenPermeateDefState = FP_PRE_GENP_INLET_PRESSURE_CHECK; preGenPermeateDefDataPublishInterval.data = PRE_GEN_DEF_PERMEATE_DATA_PUBLISH_INTERVAL; preGenPermeateDefDataPublishInterval.ovData = PRE_GEN_DEF_PERMEATE_DATA_PUBLISH_INTERVAL; preGenPermeateDefDataPublishInterval.ovInitData = 0; @@ -107,14 +107,14 @@ // execute current gen Permeate defeatured state switch ( preGenPermeateDefState ) { + case FP_PRE_GENP_DEF_INLET_PRESSURE_CHECK: + preGenPermeateDefState = handlePreGenPDefInletPressureCheckState(); + break; + case FP_PRE_GENP_DEF_FLUSH: preGenPermeateDefState = handlePreGenPDefFlushState(); break; - case FP_PRE_GENP_DEF_INLET_WATER_CHECK: - preGenPermeateDefState = handlePreGenPDefInletWaterState(); - break; - case FP_PRE_GENP_DEF_PAUSED: preGenPermeateDefState = handlePreGenPDefPausedState(); break; @@ -149,30 +149,27 @@ // Execute on running state switch( state ) { - case FP_PRE_GENP_DEF_FLUSH: - setValveState( M4_VALV, VALVE_STATE_OPEN ); - setValveState( M12_VALV, VALVE_STATE_OPEN ); + case FP_PRE_GENP_DEF_INLET_PRESSURE_CHECK: + setValveState( M4_VALV, VALVE_STATE_CLOSED ); + setValveState( M12_VALV, VALVE_STATE_CLOSED ); setValveState( P6_VALV, VALVE_STATE_CLOSED ); setValveState( P11_VALV, VALVE_STATE_CLOSED ); setValveState( P33_VALV, VALVE_STATE_CLOSED ); setValveState( P34_VALV, VALVE_STATE_CLOSED ); setValveState( P37_VALV, VALVE_STATE_CLOSED ); setValveState( P39_VALV, VALVE_STATE_CLOSED ); - preGenPermeateDefFlushTimer = getMSTimerCount(); break; - - case FP_PRE_GENP_DEF_INLET_WATER_CHECK: + case FP_PRE_GENP_DEF_FLUSH: setValveState( M4_VALV, VALVE_STATE_OPEN ); - setValveState( M12_VALV, VALVE_STATE_CLOSED ); + setValveState( M12_VALV, VALVE_STATE_OPEN ); setValveState( P6_VALV, VALVE_STATE_CLOSED ); setValveState( P11_VALV, VALVE_STATE_CLOSED ); setValveState( P33_VALV, VALVE_STATE_CLOSED ); setValveState( P34_VALV, VALVE_STATE_CLOSED ); setValveState( P37_VALV, VALVE_STATE_CLOSED ); setValveState( P39_VALV, VALVE_STATE_CLOSED ); - preGenPermeateDefWaterCheckTimer = getMSTimerCount(); + preGenPermeateDefFlushTimer = getMSTimerCount(); break; - case FP_PRE_GENP_DEF_PAUSED: setValveState( M4_VALV, VALVE_STATE_CLOSED ); setValveState( M12_VALV, VALVE_STATE_CLOSED ); @@ -192,6 +189,32 @@ /*********************************************************************//** * @brief + * The handlePreGenPDefInletPressureCheckState handles the inlet pressure check state of pre gen Permeate. + * @details \b Inputs: none + * @details \b Outputs: none + * @return the next state of pre gen Permeate mode + *************************************************************************/ +static FP_PRE_GENP_DEF_MODE_STATE_T handlePreGenPDefInletPressureCheckState( void ) +{ + FP_PRE_GENP_DEF_MODE_STATE_T state = FP_PRE_GENP_DEF_INLET_PRESSURE_CHECK; + +// if ( TRUE == 1 ))// TODO Alarm and Stop State Rework +// { +// state = FP_PRE_GENP_PAUSED; +// } + + execInletPressureCheck(); + + if ( TRUE == isInletPressureCheckCompleted() ) + { + signalStartFilterFlush(); + state = FP_PRE_GENP_DEF_FLUSH; + } + return state; +} + +/*********************************************************************//** + * @brief * The handlePreGenPDefFlushState handles the supply water of gen permeate * defeatured mode. * @details \b Inputs: preGenPermeateDefFlushTimer @@ -206,6 +229,7 @@ // { // state = FP_PRE_GENP_DEF_PAUSED; // } + //checkInletPressures(); TODO if( TRUE == didTimeout( preGenPermeateDefFlushTimer, PRE_GEN_DEF_FLUSH_TIMEOUT_MS ) ) {