Index: NVDataMgmt.c =================================================================== diff -u -r09b8648f878639c4a8de458c7b9aa8b697c538ec -r78080e98a1adfcaa0568c33cb81ee0292eac8874 --- NVDataMgmt.c (.../NVDataMgmt.c) (revision 09b8648f878639c4a8de458c7b9aa8b697c538ec) +++ NVDataMgmt.c (.../NVDataMgmt.c) (revision 78080e98a1adfcaa0568c33cb81ee0292eac8874) @@ -896,15 +896,20 @@ { // CRC failed, request a read to read the data back from NV memory and update the structure enqueueRecordJob( NVDATAMGMT_READ, recordSpec.dataLoc, job ); + nvDataMgmtExecReceiveRecordState = NVDATAMGMT_RECEIVE_RECORD_IDLE; - status = FALSE; + status = FALSE; } else { if ( NVDATAMGMT_EEPROM == recordSpec.dataLoc ) { // CRC passed, enqueue an erase, a write of calibration data and a write of service record BOOL scheduleStatus = enqueueSector0Records(); + + // Signal that there is a new calibration record available. + newCalStartTimer = getMSTimerCount(); + isNewCalAvailable = TRUE; } else { @@ -3053,28 +3058,28 @@ isCalRecordValid = isCalRecordValid == FALSE ? FALSE : isHardwareRecordValid; } - DG_FILTER_CAL_RECORD_T* roFilter = &dgCalibrationRecord.dgCalibrationGroups.filtersRecord.roFilter; - isHardwareRecordValid = isDGFilterRecordValid( roFilter ); - isCalRecordValid = isCalRecordValid == FALSE ? FALSE : isHardwareRecordValid; + DG_FILTER_CAL_RECORD_T* roFilter = &dgCalibrationRecord.dgCalibrationGroups.filtersRecord.roFilter; + isHardwareRecordValid = isDGFilterRecordValid( roFilter ); + isCalRecordValid = isCalRecordValid == FALSE ? FALSE : isHardwareRecordValid; - DG_FILTER_CAL_RECORD_T* ultraFilter = &dgCalibrationRecord.dgCalibrationGroups.filtersRecord.ultraFilter; - isHardwareRecordValid = isDGFilterRecordValid( ultraFilter ); - isCalRecordValid = isCalRecordValid == FALSE ? FALSE : isHardwareRecordValid; + DG_FILTER_CAL_RECORD_T* ultraFilter = &dgCalibrationRecord.dgCalibrationGroups.filtersRecord.ultraFilter; + isHardwareRecordValid = isDGFilterRecordValid( ultraFilter ); + isCalRecordValid = isCalRecordValid == FALSE ? FALSE : isHardwareRecordValid; - DG_FILTER_CAL_RECORD_T* sedimentFilter = &dgCalibrationRecord.dgCalibrationGroups.filtersRecord.sedimentFilter; - isHardwareRecordValid = isDGFilterRecordValid( sedimentFilter ); - isCalRecordValid = isCalRecordValid == FALSE ? FALSE : isHardwareRecordValid; + DG_FILTER_CAL_RECORD_T* sedimentFilter = &dgCalibrationRecord.dgCalibrationGroups.filtersRecord.sedimentFilter; + isHardwareRecordValid = isDGFilterRecordValid( sedimentFilter ); + isCalRecordValid = isCalRecordValid == FALSE ? FALSE : isHardwareRecordValid; - DG_FILTER_CAL_RECORD_T* carbonFilter = &dgCalibrationRecord.dgCalibrationGroups.filtersRecord.carbonFilter; - isHardwareRecordValid = isDGFilterRecordValid( carbonFilter ); - isCalRecordValid = isCalRecordValid == FALSE ? FALSE : isHardwareRecordValid; + DG_FILTER_CAL_RECORD_T* carbonFilter = &dgCalibrationRecord.dgCalibrationGroups.filtersRecord.carbonFilter; + isHardwareRecordValid = isDGFilterRecordValid( carbonFilter ); + isCalRecordValid = isCalRecordValid == FALSE ? FALSE : isHardwareRecordValid; - DG_FILTER_CAL_RECORD_T* carbonPolishFilter = &dgCalibrationRecord.dgCalibrationGroups.filtersRecord.carbonPolishFilter; - isHardwareRecordValid = isDGFilterRecordValid( carbonPolishFilter ); - isCalRecordValid = isCalRecordValid == FALSE ? FALSE : isHardwareRecordValid; + DG_FILTER_CAL_RECORD_T* carbonPolishFilter = &dgCalibrationRecord.dgCalibrationGroups.filtersRecord.carbonPolishFilter; + isHardwareRecordValid = isDGFilterRecordValid( carbonPolishFilter ); + isCalRecordValid = isCalRecordValid == FALSE ? FALSE : isHardwareRecordValid; - DG_FANS_CAL_RECORD_T* fan = &dgCalibrationRecord.dgCalibrationGroups.fansRecord; - for ( i = 0; i < NUM_OF_CAL_DATA_BICARB_CONCENTRATES; i++ ) + DG_FANS_CAL_RECORD_T* fan = &dgCalibrationRecord.dgCalibrationGroups.fansRecord; + for ( i = 0; i < NUM_OF_CAL_DATA_FANS; i++ ) { isHardwareRecordValid = isDGFanRecordValid( &fan->fans[ i ] ); isCalRecordValid = isCalRecordValid == FALSE ? FALSE : isHardwareRecordValid;