Index: firmware/App/Controllers/DGInterface.c =================================================================== diff -u -r2f2419f67d9d458837893fef5cc1b21870021026 -r9e2667ac9d2f1b2add9811f93477f0365f1b4eb7 --- firmware/App/Controllers/DGInterface.c (.../DGInterface.c) (revision 2f2419f67d9d458837893fef5cc1b21870021026) +++ firmware/App/Controllers/DGInterface.c (.../DGInterface.c) (revision 9e2667ac9d2f1b2add9811f93477f0365f1b4eb7) @@ -57,7 +57,8 @@ // DG status static DG_OP_MODE_T dgCurrentOpMode = DG_MODE_INIT; ///< Current DG operation mode. -static U32 dgSubMode = 0; ///< Current state (sub-mode) of current DG operation mode. +static U32 dgSubMode = 0; ///< Current state (sub-mode) of current DG operation mode. +static BOOL dgStartCommandSent = FALSE; ///< Flag indicates command to start DG has been sent. static BOOL dgStarted = FALSE; ///< Flag indicates whether we have commanded the DG to start or stop. static BOOL dgTrimmerHeaterOn = FALSE; ///< Flag indicates whether we have commanded the DG to start or stop the trimmer heater. @@ -719,7 +720,7 @@ *************************************************************************/ void cmdStartDG( void ) { - dgStarted = TRUE; + dgStartCommandSent = TRUE; sendDGStartStopCommand( START_DG_CMD ); } @@ -946,6 +947,12 @@ *************************************************************************/ void checkDGRestart( void ) { + if ( dgStartCommandSent == TRUE && ( DG_MODE_CIRC == dgCurrentOpMode ) ) + { + dgStartCommandSent = FALSE; + dgStarted = TRUE; + } + if ( TRUE == dgStarted ) { if ( ( DG_MODE_FAUL != dgCurrentOpMode ) && ( DG_MODE_CIRC != dgCurrentOpMode ) &&