Index: firmware/App/Modes/ModeFill.c =================================================================== diff -u -r992975fb3cd56ddd7567b5e27f8bebd9b9948e9d -re41df6b9a323e27c7d779f602579bbcf457ffa6d --- firmware/App/Modes/ModeFill.c (.../ModeFill.c) (revision 992975fb3cd56ddd7567b5e27f8bebd9b9948e9d) +++ firmware/App/Modes/ModeFill.c (.../ModeFill.c) (revision e41df6b9a323e27c7d779f602579bbcf457ffa6d) @@ -218,7 +218,7 @@ { F32 targetFlowLPM = getTargetFillFlowRateLPM(); - if ( getTestConfigStatus( TEST_CONFIG_RECOVER_TREATMENT ) != TRUE ) + if ( ( getTestConfigStatus( TEST_CONFIG_RECOVER_TREATMENT ) != TRUE ) || ( getPreviousOperationMode() != DG_MODE_FAUL ) ) { initFillMode(); setCurrentSubState( NO_SUB_STATE ); Index: firmware/App/Modes/ModeROPermeateSample.c =================================================================== diff -u -r992975fb3cd56ddd7567b5e27f8bebd9b9948e9d -re41df6b9a323e27c7d779f602579bbcf457ffa6d --- firmware/App/Modes/ModeROPermeateSample.c (.../ModeROPermeateSample.c) (revision 992975fb3cd56ddd7567b5e27f8bebd9b9948e9d) +++ firmware/App/Modes/ModeROPermeateSample.c (.../ModeROPermeateSample.c) (revision e41df6b9a323e27c7d779f602579bbcf457ffa6d) @@ -49,6 +49,16 @@ // ********** private function prototypes ********** +static void failROPermeateSample( void ); +static void publishROPermeateSampleData( void ); +static void monitorROPermeateSample( void ); +static void setROPermeateSampleActuators( DG_RO_PERM_STATE_T state ); +static DG_RO_PERM_STATE_T checkRsrvrMgmtTimeoutStatus( DG_RESERVOIR_ID_T rsrvrID, DG_RO_PERM_STATE_T state ); +static DG_RO_PERM_STATE_T checkRsrvrPartialFillStatus( DG_RESERVOIR_ID_T rsrvrID, DG_RO_PERM_STATE_T state ); +static DG_RO_PERM_STATE_T checkRsrvrMixDrainStatus( DG_RESERVOIR_ID_T rsrvrID, DG_RO_PERM_STATE_T state ); +static DG_RO_PERM_STATE_T checkRsrvrFillStatus( DG_RESERVOIR_ID_T rsrvrID, DG_RO_PERM_STATE_T state ); +static DG_RO_PERM_STATE_T checkRsrvrDrainStatus( DG_RESERVOIR_ID_T rsrvrID, DG_RO_PERM_STATE_T state ); + /*********************************************************************//** * @brief * The initROPermeateSampleMode function initializes the RO permeate sample Index: firmware/App/Modes/OperationModes.c =================================================================== diff -u -r992975fb3cd56ddd7567b5e27f8bebd9b9948e9d -re41df6b9a323e27c7d779f602579bbcf457ffa6d --- firmware/App/Modes/OperationModes.c (.../OperationModes.c) (revision 992975fb3cd56ddd7567b5e27f8bebd9b9948e9d) +++ firmware/App/Modes/OperationModes.c (.../OperationModes.c) (revision e41df6b9a323e27c7d779f602579bbcf457ffa6d) @@ -154,7 +154,6 @@ // If the test configuration is not enabled check for the legality of the transition request newMode = MODE_TRANSITION_TABLE[ currentMode ][ newMode ]; } - // TODO a check to stop this transaction if we are not in treatment // is requested new mode valid and legal at this time? if ( newMode >= DG_MODE_NLEG )