Index: firmware/App/Modes/ModeGenIdle.c =================================================================== diff -u -rc4f3105da2ed8a7c40950588b54b79067185a3ad -r8c5fef6b7ab382db81084a3abe9604e01882aef9 --- firmware/App/Modes/ModeGenIdle.c (.../ModeGenIdle.c) (revision c4f3105da2ed8a7c40950588b54b79067185a3ad) +++ firmware/App/Modes/ModeGenIdle.c (.../ModeGenIdle.c) (revision 8c5fef6b7ab382db81084a3abe9604e01882aef9) @@ -104,7 +104,7 @@ { // Re-initialize each time we transition to generation idle mode initGenIdleMode(); - + setCurrentSubState( NO_SUB_STATE ); // Set initial actuator states setValveState( VSP, VALVE_STATE_CLOSED ); setValveState( VPI, VALVE_STATE_OPEN ); @@ -289,6 +289,7 @@ static DG_GEN_IDLE_MODE_STATE_T handleBadFillState( void ) { DG_GEN_IDLE_MODE_STATE_T result = DG_GEN_IDLE_MODE_STATE_HANDLE_BAD_FILL; + U32 priorSubState = badFillState; // Execute current bad fill state switch ( badFillState ) @@ -319,6 +320,10 @@ break; } + if ( priorSubState != badFillState ) + { + setCurrentSubState( badFillState ); + } return result; }