Index: NVDataMgmt.c =================================================================== diff -u -r25eb8368c901c8071ea7a2459e6db3bfafc75e23 -ra7a02bc7f05ca6b400db99501fcd37b56510519d --- NVDataMgmt.c (.../NVDataMgmt.c) (revision 25eb8368c901c8071ea7a2459e6db3bfafc75e23) +++ NVDataMgmt.c (.../NVDataMgmt.c) (revision a7a02bc7f05ca6b400db99501fcd37b56510519d) @@ -1414,21 +1414,40 @@ #ifdef _HD_ case GET_CAL_BLOOD_LEAK_SENSOR: nvDataStartPtr = (U08*)&hdCalibrationRecord.hdCalibrationGroups.bloodLeakSensorCalRecord; + nvDataLength = sizeof( hdCalibrationRecord.hdCalibrationGroups.bloodLeakSensorCalRecord ); isNVDataValid = ( 0 == hdCalibrationRecord.hdCalibrationGroups.bloodLeakSensorCalRecord.calibrationTime ? FALSE : TRUE ); break; case GET_CAL_TEMPERATURE_SESNORS: nvDataStartPtr = (U08*)&hdCalibrationRecord.hdCalibrationGroups.tempSensorsCalRecord; + nvDataLength = sizeof( hdCalibrationRecord.hdCalibrationGroups.tempSensorsCalRecord ); // Loop through each sensor's calibration data and make sure it is valid for ( i = 0; i < NUM_OF_CAL_DATA_HD_TEMP_SENSORS; i++ ) isNVDataValid |= ( 0 == hdCalibrationRecord.hdCalibrationGroups.tempSensorsCalRecord.hdTemperatureSensors[ i ].calibrationTime ? FALSE : TRUE ); break; case GET_CAL_ACCEL_SENSORS: nvDataStartPtr = (U08*)&hdCalibrationRecord.hdCalibrationGroups.accelerometerSensorCalRecord; + nvDataLength = sizeof( hdCalibrationRecord.hdCalibrationGroups.accelerometerSensorCalRecord ); isNVDataValid = ( 0 == hdCalibrationRecord.hdCalibrationGroups.accelerometerSensorCalRecord.calibrationTime ? FALSE : TRUE ); break; + 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 ); + break; + + case GET_SYS_RECORD: + nvDataStartPtr = (U08*)&hdSystemGroup.hdsystemRecord; + nvDataLength = sizeof( hdSystemGroup.hdsystemRecord ); + break; + + case GET_SRV_RECORD: + nvDataStartPtr = (U08*)&hdServiceGroup.hdServiceRecord; + nvDataLength = sizeof( hdServiceGroup.hdServiceRecord ); + break; + default: // TODO software fault break; @@ -1576,7 +1595,15 @@ #ifdef _DG_ value = dgSWConfigGroup.dgSWConfigsRecord.swConfigs[ config ]; #endif +#ifdef _HD_ + HD_OP_MODE_T opMode = getCurrentOperationMode(); + + if ( ( MODE_FAUL == opMode ) || ( MODE_SERV == opMode ) || ( MODE_STAN == opMode ) ) + { + value = hdSWConfigGroup.hdSWConfigsRecord.swConfigs[ config ]; + } #endif +#endif return value; } @@ -1736,42 +1763,6 @@ return hdCalibrationRecord.hdCalibrationGroups.tempSensorsCalRecord; } -/*********************************************************************//** - * @brief - * The getHDHeparinForceSensorCalibrationRecord function returns the HD - * heparin force sensor calibration record. - * @details Inputs: none - * @details Outputs: none - * @return HD heparin force sensor calibration record - *************************************************************************/ -HD_HEPARIN_FORCE_SENSOR_CAL_RECORD_T getHDHeparinForceSensorCalibrationRecord( void ) -{ - return hdCalibrationRecord.hdCalibrationGroups.heparinForceSensorCalRecord; -} - -/*********************************************************************//** - * @brief - * The getHDSystemRecord function returns the HD system record. - * @details Inputs: none - * @details Outputs: none - * @return HD system record - *************************************************************************/ -HD_SYSTEM_RECORD_T getHDSystemRecord( void ) -{ - return hdSystemGroup.hdsystemRecord; -} - -/*********************************************************************//** - * @brief - * The getHDServiceRecord function returns the HD service record. - * @details Inputs: none - * @details Outputs: none - * @return HD service record - *************************************************************************/ -HD_SERVICE_RECORD_T getHDServiceRecord( void ) -{ - return hdServiceGroup.hdServiceRecord; -} #endif /*********************************************************************//** @@ -4209,7 +4200,7 @@ if ( calcCRC != recordCRC ) { - memset( (U08*)&hdSWConfigGroup, 0, sizeof( HD_SW_CONFIG_GROUP_T ) ); + memset( (U08*)&hdSWConfigGroup, SW_CONFIG_DISABLE_VALUE, sizeof( HD_SW_CONFIG_GROUP_T ) ); // Recalculate the CRC with the default values hdSWConfigGroup.crc = crc16( (U08*)&hdSWConfigGroup, sizeof( HD_SW_CONFIG_GROUP_T ) - sizeof(U16) );