Index: firmware/App/Modes/Prime.c =================================================================== diff -u -r0a4dcd288d4347b85baaa0b07da568b6add5eac7 -r575dbd964b33cd2bda6a3c30af5391310ffe7d3c --- firmware/App/Modes/Prime.c (.../Prime.c) (revision 0a4dcd288d4347b85baaa0b07da568b6add5eac7) +++ firmware/App/Modes/Prime.c (.../Prime.c) (revision 575dbd964b33cd2bda6a3c30af5391310ffe7d3c) @@ -165,7 +165,7 @@ *************************************************************************/ void initPrime( void ) { - currentPrimeState = HD_PRIME_START_STATE; + currentPrimeState = HD_PRIME_WAIT_FOR_USER_START_STATE; currentReservoirMgmtState = PRIME_RESERVOIR_MGMT_START_STATE; primeStartTime = 0; primePauseStartTime = 0; @@ -221,19 +221,6 @@ // execute prime sub-mode state machine switch ( currentPrimeState ) { - case HD_PRIME_START_STATE: -#ifndef _RELEASE_ - if ( SW_CONFIG_ENABLE_VALUE == getSoftwareConfigStatus( SW_CONFIG_DISABLE_PRIMING ) ) - { - currentPrimeState = HD_PRIME_RESERVOIR_ONE_FILL_COMPLETE_STATE; - } - else -#endif - { - currentPrimeState = HD_PRIME_WAIT_FOR_USER_START_STATE; - } - break; - case HD_PRIME_WAIT_FOR_USER_START_STATE: currentPrimeState = handlePrimeWaitForUserStartState(); break; @@ -278,13 +265,14 @@ currentPrimeState = handlePrimeWetSelfTestsState(); break; - case HD_PRIME_COMPLETE: - break; - case HD_PRIME_PAUSE: currentPrimeState = handlePrimePause(); break; + case HD_PRIME_COMPLETE: + // ok, do nothing here. pre-treatment will move on to recirculate once we get here. + break; + default: SET_ALARM_WITH_2_U32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, SW_FAULT_ID_MODE_PRE_TREATMENT_PRIME_INVALID_STATE, currentReservoirMgmtState ); break; @@ -483,6 +471,14 @@ } #endif +#ifndef _RELEASE_ + if ( SW_CONFIG_ENABLE_VALUE == getSoftwareConfigStatus( SW_CONFIG_DISABLE_PRIMING ) ) + { + state = HD_PRIME_RESERVOIR_ONE_FILL_COMPLETE_STATE; + } + else +#endif + if ( TRUE == primeStartRequested ) { primeStartRequested = FALSE;