Index: NVDataMgmt.c =================================================================== diff -u -r5ae8aa4f20756e41805c0259c4e5b7f56f523240 -r6b11ea4a37a54cd47af543900dfa68dac27c8c7e --- NVDataMgmt.c (.../NVDataMgmt.c) (revision 5ae8aa4f20756e41805c0259c4e5b7f56f523240) +++ NVDataMgmt.c (.../NVDataMgmt.c) (revision 6b11ea4a37a54cd47af543900dfa68dac27c8c7e) @@ -8,7 +8,7 @@ * @file NVDataMgmt.c * * @author (last) Dara Navaei -* @date (last) 31-Mar-2022 +* @date (last) 14-Jul-2022 * * @author (original) Dara Navaei * @date (original) 12-Feb-2020 @@ -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;