Index: firmware/App/Services/NVRecordsDD.c =================================================================== diff -u -r6a30402a7d47d1c77c04845a1c880935f00c6551 -rb50ce33669efe6dfcf5f8a211c78a6c2c309adf3 --- firmware/App/Services/NVRecordsDD.c (.../NVRecordsDD.c) (revision 6a30402a7d47d1c77c04845a1c880935f00c6551) +++ firmware/App/Services/NVRecordsDD.c (.../NVRecordsDD.c) (revision b50ce33669efe6dfcf5f8a211c78a6c2c309adf3) @@ -906,24 +906,28 @@ *************************************************************************/ static void initDDInstitutionalRecord( void ) { - DD_INSTIT_BASIC_ITEMS_T basicIdx; - DD_INSTIT_ADVANCED_ITEMS_T advancedIdx; + U32 i; - for ( basicIdx = FIRST_INSTIT_BASIC_PARAM; basicIdx < NUM_OF_INSTIT_BASIC; basicIdx++ ) + for ( i = FIRST_INSTIT_BASIC_PARAM; i < NUM_OF_INSTIT_BASIC; i++ ) { - ddInstitutionalGroup.ddInstitutionalRecord.basicRecord.param[ basicIdx ].min = INSTIT_BASIC_PROP[ basicIdx ].data.min; - ddInstitutionalGroup.ddInstitutionalRecord.basicRecord.param[ basicIdx ].max = INSTIT_BASIC_PROP[ basicIdx ].data.max; - ddInstitutionalGroup.ddInstitutionalRecord.basicRecord.param[ basicIdx ].def = INSTIT_BASIC_PROP[ basicIdx ].data.def; + ddInstitutionalGroup.ddInstitutionalRecord.basicRecord.param[ i ].min = INSTIT_BASIC_PROP[ i ].data.min; + ddInstitutionalGroup.ddInstitutionalRecord.basicRecord.param[ i ].max = INSTIT_BASIC_PROP[ i ].data.max; + ddInstitutionalGroup.ddInstitutionalRecord.basicRecord.param[ i ].def = INSTIT_BASIC_PROP[ i ].data.def; } - ddInstitutionalGroup.ddInstitutionalRecord.basicRecord.calibrationTime = RECORD_DEFAULT_TIME - for ( advancedIdx = FIRST_INSTIT_ADVANCED_PARAM; advancedIdx < NUM_OF_INSTIT_ADVANCED; advancedIdx++ ) + for ( i = FIRST_INSTIT_ADVANCED_PARAM; i < NUM_OF_INSTIT_ADVANCED; i++ ) { - ddInstitutionalGroup.ddInstitutionalRecord.advancedRecord.param[ advancedIdx ].min = INSTIT_ADVANCED_PROP[ advancedIdx ].data.min; - ddInstitutionalGroup.ddInstitutionalRecord.advancedRecord.param[ advancedIdx ].max = INSTIT_ADVANCED_PROP[ advancedIdx ].data.max; - ddInstitutionalGroup.ddInstitutionalRecord.advancedRecord.param[ advancedIdx ].def = INSTIT_ADVANCED_PROP[ advancedIdx ].data.def; + ddInstitutionalGroup.ddInstitutionalRecord.advancedRecord.param[ i ].min = INSTIT_ADVANCED_PROP[ i ].data.min; + ddInstitutionalGroup.ddInstitutionalRecord.advancedRecord.param[ i ].max = INSTIT_ADVANCED_PROP[ i ].data.max; + ddInstitutionalGroup.ddInstitutionalRecord.advancedRecord.param[ i ].def = INSTIT_ADVANCED_PROP[ i ].data.def; } - ddInstitutionalGroup.ddInstitutionalRecord.advancedRecord.calibrationTime = RECORD_DEFAULT_TIME + + for ( i = FIRST_INSTIT_ADDITIONAL_PARAM; i < NUM_OF_INSTIT_ADDITIONAL; i++ ) + { + ddInstitutionalGroup.ddInstitutionalRecord.advancedRecord.param[ i ].min = INSTIT_ADVANCED_PROP[ i ].data.min; + ddInstitutionalGroup.ddInstitutionalRecord.advancedRecord.param[ i ].max = INSTIT_ADVANCED_PROP[ i ].data.max; + ddInstitutionalGroup.ddInstitutionalRecord.advancedRecord.param[ i ].def = INSTIT_ADVANCED_PROP[ i ].data.def; + } } /*********************************************************************//** @@ -1198,501 +1202,6 @@ /*********************************************************************//** * @brief - * The getSystemRecord function gets the system record - * @details \b Inputs: ddSystemGroup.ddSystemRecord - * @details \b Outputs: none - * @return NVM system Record - *************************************************************************/ -DD_SYSTEM_RECORD_T getSystemRecord( void ) -{ - return ddSystemGroup.ddSystemRecord; -} - -/*********************************************************************//** - * @brief - * The setSystemRecord function sets the system record - * @details \b Inputs: none - * @details \b Outputs: ddSystemGroup.ddSystemRecord - * @param record system record to be saved - * @return none - *************************************************************************/ -void setSystemRecord( DD_SYSTEM_RECORD_T record ) -{ - ddSystemGroup.ddSystemRecord = record; -} - -/*********************************************************************//** - * @brief - * The getServiceRecord function gets the service record - * @details \b Inputs:ddServiceGroup.ddServiceRecord - * @details \b Outputs: none - * @return NVM service Record - *************************************************************************/ -DD_SERVICE_RECORD_T getServiceRecord( void ) -{ - return ddServiceGroup.ddServiceRecord; -} - -/*********************************************************************//** - * @brief - * The setServiceRecord function sets the service record - * @details \b Inputs: none - * @details \b Outputs: ddServiceGroup.ddServiceRecord - * @param record service record to be saved - * @return none - *************************************************************************/ -void setServiceRecord( DD_SERVICE_RECORD_T record ) -{ - ddServiceGroup.ddServiceRecord = record; -} - -/*********************************************************************//** - * @brief - * The getPressureSensorCalRecord function gets the calibration record - * of the specified pressure sensor. - * @details \b Inputs: ddCalibrationGroup.ddCalibrationRecord.presSensorsCalRecord - * @details \b Outputs: none - * @param snsrIdx Pressure sensor index - * @return record corresponding pressure sensor calibration record - *************************************************************************/ -LINEAR_CAL_PAYLOAD_T getPressureSensorCalRecord( U08 snsrIdx ) -{ - LINEAR_CAL_PAYLOAD_T record; - benignLinearCalRecord( &record ); - - if ( snsrIdx < NUM_OF_PRESSURE_SENSORS ) - { - record = ( ddCalibrationGroup.ddCalibrationRecord.presSensorsCalRecord.pressureSensors[ snsrIdx ] ); - } - - return record; -} - -/*********************************************************************//** - * @brief - * The setPressureSensorCalRecord function sets the calibration record - * of the specified pressure sensor. - * @details \b Inputs: none - * @details \b Outputs: ddCalibrationGroup.ddCalibrationRecord.presSensorsCalRecord - * @param snsrIdx Pressure sensor index - * @record Pressure Sensor calibration record to be saved - * @return none - *************************************************************************/ -void setPressureSensorCalRecord( U08 snsrIdx, LINEAR_CAL_PAYLOAD_T record ) -{ - if ( snsrIdx < NUM_OF_PRESSURE_SENSORS ) - { - ddCalibrationGroup.ddCalibrationRecord.presSensorsCalRecord.pressureSensors[ snsrIdx ] = record; - } -} - -/*********************************************************************//** - * @brief - * The getTemperatureSensorCalRecord function gets the calibration - * record of the specified temperature sensor. - * @details \b Inputs:ddCalibrationGroup.ddCalibrationRecord.tempSensorsCalRecord - * @details \b Outputs: none - * @param snsrIdx Temperature sensor index - * @return record corresponding temperature sensor calibration record - *************************************************************************/ -LINEAR_CAL_PAYLOAD_T getTemperatureSensorCalRecord( U08 snsrIdx ) -{ - LINEAR_CAL_PAYLOAD_T record; - benignLinearCalRecord( &record ); - - if ( snsrIdx < NUM_OF_TEMPERATURE_SENSORS ) - { - record = ( ddCalibrationGroup.ddCalibrationRecord.tempSensorsCalRecord.tempSensors[ snsrIdx ] ); - } - - return record; -} - -/*********************************************************************//** - * @brief - * The getTemperatureSensorCalRecord function sets the calibration record - * of the specified temperature sensor. - * @details \b Inputs: none - * @details \b Outputs: ddCalibrationGroup.ddCalibrationRecord.tempSensorsCalRecord - * @param snsrIdx Temperature sensor index - * @record Temperature Sensor calibration record to be saved - * @return none - *************************************************************************/ -void setTemperatureSensorCalRecord( U08 snsrIdx, LINEAR_CAL_PAYLOAD_T record ) -{ - if ( snsrIdx < NUM_OF_TEMPERATURE_SENSORS ) - { - ddCalibrationGroup.ddCalibrationRecord.tempSensorsCalRecord.tempSensors[ snsrIdx ] = record; - } -} - -/*********************************************************************//** - * @brief - * The getConcPumpCalRecord function gets the calibration record of the - * specified concentrate pump. - * @details \b Inputs:ddCalibrationGroup.ddCalibrationRecord.concentratePumpsRecord - * @details \b Outputs: none - * @param pumpIdx Concentrate pump index - * @return record corresponding concentrate pump calibration record - *************************************************************************/ -LINEAR_CAL_PAYLOAD_T getConcPumpCalRecord( U08 pumpIdx ) -{ - LINEAR_CAL_PAYLOAD_T record; - benignLinearCalRecord( &record ); - - if ( pumpIdx < NUM_OF_CONCENTRATE_PUMPS ) - { - record = ( ddCalibrationGroup.ddCalibrationRecord.concentratePumpsRecord.concentratePumps[ pumpIdx ] ); - } - - return record; -} - -/*********************************************************************//** - * @brief - * The setConcPumpCalRecord function sets the calibration record - * of the specified Concentrate pump . - * @details \b Inputs: none - * @details \b Outputs: ddCalibrationGroup.ddCalibrationRecord.concentratePumpsRecord - * @param snsrIdx Concentrate pump index - * @record Concentrate pump calibration record to be saved - * @return none - *************************************************************************/ -void setConcPumpCalRecord( U08 snsrIdx, LINEAR_CAL_PAYLOAD_T record ) -{ - if ( snsrIdx < NUM_OF_CONCENTRATE_PUMPS ) - { - ddCalibrationGroup.ddCalibrationRecord.concentratePumpsRecord.concentratePumps[ snsrIdx ] = record; - } -} - -/*********************************************************************//** - * @brief - * The getD12PumpCalRecord function gets the calibration record of the - * D12 dialysate pump. - * @details \b Inputs:ddCalibrationGroup.ddCalibrationRecord.d12DialysatePumpRecord - * @details \b Outputs: none - * @return D12 dialysate pump calibration record - *************************************************************************/ -DD_D12_DIALYSATE_PUMP_RECORD_T getD12PumpCalRecord( void ) -{ - return ( ddCalibrationGroup.ddCalibrationRecord.d12DialysatePumpRecord ); -} - -/*********************************************************************//** - * @brief - * The setD12PumpCalRecord function sets the calibration record - * of the D12 dialysate pump . - * @details \b Inputs: none - * @details \b Outputs: ddCalibrationGroup.ddCalibrationRecord.d12DialysatePumpRecord - * @record D12 dialysate pump calibration record to be saved - * @return none - *************************************************************************/ -void setD12PumpCalRecord( DD_D12_DIALYSATE_PUMP_RECORD_T record ) -{ - ddCalibrationGroup.ddCalibrationRecord.d12DialysatePumpRecord = record; -} - -/*********************************************************************//** - * @brief - * The getD48PumpCalRecord function gets the calibration record of the - * D48 dialysate pump. - * @details \b Inputs:ddCalibrationGroup.ddCalibrationRecord.d48DialysatePumpRecord - * @details \b Outputs: none - * @return D48 dialysate pump calibration record - *************************************************************************/ -DD_D48_DIALYSATE_PUMP_RECORD_T getD48PumpCalRecord( void ) -{ - return ( ddCalibrationGroup.ddCalibrationRecord.d48DialysatePumpRecord ); -} - -/*********************************************************************//** - * @brief - * The setD48PumpCalRecord function sets the calibration record - * of the D48 dialysate pump . - * @details \b Inputs: none - * @details \b Outputs: ddCalibrationGroup.ddCalibrationRecord.d48DialysatePumpRecord - * @record D48 dialysate pump calibration record to be saved - * @return none - *************************************************************************/ -void setD48PumpCalRecord( DD_D48_DIALYSATE_PUMP_RECORD_T record ) -{ - ddCalibrationGroup.ddCalibrationRecord.d48DialysatePumpRecord = record; -} - -/*********************************************************************//** - * @brief - * The getAcidConcentrateCalRecord function gets the calibration record - * of the specified acid concentrate. - * @details \b Inputs:ddCalibrationGroup.ddCalibrationRecord.acidConcentratesRecord - * @details \b Outputs: none - * @param acidIdx Acid concentrate index - * @return record corresponding acid concentrate calibration record - *************************************************************************/ -DD_ACID_CONCENTRATE_T getAcidConcentrateCalRecord( U08 acidIdx ) -{ - DD_ACID_CONCENTRATE_T record = { 0 }; - - if ( acidIdx < NUM_OF_ACID_TYPE ) - { - record = ( ddCalibrationGroup.ddCalibrationRecord.acidConcentratesRecord.acidConcentrate[ acidIdx ] ); - } - - return record; -} - -/*********************************************************************//** - * @brief - * The setAcidConcentrateCalRecord function sets the calibration record - * of the specified acid concentrate . - * @details \b Inputs: none - * @details \b Outputs: ddCalibrationGroup.ddCalibrationRecord.acidConcentratesRecord - * @param acidIdx acid concentrate index - * @record acid concentrate calibration record to be saved - * @return none - *************************************************************************/ -void setAcidConcentrateCalRecord( U08 acidIdx, DD_ACID_CONCENTRATE_T record ) -{ - if ( snsrIdx < NUM_OF_ACID_TYPE ) - { - ddCalibrationGroup.ddCalibrationRecord.acidConcentratesRecord.acidConcentrate[ acidIdx ] = record; - } -} - -/*********************************************************************//** - * @brief - * The getBicarbConcentrateCalRecord function gets the calibration - * record of the specified bicarb concentrate. - * @details \b Inputs:ddCalibrationGroup.ddCalibrationRecord.bicarbConcentratesRecord - * @details \b Outputs: none - * @param bicarbIdx Bicarb concentrate index - * @return record corresponding bicarb concentrate calibration record - *************************************************************************/ -DD_BICARB_CONCENTRATE_T getBicarbConcentrateCalRecord( U08 bicarbIdx ) -{ - DD_BICARB_CONCENTRATE_T record = { 0 }; - - if ( bicarbIdx < NUM_OF_BICARB_TYPE ) - { - record = ( ddCalibrationGroup.ddCalibrationRecord.bicarbConcentratesRecord.bicarbConcentrate[ bicarbIdx ] ); - } - - return record; -} - -/*********************************************************************//** - * @brief - * The setBicarbConcentrateCalRecord function sets the calibration record - * of the specified bicarb concentrate . - * @details \b Inputs: none - * @details \b Outputs: ddCalibrationGroup.ddCalibrationRecord.bicarbConcentratesRecord - * @param bicarbIdx bicarb concentrate index - * @record bicarb concentrate calibration record to be saved - * @return none - *************************************************************************/ -void setBicarbConcentrateCalRecord( U08 bicarbIdx, DD_BICARB_CONCENTRATE_T record ) -{ - if ( snsrIdx < NUM_OF_BICARB_TYPE ) - { - ddCalibrationGroup.ddCalibrationRecord.bicarbConcentratesRecord.bicarbConcentrate[ bicarbIdx ] = record; - } -} - -/*********************************************************************//** - * @brief - * The getAccelSensorCalRecord function gets the calibration record of - * the accelerometer sensor. - * @details \b Inputs:ddCalibrationGroup.ddCalibrationRecord.accelerometerSensorCalRecord - * @details \b Outputs: none - * @return accelerometer sensor calibration record - *************************************************************************/ -DD_ACCEL_SENSOR_CAL_RECORD_T getAccelSensorCalRecord( void ) -{ - return ( ddCalibrationGroup.ddCalibrationRecord.accelerometerSensorCalRecord ); -} - -/*********************************************************************//** - * @brief - * The setAccelSensorCalRecord function sets the calibration record - * of the accelerometer sensor. - * @details \b Inputs: none - * @details \b Outputs: ddCalibrationGroup.ddCalibrationRecord.accelerometerSensorCalRecord - * @record accelerometer sensor calibration record to be saved - * @return none - *************************************************************************/ -void setAccelSensorCalRecord( DD_ACCEL_SENSOR_CAL_RECORD_T record ) -{ - ddCalibrationGroup.ddCalibrationRecord.accelerometerSensorCalRecord = record; -} - -/*********************************************************************//** - * @brief - * The getBloodLeakSensorCalRecord function gets the calibration record - * of the blood leak sensor. - * @details \b Inputs: ddCalibrationGroup.ddCalibrationRecord.bloodLeakSensorCalRecord - * @details \b Outputs: none - * @return blood leak sensor calibration record - *************************************************************************/ -DD_BLOOD_LEAK_SENSOR_CAL_RECORD_T getBloodLeakSensorCalRecord( void ) -{ - return ( ddCalibrationGroup.ddCalibrationRecord.bloodLeakSensorCalRecord ); -} - -/*********************************************************************//** - * @brief - * The setBloodLeakSensorCalRecord function sets the calibration record - * of the blood leak sensor. - * @details \b Inputs: none - * @details \b Outputs: ddCalibrationGroup.ddCalibrationRecord.bloodLeakSensorCalRecord - * @record blood leak sensor calibration record to be saved - * @return none - *************************************************************************/ -void setBloodLeakSensorCalRecord( DD_BLOOD_LEAK_SENSOR_CAL_RECORD_T record ) -{ - ddCalibrationGroup.ddCalibrationRecord.bloodLeakSensorCalRecord = record; -} - -/*********************************************************************//** - * @brief - * The getConductivitySensorCalRecord function gets the calibration - * record of the specified conductivity sensor. - * @details \b Inputs:none - * @details \b Outputs: none - * @param snsrIdx conductivity sensor index - * @return record corresponding conductivity sensor calibration record - *************************************************************************/ -DD_CONDUCTIVITY_SENSOR_T getConductivitySensorCalRecord( U08 snsrIdx ) -{ - DD_CONDUCTIVITY_SENSOR_T record = { 0 }; - - if ( snsrIdx < NUM_OF_CONDUCTIVITY_SENSORS ) - { - - } - - return record; -} - -/*********************************************************************//** - * @brief - * The setBicarbConcentrateCalRecord function sets the calibration record - * of the specified conductivity sensor . - * @details \b Inputs: none - * @details \b Outputs: none - * @param snsrIdx conductivity sensor index - * @record conductivity sensor calibration record to be saved. - * @return none - *************************************************************************/ -void setConductivitySensorCalRecord( U08 snsrIdx, DD_CONDUCTIVITY_SENSOR_T record ) -{ - if ( snsrIdx < NUM_OF_CONDUCTIVITY_SENSORS ) - { - - } -} - -/*********************************************************************//** - * @brief - * The getInstitBasicRecord function gets the basic institutional record - * @details \b Inputs:ddInstitutionalGroup.ddInstitutionalRecord.basicRecord - * @details \b Outputs: none - * @return NVM basic institutional Record - *************************************************************************/ -DD_INSTIT_BASIC_RECORD_T getInstitBasicRecord( void ) -{ - return ddInstitutionalGroup.ddInstitutionalRecord.basicRecord; -} - -/*********************************************************************//** - * @brief - * The setInstitBasicRecord function sets the basic institutional record - * @details \b Inputs: none - * @details \b Outputs: ddInstitutionalGroup.ddInstitutionalRecord.basicRecord - * @param record basic institutional record to be saved - * @return none - *************************************************************************/ -void setInstitBasicRecord( DD_INSTIT_BASIC_RECORD_T record ) -{ - ddInstitutionalGroup.ddInstitutionalRecord.basicRecord = record; -} - -/*********************************************************************//** - * @brief - * The getInstitAdvancedRecord function gets the advanced institutional record - * @details \b Inputs:ddInstitutionalGroup.ddInstitutionalRecord.advancedRecord - * @details \b Outputs: none - * @return NVM advanced institutional Record - *************************************************************************/ -DD_INSTIT_ADVANCED_RECORD_T getInstitAdvancedRecord( void ) -{ - return ddInstitutionalGroup.ddInstitutionalRecord.advancedRecord; -} - -/*********************************************************************//** - * @brief - * The setInstitAdvancedRecord function sets the advanced institutional record - * @details \b Inputs: none - * @details \b Outputs: ddInstitutionalGroup.ddInstitutionalRecord.advancedRecord - * @param record Advanced institutional record to be saved - * @return none - *************************************************************************/ -void setInstitAdvancedRecord( DD_INSTIT_ADVANCED_RECORD_T record ) -{ - ddInstitutionalGroup.ddInstitutionalRecord.advancedRecord = record; -} - -/*********************************************************************//** - * @brief - * The getInstitAdditionalRecord function gets the additional institutional record - * @details \b Inputs:ddInstitutionalGroup.ddInstitutionalRecord.additionalInstitRecord - * @details \b Outputs: none - * @return NVM additional institutional Record - *************************************************************************/ -DD_INSTIT_ADDITIONAL_RECORD_T getInstitAdditionalRecord( void ) -{ - return ddInstitutionalGroup.ddInstitutionalRecord.additionalInstitRecord; -} - -/*********************************************************************//** - * @brief - * The setInstitAdditionalRecord function sets the additional institutional record - * @details \b Inputs: none - * @details \b Outputs: ddInstitutionalGroup.ddInstitutionalRecord.additionalInstitRecord - * @param record Additional institutional record to be saved - * @return none - *************************************************************************/ -void setInstitAdditionalRecord( DD_INSTIT_ADDITIONAL_RECORD_T record ) -{ - ddInstitutionalGroup.ddInstitutionalRecord.additionalInstitRecord = record; -} - -/*********************************************************************//** - * @brief - * The getUsageInfoRecord function gets the usage info record - * @details \b Inputs:ddUsageInfoGroup.ddUsageInfoRecord - * @details \b Outputs: none - * @return NVM Usage Informationl Record - *************************************************************************/ -DD_USAGE_INFO_RECORD_T getUsageInfoRecord( void ) -{ - return ddUsageInfoGroup.ddUsageInfoRecord -} - -/*********************************************************************//** - * @brief - * The setUsageInfoRecord function sets the usage info record - * @details \b Inputs: none - * @details \b Outputs: ddUsageInfoGroup.ddUsageInfoRecord - * @param record Usage Information record to be saved - * @return none - *************************************************************************/ -void setUsageInfoRecord( DD_USAGE_INFO_RECORD_T record ) -{ - ddUsageInfoGroup.ddUsageInfoRecord = record; -} - -/*********************************************************************//** - * @brief * The getNVMRecord function copies the requested non-volatile * data into the provided buffer and checks if the data is valid. It * raises the specified alarm if invalid data is detected. @@ -1718,80 +1227,93 @@ switch ( nvData ) { - case GET_CAL_PRESSURE_SENOSRS: + case NV_DD_DATA_SYSTEM_RECORD: + nvDataStartPtr = (U08*)&ddSystemGroup.ddSystemRecord; + nvDataLength = sizeof( ddSystemGroup.ddSystemRecord ); + break; + + case NV_DD_DATA_SERVICE_RECORD: + nvDataStartPtr = (U08*)&ddServiceGroup.ddServiceRecord; + nvDataLength = sizeof( ddServiceGroup.ddServiceRecord ); + break; + + case NV_DD_DATA_CAL_PRESSURE_SENOSRS: nvDataStartPtr = (U08*)&ddCalibrationGroup.ddCalibrationRecord.presSensorsCalRecord; nvDataLength = sizeof( ddCalibrationGroup.ddCalibrationRecord.presSensorsCalRecord ); for ( i = 0; i < numOfSnsrs2Check; i++ ) isNVDataInvalid |= ( 0 == ddCalibrationGroup.ddCalibrationRecord.presSensorsCalRecord.pressureSensors[ i ].calibrationTime ? TRUE : FALSE ); break; - case GET_CAL_TEMP_SENSORS: + case NV_DD_DATA_CAL_TEMPERATURE_SENSORS: nvDataStartPtr = (U08*)&ddCalibrationGroup.ddCalibrationRecord.tempSensorsCalRecord; nvDataLength = sizeof( ddCalibrationGroup.ddCalibrationRecord.tempSensorsCalRecord ); for ( i = 0; i < numOfSnsrs2Check; i++ ) isNVDataInvalid |= ( 0 == ddCalibrationGroup.ddCalibrationRecord.tempSensorsCalRecord.tempSensors[ i ].calibrationTime ? TRUE : FALSE ); break; - case GET_CAL_CONCENTRATE_PUMPS_RECORD: + case NV_DD_DATA_CAL_CONCENTRATE_PUMPS_RECORD: nvDataStartPtr = (U08*)&ddCalibrationGroup.ddCalibrationRecord.concentratePumpsRecord; nvDataLength = sizeof( ddCalibrationGroup.ddCalibrationRecord.concentratePumpsRecord ); for ( i = 0; i < numOfSnsrs2Check; i++ ) isNVDataInvalid |= ( 0 == ddCalibrationGroup.ddCalibrationRecord.concentratePumpsRecord.concentratePumps[ i ].calibrationTime ? TRUE : FALSE ); break; - case GET_CAL_D12_PUMP_RECORD: + case NV_DD_DATA_CAL_D12_PUMP_RECORD: nvDataStartPtr = (U08*)&ddCalibrationGroup.ddCalibrationRecord.d12DialysatePumpRecord; nvDataLength = sizeof( ddCalibrationGroup.ddCalibrationRecord.d12DialysatePumpRecord ); isNVDataInvalid |= ( 0 == ddCalibrationGroup.ddCalibrationRecord.d12DialysatePumpRecord.calibrationTime ? TRUE : FALSE ); break; - case GET_CAL_D48_PUMP_RECORD: + case NV_DD_DATA_CAL_D48_PUMP_RECORD: nvDataStartPtr = (U08*)&ddCalibrationGroup.ddCalibrationRecord.d48DialysatePumpRecord; nvDataLength = sizeof( ddCalibrationGroup.ddCalibrationRecord.d48DialysatePumpRecord ); isNVDataInvalid |= ( 0 == ddCalibrationGroup.ddCalibrationRecord.d48DialysatePumpRecord.d48DialysatePump.calibrationTime ? TRUE : FALSE ); break; - case GET_CAL_ACID_CONCENTREATES: + case NV_DD_DATA_CAL_ACID_CONCENTREATES: nvDataStartPtr = (U08*)&ddCalibrationGroup.ddCalibrationRecord.acidConcentratesRecord; nvDataLength = sizeof( ddCalibrationGroup.ddCalibrationRecord.acidConcentratesRecord ); for ( i = 0; i < numOfSnsrs2Check; i++ ) isNVDataInvalid |= ( 0 == ddCalibrationGroup.ddCalibrationRecord.acidConcentratesRecord.acidConcentrate[ i ].calibrationTime ? TRUE : FALSE ); break; - case GET_CAL_BICARB_CONCENTRATES: + case NV_DD_DATA_CAL_BICARB_CONCENTRATES: nvDataStartPtr = (U08*)&ddCalibrationGroup.ddCalibrationRecord.bicarbConcentratesRecord; nvDataLength = sizeof( ddCalibrationGroup.ddCalibrationRecord.bicarbConcentratesRecord ); for ( i = 0; i < numOfSnsrs2Check; i++ ) isNVDataInvalid |= ( 0 == ddCalibrationGroup.ddCalibrationRecord.bicarbConcentratesRecord.bicarbConcentrate[ i ].calibrationTime ? TRUE : FALSE ); break; - case GET_CAL_ACCEL_SENSORS: + case NV_DD_DATA_CAL_ACCEL_SENSOR: nvDataStartPtr = (U08*)&ddCalibrationGroup.ddCalibrationRecord.accelerometerSensorCalRecord; isNVDataInvalid = ( 0 == ddCalibrationGroup.ddCalibrationRecord.accelerometerSensorCalRecord.calibrationTime ? TRUE : FALSE ); break; - case GET_CAL_BLOOD_LEAK_SENSOR: + case NV_DD_DATA_CAL_BLOOD_LEAK_SENSOR: nvDataStartPtr = (U08*)&ddCalibrationGroup.ddCalibrationRecord.bloodLeakSensorCalRecord; nvDataLength = sizeof( ddCalibrationGroup.ddCalibrationRecord.bloodLeakSensorCalRecord ); isNVDataInvalid = ( 0 == ddCalibrationGroup.ddCalibrationRecord.bloodLeakSensorCalRecord.calibrationTime ? TRUE : FALSE ); break; - case GET_SYSTEM_RECORD: - nvDataStartPtr = (U08*)&ddSystemGroup.ddSystemRecord; - nvDataLength = sizeof( ddSystemGroup.ddSystemRecord ); + case NV_DD_DATA_CAL_CONDUCTIVITY_SENSORS: break; - case GET_SERVICE_RECORD: - nvDataStartPtr = (U08*)&ddServiceGroup.ddServiceRecord; - nvDataLength = sizeof( ddServiceGroup.ddServiceRecord ); + case NV_DD_DATA_INSTIT_BASIC_RECORD: + nvDataStartPtr = (U08*)&ddInstitutionalGroup.ddInstitutionalRecord.basicRecord; + nvDataLength = sizeof( ddInstitutionalGroup.ddInstitutionalRecord.basicRecord ); break; - case GET_INSTITUTIONAL_RECORD: - nvDataStartPtr = (U08*)&ddInstitutionalGroup.ddInstitutionalRecord; - nvDataLength = sizeof( ddInstitutionalGroup.ddInstitutionalRecord ); - break; + case NV_DD_DATA_INSTIT_ADVANCED_RECORD: + nvDataStartPtr = (U08*)&ddInstitutionalGroup.ddInstitutionalRecord.advancedRecord; + nvDataLength = sizeof( ddInstitutionalGroup.ddInstitutionalRecord.advancedRecord ); + break; - case GET_USAGE_RECORD: + case NV_DD_DATA_INSTIT_ADDITIONAL_RECORD: + nvDataStartPtr = (U08*)&ddInstitutionalGroup.ddInstitutionalRecord.additionalRecord; + nvDataLength = sizeof( ddInstitutionalGroup.ddInstitutionalRecord.additionalRecord ); + break; + + case NV_DD_DATA_USAGE_INFO_RECORD: nvDataStartPtr = (U08*)&ddUsageInfoGroup.ddUsageInfoRecord; nvDataLength = sizeof( ddUsageInfoGroup.ddUsageInfoRecord ); break; @@ -1842,272 +1364,116 @@ * @param bufferAddress Pointer to the source data buffer * @return TRUE if the record was updated successfully otherwise FALSE *************************************************************************/ -BOOL setNVMRecord( NVM_RECORD_TYPE_T recType, U08* bufferAddress ) +BOOL setNVMMRecord( NV_DATA_T recType, U08* bufferAddress, U08 idx ) { BOOL result = FALSE; U08* destPtr = NULL; U16 dataSize = 0; + NVM_RECORD_TYPE_T recTypeGroup; switch ( recType ) { - case NVM_SYSTEM_RECORD: - destPtr = (U08*)&ddSystemGroup.ddSystemRecord; - dataSize = sizeof( ddSystemGroup.ddSystemRecord ); + case NV_DD_DATA_SYSTEM_RECORD: + destPtr = (U08*)&ddSystemGroup.ddSystemRecord; + dataSize = sizeof( ddSystemGroup.ddSystemRecord ); + recTypeGroup = NVM_SYSTEM_RECORD; break; - case NVM_SERVICE_RECORD: - destPtr = (U08*)&ddServiceGroup.ddServiceRecord; - dataSize = sizeof( ddServiceGroup.ddServiceRecord ); + case NV_DD_DATA_SERVICE_RECORD: + destPtr = (U08*)&ddServiceGroup.ddServiceRecord; + dataSize = sizeof( ddServiceGroup.ddServiceRecord ); + recTypeGroup = NVM_SERVICE_RECORD; break; - case NVM_USAGE_INFO_RECORD: - destPtr = (U08*)&ddUsageInfoGroup.ddUsageInfoRecord; - dataSize = sizeof( ddUsageInfoGroup.ddUsageInfoRecord ); + case NV_DD_DATA_CAL_PRESSURE_SENOSRS: + destPtr = (U08*)&ddCalibrationGroup.ddCalibrationRecord.presSensorsCalRecord.pressureSensors[ idx ]; + dataSize = sizeof( ddCalibrationGroup.ddCalibrationRecord.presSensorsCalRecord.pressureSensors[ 0 ] ); + recTypeGroup = NVM_CALIBRATION_RECORD; break; - default: + case NV_DD_DATA_CAL_TEMPERATURE_SENSORS: + destPtr = (U08*)&ddCalibrationGroup.ddCalibrationRecord.tempSensorsCalRecord.tempSensors[ idx ]; + dataSize = sizeof( ddCalibrationGroup.ddCalibrationRecord.tempSensorsCalRecord.tempSensors[ 0 ] ); + recTypeGroup = NVM_CALIBRATION_RECORD; break; - } - if ( ( destPtr != NULL ) && ( bufferAddress != NULL ) && ( dataSize > 0 ) ) - { - - memcpy( destPtr, bufferAddress, dataSize ); - updateRecordCRC( recType ); - result = TRUE; - } - - return result; - -} - -/*********************************************************************//** - * @brief - * The setNVMCalRecord function updates the specified calibration - * record with the provided data buffer. It copies the calibration - * data and updates the calibration record CRC. - * @details \b Inputs: none - * @details \b Outputs: ddCalibrationGroup.ddCalibrationRecord, - * ddCalibrationGroup.crc - * @param calRecType Calibration record type to update - * @param bufferAddress Pointer to the source data buffer - * @param idx Calibration record index - * @return TRUE if the calibration record was updated successfully - * otherwise FALSE - *************************************************************************/ -BOOL setNVMCalRecord( DD_CAL_REC_TYPE calRecType, U08* bufferAddress, U08 idx ) -{ - BOOL result = FALSE; - U08* destPtr = NULL; - U16 dataSize = 0; - - switch ( calRecType ) - { - case DD_CAL_RECORD_PRESSURE_SENSOR: - destPtr = (U08*)&ddCalibrationGroup.ddCalibrationRecord.presSensorsCalRecord.pressureSensors[ idx ]; - dataSize = sizeof( ddCalibrationGroup.ddCalibrationRecord.presSensorsCalRecord.pressureSensors[ 0 ] ); + case NV_DD_DATA_CAL_CONCENTRATE_PUMPS_RECORD: + destPtr = (U08*)&ddCalibrationGroup.ddCalibrationRecord.concentratePumpsRecord.concentratePumps[ idx ]; + dataSize = sizeof( ddCalibrationGroup.ddCalibrationRecord.concentratePumpsRecord.concentratePumps[ 0 ] ); + recTypeGroup = NVM_CALIBRATION_RECORD; break; - case DD_CAL_RECORD_TEMPERATURE_SENSOR: - destPtr = (U08*)&ddCalibrationGroup.ddCalibrationRecord.tempSensorsCalRecord.tempSensors[ idx ]; - dataSize = sizeof( ddCalibrationGroup.ddCalibrationRecord.tempSensorsCalRecord.tempSensors[ 0 ] ); + case NV_DD_DATA_CAL_D12_PUMP_RECORD: + destPtr = (U08*)&ddCalibrationGroup.ddCalibrationRecord.d12DialysatePumpRecord; + dataSize = sizeof( ddCalibrationGroup.ddCalibrationRecord.d12DialysatePumpRecord ); + recTypeGroup = NVM_CALIBRATION_RECORD; break; - case DD_CAL_RECORD_CONCENTRATE_PUMP: - destPtr = (U08*)&ddCalibrationGroup.ddCalibrationRecord.concentratePumpsRecord.concentratePumps[ idx ]; - dataSize = sizeof( ddCalibrationGroup.ddCalibrationRecord.concentratePumpsRecord.concentratePumps[ 0 ] ); + case NV_DD_DATA_CAL_D48_PUMP_RECORD: + destPtr = (U08*)&ddCalibrationGroup.ddCalibrationRecord.d48DialysatePumpRecord; + dataSize = sizeof( ddCalibrationGroup.ddCalibrationRecord.d48DialysatePumpRecord ); + recTypeGroup = NVM_CALIBRATION_RECORD; break; - case DD_CAL_RECORD_D12_PUMP: - destPtr = (U08*)&ddCalibrationGroup.ddCalibrationRecord.d12DialysatePumpRecord; - dataSize = sizeof( ddCalibrationGroup.ddCalibrationRecord.d12DialysatePumpRecord ); - break; - - case DD_CAL_RECORD_D48_PUMP: - destPtr = (U08*)&ddCalibrationGroup.ddCalibrationRecord.d48DialysatePumpRecord; - dataSize = sizeof( ddCalibrationGroup.ddCalibrationRecord.d48DialysatePumpRecord ); - break; - - case DD_CAL_RECORD_ACID_CONCENTRATE: + case NV_DD_DATA_CAL_ACID_CONCENTREATES: destPtr = (U08*)&ddCalibrationGroup.ddCalibrationRecord.acidConcentratesRecord.acidConcentrate[ idx ]; - dataSize = sizeof( ddCalibrationGroup.ddCalibrationRecord.acidConcentratesRecord.acidConcentrate[ 0 ] ); + dataSize = sizeof( ddCalibrationGroup.ddCalibrationRecord.acidConcentratesRecord.acidConcentrate[ 0 ] ); + recTypeGroup = NVM_CALIBRATION_RECORD; break; - case DD_CAL_RECORD_BICARB_CONCENTRATE: - destPtr = (U08*)&ddCalibrationGroup.ddCalibrationRecord.bicarbConcentratesRecord.bicarbConcentrate[ idx ]; - dataSize = sizeof( ddCalibrationGroup.ddCalibrationRecord.bicarbConcentratesRecord.bicarbConcentrate[ 0 ] ); + case NV_DD_DATA_CAL_BICARB_CONCENTRATES: + destPtr = (U08*)&ddCalibrationGroup.ddCalibrationRecord.bicarbConcentratesRecord.bicarbConcentrate[ idx ]; + dataSize = sizeof( ddCalibrationGroup.ddCalibrationRecord.bicarbConcentratesRecord.bicarbConcentrate[ 0 ] ); + recTypeGroup = NVM_CALIBRATION_RECORD; break; - case DD_CAL_RECORD_ACCELEROMETER_SENSOR: - destPtr = (U08*)&ddCalibrationGroup.ddCalibrationRecord.accelerometerSensorCalRecord; - dataSize = sizeof( ddCalibrationGroup.ddCalibrationRecord.accelerometerSensorCalRecord ); + case NV_DD_DATA_CAL_ACCEL_SENSOR: + destPtr = (U08*)&ddCalibrationGroup.ddCalibrationRecord.accelerometerSensorCalRecord; + dataSize = sizeof( ddCalibrationGroup.ddCalibrationRecord.accelerometerSensorCalRecord ); + recTypeGroup = NVM_CALIBRATION_RECORD; break; - case DD_CAL_RECORD_BLOOD_LEAK_SENSOR: - destPtr = (U08*)&ddCalibrationGroup.ddCalibrationRecord.bloodLeakSensorCalRecord; - dataSize = sizeof( ddCalibrationGroup.ddCalibrationRecord.bloodLeakSensorCalRecord ); + case NV_DD_DATA_CAL_BLOOD_LEAK_SENSOR: + destPtr = (U08*)&ddCalibrationGroup.ddCalibrationRecord.bloodLeakSensorCalRecord; + dataSize = sizeof( ddCalibrationGroup.ddCalibrationRecord.bloodLeakSensorCalRecord ); + recTypeGroup = NVM_CALIBRATION_RECORD; break; - default: + case NV_DD_DATA_CAL_CONDUCTIVITY_SENSORS: break; - } - if ( ( destPtr != NULL ) && ( bufferAddress != NULL ) && ( dataSize > 0 ) ) - { - memcpy( destPtr, bufferAddress, dataSize ); - updateRecordCRC( NVM_CALIBRATION_RECORD ); - result = TRUE; - } - - return result; -} - -/*********************************************************************//** - * @brief - * The getNVMInstitRecord function gets the value of the specified - * institutional record item. - * @details \b Inputs: ddInstitutionalGroup.ddInstitutionalRecord - * @details \b Outputs: none - * @param institRecType Institutional record item to retrieve - * @param valuePtr Pointer to the buffer where the value will be copied - * @return TRUE if the value was retrieved successfully otherwise FALSE - *************************************************************************/ -BOOL getNVMInstitRecord( DD_INSTIT_REC_TYPE institRecType, U08 *valuePtr ) -{ - BOOL result = FALSE; - - U08 *srcPtr = NULL; - U16 dataSize = 0; - - switch (institRecType) - { - case DD_INSTIT_MIN_DIALYSATE_FLOW_MLPM: - srcPtr = (U08*)&ddInstitutionalGroup.ddInstitutionalRecord.minDialysateFlowMLPM; - dataSize = sizeof(U32); + case NV_DD_DATA_INSTIT_BASIC_RECORD: + destPtr = (U08*)&ddInstitutionalGroup.ddInstitutionalRecord.basicRecord; + dataSize = sizeof( ddInstitutionalGroup.ddInstitutionalRecord.basicRecord ); + recTypeGroup = NVM_INSTITUTIONAL_RECORD; break; - case DD_INSTIT_MAX_DIALYSATE_FLOW_MLPM: - srcPtr = (U08*)&ddInstitutionalGroup.ddInstitutionalRecord.maxDialysateFlowMLPM; - dataSize = sizeof(U32); + case NV_DD_DATA_INSTIT_ADVANCED_RECORD: + destPtr = (U08*)&ddInstitutionalGroup.ddInstitutionalRecord.advancedRecord; + dataSize = sizeof( ddInstitutionalGroup.ddInstitutionalRecord.advancedRecord ); + recTypeGroup = NVM_INSTITUTIONAL_RECORD; break; - case DD_INSTIT_MIN_DIALYSATE_TEMP_C: - srcPtr = (U08*)&ddInstitutionalGroup.ddInstitutionalRecord.minDialysateTempC; - dataSize = sizeof(F32); + case NV_DD_DATA_INSTIT_ADDITIONAL_RECORD: + destPtr = (U08*)&ddInstitutionalGroup.ddInstitutionalRecord.additionalRecord; + dataSize = sizeof( ddInstitutionalGroup.ddInstitutionalRecord.additionalRecord ); + recTypeGroup = NVM_INSTITUTIONAL_RECORD; break; - case DD_INSTIT_MAX_DIALYSATE_TEMP_C: - srcPtr = (U08*)&ddInstitutionalGroup.ddInstitutionalRecord.maxDialysateTempC; - dataSize = sizeof(F32); + case NV_DD_DATA_USAGE_INFO_RECORD: + destPtr = (U08*)&ddUsageInfoGroup.ddUsageInfoRecord; + dataSize = sizeof( ddUsageInfoGroup.ddUsageInfoRecord ); + recTypeGroup = NVM_USAGE_INFO_RECORD; break; - case DD_INSTIT_MIN_ACID_CONCENTRATE: - srcPtr = (U08*)&ddInstitutionalGroup.ddInstitutionalRecord.minAcidConcentrate; - dataSize = sizeof(U32); - break; - - case DD_INSTIT_MAX_ACID_CONCENTRATE: - srcPtr = (U08*)&ddInstitutionalGroup.ddInstitutionalRecord.maxAcidConcentrate; - dataSize = sizeof(U32); - break; - - case DD_INSTIT_MIN_BICARB_CARTRIDGE_SIZE_G: - srcPtr = (U08*)&ddInstitutionalGroup.ddInstitutionalRecord.minBicarbCartridgeSizeG; - dataSize = sizeof(U32); - break; - - case DD_INSTIT_MAX_BICARB_CARTRIDGE_SIZE_G: - srcPtr = (U08*)&ddInstitutionalGroup.ddInstitutionalRecord.maxBicarbCartridgeSizeG; - dataSize = sizeof(U32); - break; - - case DD_INSTIT_MIN_SODIUM_MEQL: - srcPtr = (U08*)&ddInstitutionalGroup.ddInstitutionalRecord.minSodiumMEQL; - dataSize = sizeof(U32); - break; - - case DD_INSTIT_MAX_SODIUM_MEQL: - srcPtr = (U08*)&ddInstitutionalGroup.ddInstitutionalRecord.maxSodiumMEQL; - dataSize = sizeof(U32); - break; - - case DD_INSTIT_MIN_BICARBONATE_MEQL: - srcPtr = (U08*)&ddInstitutionalGroup.ddInstitutionalRecord.minBicarbonateMEQL; - dataSize = sizeof(U32); - break; - - case DD_INSTIT_MAX_BICARBONATE_MEQL: - srcPtr = (U08*)&ddInstitutionalGroup.ddInstitutionalRecord.maxBicarbonateMEQL; - dataSize = sizeof(U32); - break; - - case DD_INSTIT_MIN_RO_REJECTION_RATIO_PCT: - srcPtr = (U08*)&ddInstitutionalGroup.ddInstitutionalRecord.minRORejectionRatioPCT; - dataSize = sizeof(U32); - break; - - case DD_INSTIT_DISINFECTION_FREQUENCY: - srcPtr = (U08*)&ddInstitutionalGroup.ddInstitutionalRecord.disinfectionFrequency; - dataSize = sizeof(U32); - break; - - case DD_INSTIT_DISINFECTION_CYCLE_TIME: - srcPtr = (U08*)&ddInstitutionalGroup.ddInstitutionalRecord.disinfectionCycleTime; - dataSize = sizeof(F32); - break; - - case DD_INSTIT_MIN_INLET_WATER_COND_ALARM_LIMIT_USPCM: - srcPtr = (U08*)&ddInstitutionalGroup.ddInstitutionalRecord.minInletWaterCondAlarmLimitUSPCM; - dataSize = sizeof(F32); - break; - - case DD_INSTIT_MAX_INLET_WATER_COND_ALARM_LIMIT_USPCM: - srcPtr = (U08*)&ddInstitutionalGroup.ddInstitutionalRecord.maxInletWaterCondAlarmLimitUSPCM; - dataSize = sizeof(F32); - break; - - case DD_INSTIT_ACID_CONCENTRATE_JUG_SIZE_L: - srcPtr = (U08*)&ddInstitutionalGroup.ddInstitutionalRecord.acidConcentrateJugSizeL; - dataSize = sizeof(F32); - break; - - case DD_INSTIT_MIN_ACID_ALARM_LIMIT_PCT: - srcPtr = (U08*)&ddInstitutionalGroup.ddInstitutionalRecord.minAcidAlarmLimitPCT; - dataSize = sizeof(F32); - break; - - case DD_INSTIT_MIN_BICARB_ALARM_LIMIT_PCT: - srcPtr = (U08*)&ddInstitutionalGroup.ddInstitutionalRecord.minBicarbAlarmLimitPCT; - dataSize = sizeof(F32); - break; - - case DD_INSTIT_POST_TREAT_DRAIN_OPTION: - srcPtr = (U08*)&ddInstitutionalGroup.ddInstitutionalRecord.postTreatDrainOption; - dataSize = sizeof(U32); - break; - - case DD_INSTIT_POST_TREAT_DRY_BICARB_OPTION: - srcPtr = (U08*)&ddInstitutionalGroup.ddInstitutionalRecord.postTreatDryBicarbOption; - dataSize = sizeof(U32); - break; - - case DD_INSTIT_CALIBRATION_TIME: - srcPtr = (U08*)&ddInstitutionalGroup.ddInstitutionalRecord.calibrationTime; - dataSize = sizeof(U32); - break; - - case DD_INSTIT_CRC: - srcPtr = (U08*)&ddInstitutionalGroup.ddInstitutionalRecord.crc; - dataSize = sizeof(U16); - break; - default: break; } - if ( ( NULL != srcPtr ) && ( NULL != valuePtr ) && ( dataSize > 0 ) ) + if ( ( destPtr != NULL ) && ( bufferAddress != NULL ) && ( dataSize > 0 ) ) { - memcpy( valuePtr, srcPtr, dataSize ); + memcpy( destPtr, bufferAddress, dataSize ); + updateRecordCRC( recTypeGroup ); result = TRUE; } @@ -2116,183 +1482,6 @@ /*********************************************************************//** * @brief - * The setNVMInstitRecord function updates the specified institutional - * record item with the provided value. It updates the institutional - * record CRC after the value is written. - * @details \b Inputs: none - * @details \b Outputs: ddInstitutionalGroup.ddInstitutionalRecord, - * ddInstitutionalGroup.crc - * @param institRecType Institutional record item to update - * @param valuePtr Pointer to the value to be written - * @return TRUE if the value was updated successfully otherwise FALSE - *************************************************************************/ -BOOL setNVMInstitRecord( DD_INSTIT_REC_TYPE institRecType, U08 *valuePtr ) -{ - BOOL result = FALSE; - U08 *destPtr = NULL; - U16 dataSize = 0; - - switch (institRecType) - { - case DD_INSTIT_MIN_DIALYSATE_FLOW_MLPM: - destPtr = (U08*)&ddInstitutionalGroup.ddInstitutionalRecord.minDialysateFlowMLPM; - dataSize = sizeof(U32); - break; - - case DD_INSTIT_MAX_DIALYSATE_FLOW_MLPM: - destPtr = (U08*)&ddInstitutionalGroup.ddInstitutionalRecord.maxDialysateFlowMLPM; - dataSize = sizeof(U32); - break; - - case DD_INSTIT_MIN_DIALYSATE_TEMP_C: - destPtr = (U08*)&ddInstitutionalGroup.ddInstitutionalRecord.minDialysateTempC; - dataSize = sizeof(F32); - break; - - case DD_INSTIT_MAX_DIALYSATE_TEMP_C: - destPtr = (U08*)&ddInstitutionalGroup.ddInstitutionalRecord.maxDialysateTempC; - dataSize = sizeof(F32); - break; - - case DD_INSTIT_MIN_ACID_CONCENTRATE: - destPtr = (U08*)&ddInstitutionalGroup.ddInstitutionalRecord.minAcidConcentrate; - dataSize = sizeof(U32); - break; - - case DD_INSTIT_MAX_ACID_CONCENTRATE: - destPtr = (U08*)&ddInstitutionalGroup.ddInstitutionalRecord.maxAcidConcentrate; - dataSize = sizeof(U32); - break; - - case DD_INSTIT_MIN_BICARB_CARTRIDGE_SIZE_G: - destPtr = (U08*)&ddInstitutionalGroup.ddInstitutionalRecord.minBicarbCartridgeSizeG; - dataSize = sizeof(U32); - break; - - case DD_INSTIT_MAX_BICARB_CARTRIDGE_SIZE_G: - destPtr = (U08*)&ddInstitutionalGroup.ddInstitutionalRecord.maxBicarbCartridgeSizeG; - dataSize = sizeof(U32); - break; - - case DD_INSTIT_MIN_SODIUM_MEQL: - destPtr = (U08*)&ddInstitutionalGroup.ddInstitutionalRecord.minSodiumMEQL; - dataSize = sizeof(U32); - break; - - case DD_INSTIT_MAX_SODIUM_MEQL: - destPtr = (U08*)&ddInstitutionalGroup.ddInstitutionalRecord.maxSodiumMEQL; - dataSize = sizeof(U32); - break; - - case DD_INSTIT_MIN_BICARBONATE_MEQL: - destPtr = (U08*)&ddInstitutionalGroup.ddInstitutionalRecord.minBicarbonateMEQL; - dataSize = sizeof(U32); - break; - - case DD_INSTIT_MAX_BICARBONATE_MEQL: - destPtr = (U08*)&ddInstitutionalGroup.ddInstitutionalRecord.maxBicarbonateMEQL; - dataSize = sizeof(U32); - break; - - case DD_INSTIT_MIN_RO_REJECTION_RATIO_PCT: - destPtr = (U08*)&ddInstitutionalGroup.ddInstitutionalRecord.minRORejectionRatioPCT; - dataSize = sizeof(U32); - break; - - case DD_INSTIT_DISINFECTION_FREQUENCY: - destPtr = (U08*)&ddInstitutionalGroup.ddInstitutionalRecord.disinfectionFrequency; - dataSize = sizeof(U32); - break; - - case DD_INSTIT_DISINFECTION_CYCLE_TIME: - destPtr = (U08*)&ddInstitutionalGroup.ddInstitutionalRecord.disinfectionCycleTime; - dataSize = sizeof(F32); - break; - - case DD_INSTIT_MIN_INLET_WATER_COND_ALARM_LIMIT_USPCM: - destPtr = (U08*)&ddInstitutionalGroup.ddInstitutionalRecord.minInletWaterCondAlarmLimitUSPCM; - dataSize = sizeof(F32); - break; - - case DD_INSTIT_MAX_INLET_WATER_COND_ALARM_LIMIT_USPCM: - destPtr = (U08*)&ddInstitutionalGroup.ddInstitutionalRecord.maxInletWaterCondAlarmLimitUSPCM; - dataSize = sizeof(F32); - break; - - case DD_INSTIT_ACID_CONCENTRATE_JUG_SIZE_L: - destPtr = (U08*)&ddInstitutionalGroup.ddInstitutionalRecord.acidConcentrateJugSizeL; - dataSize = sizeof(F32); - break; - - case DD_INSTIT_MIN_ACID_ALARM_LIMIT_PCT: - destPtr = (U08*)&ddInstitutionalGroup.ddInstitutionalRecord.minAcidAlarmLimitPCT; - dataSize = sizeof(F32); - break; - - case DD_INSTIT_MIN_BICARB_ALARM_LIMIT_PCT: - destPtr = (U08*)&ddInstitutionalGroup.ddInstitutionalRecord.minBicarbAlarmLimitPCT; - dataSize = sizeof(F32); - break; - - case DD_INSTIT_POST_TREAT_DRAIN_OPTION: - destPtr = (U08*)&ddInstitutionalGroup.ddInstitutionalRecord.postTreatDrainOption; - dataSize = sizeof(U32); - break; - - case DD_INSTIT_POST_TREAT_DRY_BICARB_OPTION: - destPtr = (U08*)&ddInstitutionalGroup.ddInstitutionalRecord.postTreatDryBicarbOption; - dataSize = sizeof(U32); - break; - - case DD_INSTIT_CALIBRATION_TIME: - destPtr = (U08*)&ddInstitutionalGroup.ddInstitutionalRecord.calibrationTime; - dataSize = sizeof(U32); - break; - - case DD_INSTIT_CRC: - destPtr = (U08*)&ddInstitutionalGroup.ddInstitutionalRecord.crc; - dataSize = sizeof(U16); - break; - - default: - break; - } - - if ( ( NULL != destPtr ) && ( NULL != valuePtr ) && ( dataSize > 0 ) ) - { - memcpy( destPtr, valuePtr, dataSize ); - - // Update CRC after every change - updateRecordCRC( NVM_INSTITUTIONAL_RECORD ); - - result = TRUE; - } - - return result; -} - -DD_INSTIT_BASIC_RECORD_T getNVMInstitBasicRecord( void ) -{ - return ddInstitutionalGroup.ddInstitutionalRecord.basicRecord; -} - -void setNVMInstitBasicRecord( DD_INSTIT_BASIC_RECORD_T record ) -{ - ddInstitutionalGroup.ddInstitutionalRecord.basicRecord = record; -} - -DD_INSTIT_ADVANCED_RECORD_T getNVMInstitAdvancedRecord( void ) -{ - return ddInstitutionalGroup.ddInstitutionalRecord.advancedRecord; -} - -void setNVMInstitAdvancedRecord( DD_INSTIT_ADVANCED_RECORD_T record ) -{ - ddInstitutionalGroup.ddInstitutionalRecord.advancedRecord = record; -} - -/*********************************************************************//** - * @brief * The sendNVEvent function sends the event associated with the * specified NV record type. * @details \b Inputs: RECORDS_SPECS