Index: firmware/App/Controllers/DGInterface.c =================================================================== diff -u -r50082d70d2ae672e5b1663c2b214e36a4bdd57e3 -r3635df042e6e3a86cc6b161290637f899fbaa6c2 --- firmware/App/Controllers/DGInterface.c (.../DGInterface.c) (revision 50082d70d2ae672e5b1663c2b214e36a4bdd57e3) +++ firmware/App/Controllers/DGInterface.c (.../DGInterface.c) (revision 3635df042e6e3a86cc6b161290637f899fbaa6c2) @@ -246,6 +246,11 @@ // Trigger alarm if not receiving new DG op mode message in timely manner checkDGDataFreshness( ALARM_ID_HD_DG_NEW_OPERATION_MODE_MESSAGE_NOT_RECEIVE, &dgOpModeDataFreshFlag ); + if ( TRUE == isAlarmActive( ALARM_ID_HD_DG_NEW_OPERATION_MODE_MESSAGE_NOT_RECEIVE ) ) + { + // we don't want to keep thinking DG is in a useful mode - set it to fault mode until DG is able to report its' true mode status + setDGOpMode( DG_MODE_FAUL, 0 ); + } // Check to see if DG has restarted checkDGRestart(); Index: firmware/App/Services/SystemComm.c =================================================================== diff -u -r4f3b9e168915ab13dfcdc74462d7142115cc2d57 -r3635df042e6e3a86cc6b161290637f899fbaa6c2 --- firmware/App/Services/SystemComm.c (.../SystemComm.c) (revision 4f3b9e168915ab13dfcdc74462d7142115cc2d57) +++ firmware/App/Services/SystemComm.c (.../SystemComm.c) (revision 3635df042e6e3a86cc6b161290637f899fbaa6c2) @@ -787,6 +787,8 @@ if ( MODE_PRET == opMode || MODE_TREA == opMode || MODE_POST == opMode ) { activateAlarmNoData( ALARM_ID_HD_DG_COMM_TIMEOUT ); + // we don't want to keep thinking DG is in a useful mode - set it to fault mode until DG is able to report its' true mode status + setDGOpMode( DG_MODE_FAUL, 0 ); } else // Otherwise clear the alarm {