Index: firmware/App/Services/SystemComm.c =================================================================== diff -u -r47e48a57a0234bc7a24b15a9e6a64097f9c72659 -radb32ef196a2c56d54225caa47f6d50e811cfc68 --- firmware/App/Services/SystemComm.c (.../SystemComm.c) (revision 47e48a57a0234bc7a24b15a9e6a64097f9c72659) +++ firmware/App/Services/SystemComm.c (.../SystemComm.c) (revision adb32ef196a2c56d54225caa47f6d50e811cfc68) @@ -25,6 +25,7 @@ #include "SystemComm.h" #include "Comm.h" #include "Interrupts.h" +#include "OperationModes.h" #include "Timers.h" #include "Utilities.h" #include "SystemCommMessages.h" @@ -772,8 +773,8 @@ for ( i = 0; i < PENDING_ACK_LIST_SIZE; i++ ) { // pending ACK expired? if ( ( TRUE == pendingAckList[ i ].used ) && ( TRUE == didTimeout( pendingAckList[ i ].timeStamp, MSG_NOT_ACKED_TIMEOUT_MS ) ) ) - { // if retries left, reset and resend pending message - if ( pendingAckList[ i ].retries > 0 ) + { // if retries left, reset and resend pending message. Do not retry when in POST since the UI might not still be responsive + if ( ( pendingAckList[ i ].retries > 0 ) && ( getCurrentOperationMode() != DG_MODE_INIT ) ) { // re-queue message for transmit pendingAckList[ i ].retries--; pendingAckList[ i ].timeStamp = getMSTimerCount(); @@ -785,9 +786,7 @@ U16 msgID; memcpy( &msgID, &pendingAckList[ i ].msg[ sizeof( U08 ) + sizeof( U16 ) ], sizeof( U16 ) ); -#ifndef DISABLE_ACK_ALARM SET_ALARM_WITH_1_U32_DATA( ALARM_ID_DG_CAN_MESSAGE_NOT_ACKED, (U32)msgID ); -#endif pendingAckList[ i ].used = FALSE; // take pending message off of list } } @@ -890,9 +889,12 @@ handleDGSendConcentrateMixingRatios( message ); break; +#if 0 + // For Phase 1B case MSG_ID_DG_SCHEDULED_RUNS_INFO: handleDGScheduledRunsRequest( message ); break; +#endif case MSG_ID_HD_REQUEST_DG_SERVICE_MODE: handleServiceModeRequest( message ); @@ -916,11 +918,8 @@ break; } -#ifndef _VECTORCAST_ // handle any test messages if tester has logged in successfully - // NOTE: END_OF_MSG_IDS = 65536 which is out of the range of a U16 so it is subtracted by 1. This is unreachable in development testing - if ( ( msgID > MSG_ID_FIRST_DG_TESTER_MESSAGE ) && ( msgID <= END_OF_MSG_IDS - 1 ) && ( TRUE == isTestingActivated() ) ) -#endif + if ( ( msgID > MSG_ID_FIRST_DG_TESTER_MESSAGE ) && ( TRUE == isTestingActivated() ) ) { switch ( msgID ) { @@ -1120,13 +1119,16 @@ handleSetDGServiceRecord( message ); break; +#if 0 + // For Phase 1B case MSG_ID_DG_GET_SCHEDULED_RUNS_RECORD: handleGetDGScheduledRunsRecord( message ); break; case MSG_ID_DG_SET_SCHEDULED_RUNS_RECORD: handleSetDGScheduledRunsRecord( message ); break; +#endif case MSG_ID_DG_FLUID_LEAK_SEND_INTERVAL_OVERRIDE: handleSetFluidLeakBroadcastIntervalOverrideRequest( message );