Index: NVDataMgmt.c =================================================================== diff -u -rdfe75fc0d1b5093a7cc275f06ce8f6554d043677 -rc71d01dc1d346e3208a6d4bb289fd62625b7ec19 --- NVDataMgmt.c (.../NVDataMgmt.c) (revision dfe75fc0d1b5093a7cc275f06ce8f6554d043677) +++ NVDataMgmt.c (.../NVDataMgmt.c) (revision c71d01dc1d346e3208a6d4bb289fd62625b7ec19) @@ -27,6 +27,7 @@ #include "NVDataMgmt.h" #include "OperationModes.h" #include "RTC.h" +#include "SystemComm.h" #include "SystemCommMessages.h" #include "TaskGeneral.h" #include "Timers.h" @@ -1188,7 +1189,7 @@ // If no alarm has been provided to raise, just set the variable as TRUE if ( ALARM_ID_NO_ALARM == nvAlarm ) { - isNVDataInvalid = TRUE; + isNVDataInvalid = FALSE; } else { @@ -1613,7 +1614,8 @@ if ( FALSE == hasUsageRecordPassed ) { - enqueueRecordJob( NVDATAMGMT_WRITE, RECORDS_SPECS[ NVDATAMGMT_USAGE_INFO_RECORD ].dataLoc, NVDATAMGMT_USAGE_INFO_RECORD ); + // TODO uncomment + //enqueueRecordJob( NVDATAMGMT_WRITE, RECORDS_SPECS[ NVDATAMGMT_USAGE_INFO_RECORD ].dataLoc, NVDATAMGMT_USAGE_INFO_RECORD ); } // Check if the records' entire CRCs as well as the individual CRCs passed @@ -2779,7 +2781,7 @@ dgUsageInfoGroup.dgUsageInfo.lastResetTimeEpoch = getRTCTimestamp(); status = FALSE; - //activateAlarmNoData( ALARM_ID_DG_INVALID_USAGE_RECORD ); + //activateAlarmNoData( ALARM_ID_DG_INVALID_USAGE_RECORD ); // TODO remove when dialin is implemented } return status; @@ -3727,9 +3729,10 @@ *************************************************************************/ static BOOL areResourcesAvailableForNextJob( void ) { - BOOL status = FALSE; U32 tempIndex; PROCESS_RECORD_JOB_T tempJob; + BOOL status = FALSE; + BOOL checkUIStatus = TRUE; _disable_IRQ(); tempIndex = recordQueueFrontIndex; @@ -3740,14 +3743,18 @@ } _enable_IRQ(); - if ( NVDATAMGMT_RTC == tempJob.memoryLocation ) +#ifdef _HD_ + checkUIStatus = ( TRUE == uiCommunicated() ? TRUE : FALSE ); +#endif + + if ( ( NVDATAMGMT_RTC == tempJob.memoryLocation ) && ( TRUE == checkUIStatus ) ) { if ( ( RTC_RAM_STATE_READY == getRTCRAMState() ) && ( TRUE == getSemaphore( SEMAPHORE_RTC ) ) ) { status = TRUE; } } - else if ( NVDATAMGMT_EEPROM == tempJob.memoryLocation ) + else if ( ( NVDATAMGMT_EEPROM == tempJob.memoryLocation ) && ( TRUE == checkUIStatus ) ) { if ( Fapi_Status_FsmReady == FAPI_CHECK_FSM_READY_BUSY ) {