Index: NVDataMgmt.c =================================================================== diff -u -r6abc34804f57c48e9faf927e8e788d0de757026c -r7ff9460b08012061de953c0155f555a0528b3904 --- NVDataMgmt.c (.../NVDataMgmt.c) (revision 6abc34804f57c48e9faf927e8e788d0de757026c) +++ NVDataMgmt.c (.../NVDataMgmt.c) (revision 7ff9460b08012061de953c0155f555a0528b3904) @@ -1039,7 +1039,7 @@ case GET_CAL_HEPARIN_FORCE_SENSOR: nvDataStartPtr = (U08*)&hdCalibrationRecord.hdCalibrationGroups.heparinForceSensorCalRecord; nvDataLength = sizeof( hdCalibrationRecord.hdCalibrationGroups.heparinForceSensorCalRecord ); - isNVDataValid = ( 0 == hdCalibrationRecord.hdCalibrationGroups.heparinForceSensorCalRecord.hdHeparinForceSensor.calibrationTime ? FALSE : TRUE ); + isNVDataValid = ( 0 == hdCalibrationRecord.hdCalibrationGroups.heparinForceSensorCalRecord.calibrationTime ? FALSE : TRUE ); break; case GET_CAL_PUMPS: @@ -1533,6 +1533,21 @@ return status; } + +/*********************************************************************//** + * @brief + * The resetNVDataMgmtPostState function resets the NV data management POST + * state. + * @details Inputs: none + * @details Outputs: nvDataMgmtSelfTestState + * @param none + * @return none + *************************************************************************/ +void resetNVDataMgmtPostState( void ) +{ + nvDataMgmtSelfTestState = NVDATAMGMT_SELF_TEST_STATE_START; +} + #endif /*********************************************************************//** * @brief @@ -1611,7 +1626,11 @@ currentTime = getMSTimerCount(); readFromRAM( startAddress, maxBufferLength ); +#ifndef BOARD_WITH_NO_HARDWARE state = NVDATAMGMT_SELF_TEST_STATE_READ_SERVICE_RECORD; +#else + state = NVDATAMGMT_SELF_TEST_STATE_CHECK_CRC; +#endif } } @@ -1931,7 +1950,9 @@ #ifdef _HD_ haveCalGroupsPassed = isHDCalibrationRecordValid(); hasSystemRecordPassed = isHDSystemRecordValid(); +#ifndef BOARD_WITH_NO_HARDWARE hasServiceRecordPassed = isHDServiceRecordValid(); +#endif #ifndef _RELEASE_ hasSWConfigRecordPassed = isSWConfigRecordValid(); #endif @@ -1959,6 +1980,8 @@ if ( ( TRUE == haveCalGroupsPassed ) && ( TRUE == haveRecordsPassed ) && ( TRUE == hasSystemRecordPassed ) && ( TRUE == hasServiceRecordPassed ) ) { + newCalStartTimer = getMSTimerCount(); + isNewCalAvailable = TRUE; nvDataMgmtSelfTestResult = SELF_TEST_STATUS_PASSED; } else @@ -3864,7 +3887,7 @@ } HD_HEPARIN_FORCE_SENSOR_CAL_RECORD_T* heparinForce = &hdCalibrationRecord.hdCalibrationGroups.heparinForceSensorCalRecord; - record = (POLYNOMIAL_CAL_PAYLOAD_T*)&heparinForce->hdHeparinForceSensor; + record = (POLYNOMIAL_CAL_PAYLOAD_T*)&heparinForce->hdHeparinForceSensorDACVoltage; isHardwareRecordValid = isPolynomialRecordValid( record ); isCalRecordValid = isCalRecordValid == FALSE ? FALSE : isHardwareRecordValid;