Index: firmware/App/Services/NVRecordsDD.h =================================================================== diff -u -rbe1ff666dbd2ff03342c22c8e50b21d0f9b988a9 -r6a30402a7d47d1c77c04845a1c880935f00c6551 --- firmware/App/Services/NVRecordsDD.h (.../NVRecordsDD.h) (revision be1ff666dbd2ff03342c22c8e50b21d0f9b988a9) +++ firmware/App/Services/NVRecordsDD.h (.../NVRecordsDD.h) (revision 6a30402a7d47d1c77c04845a1c880935f00c6551) @@ -69,51 +69,6 @@ DD_EVENT_ID_T nvEvent; ///< Jobs non-volatile DD event (i.e calibration, system). } PROCESS_RECORD_SPECS_T; -/// Enum for all the subcomponents for the DD calibration record -typedef enum DD_Cal_Records_Type -{ - DD_CAL_RECORD_PRESSURE_SENSOR = 0, ///< Index for pressure sensors calibration data. - DD_CAL_RECORD_TEMPERATURE_SENSOR, ///< Index for temperature sensors calibration data. - DD_CAL_RECORD_CONCENTRATE_PUMP, ///< Index for concentrate pumps calibration record. - DD_CAL_RECORD_D12_PUMP, ///< Index for D12 dialysate pump calibration record. - DD_CAL_RECORD_D48_PUMP, ///< Index for D48 dialysate pump calibration record. - DD_CAL_RECORD_ACID_CONCENTRATE, ///< Index for acid concentrates calibration data. - DD_CAL_RECORD_BICARB_CONCENTRATE, ///< Index for bicarb concentrates calibration data. - DD_CAL_RECORD_ACCELEROMETER_SENSOR, ///< Index for accelerometers calibration data. - DD_CAL_RECORD_BLLOD_LEAK_SENSOR, ///< Index for blood leak sensor calibration data. - NUM_OF_CAL_RECORD_TYPE ///< Total number of components in calibration record -}DD_CAL_REC_TYPE; - -/// Enum for all the subcomponents for the DD institutional record -typedef enum DD_Instit_Records_Type -{ - DD_INSTIT_MIN_DIALYSATE_FLOW_MLPM = 0, ///< Index for Min dialysate flow in mL/min. - DD_INSTIT_MAX_DIALYSATE_FLOW_MLPM, ///< Index for Max dialysate flow in mL/min. - DD_INSTIT_MIN_DIALYSATE_TEMP_C, ///< Index for Min dialysate temperature in C. - DD_INSTIT_MAX_DIALYSATE_TEMP_C, ///< Index for Max dialysate temperature in C. - DD_INSTIT_MIN_ACID_CONCENTRATE, ///< Index for Min acid concentrate - DD_INSTIT_MAX_ACID_CONCENTRATE, ///< Index for Max acid concentrate - DD_INSTIT_MIN_BICARB_CARTRIDGE_SIZE_G, ///< Index for Min bicarbonate cartridge size in grams. - DD_INSTIT_MAX_BICARB_CARTRIDGE_SIZE_G, ///< Index for Max bicarbonate cartridge size in grams. - DD_INSTIT_MIN_SODIUM_MEQL, ///< Index for Min sodium in mEq/L - DD_INSTIT_MAX_SODIUM_MEQL, ///< Index for Max sodium in mEq/L - DD_INSTIT_MIN_BICARBONATE_MEQL, ///< Index for Min bicarbonate in mEq/L - DD_INSTIT_MAX_BICARBONATE_MEQL, ///< Index for Max bicarbonate in mEq/L - DD_INSTIT_MIN_RO_REJECTION_RATIO_PCT, ///< Index for Min RO rejection ratio in percent. - DD_INSTIT_DISINFECTION_FREQUENCY, ///< Index for Disinfection days between cycles. - DD_INSTIT_DISINFECTION_CYCLE_TIME, ///< Index for Disinfection Cycle Time - DD_INSTIT_MIN_INLET_WATER_COND_ALARM_LIMIT_USPCM, ///< Index for Min inlet water conductivity alarm limit in uS/cm. - DD_INSTIT_MAX_INLET_WATER_COND_ALARM_LIMIT_USPCM, ///< Index for Max inlet water conductivity alarm limit in uS/cm. - DD_INSTIT_ACID_CONCENTRATE_JUG_SIZE_L, ///< Index for acid concentrate jug size in Liters - DD_INSTIT_MIN_ACID_ALARM_LIMIT_PCT, ///< Index for Min acid alarm limit in percent. - DD_INSTIT_MIN_BICARB_ALARM_LIMIT_PCT, ///< Index for Min bicarbonate alarm limit in percent. - DD_INSTIT_POST_TREAT_DRAIN_OPTION, ///< Index for Dialysate Post Treatment Drain Option  - DD_INSTIT_POST_TREAT_DRY_BICARB_OPTION, ///< Index for Dry Bicarbonate Post Treatment Option  - DD_INSTIT_CALIBRATION_TIME, ///< Index for Calibration time in epoch. - DD_INSTIT_CRC, ///< Index for CRC of the institutional record. - NUM_OF_DD_INSTIT_RECORD_TYPE ///< Total number of components in institutional record -}DD_INSTIT_REC_TYPE; - /// DD available NV data to get typedef enum DD_nv_commands { @@ -126,13 +81,36 @@ GET_CAL_BICARB_CONCENTRATES, ///< Get bicarb concentrates calibration data. GET_CAL_ACCEL_SENSORS, ///< Get accelerometers calibration data. GET_CAL_BLOOD_LEAK_SENSOR, ///< Get blood leak sensor calibration data. + GET_CAL_CONDUCTIVITY_SENSOR, ///< Get blood leak sensor calibration data. GET_SYSTEM_RECORD, ///< Get system record. GET_SERVICE_RECORD, ///< Get service record. GET_INSTITUTIONAL_RECORD, ///< Get institutional record. GET_USAGE_RECORD, ///< Get usage record. NUM_OF_NV_DD_DATA ///< Number of non-volatile data. } NV_DATA_T; +/// DD available NV data to get +typedef enum DD_nv_rec_items +{ + NVM_REC_TYPE_SYSTEM = 0, ///< NVM system record. + NVM_REC_TYPE_SERVICE, ///< NVM service record. + NVM_REC_TYPE_USAGE_INFO, ///< NVM usage record. + NVM_REC_TYPE_INSTIT_BASIC, ///< NVM basic institutional record. + NVM_REC_TYPE_INSTIT_ADVANCED, ///< NVM advanced institutional record. + NVM_REC_TYPE_INSTIT_ADDITIONAL, ///< NVM additional institutional record. + NVM_REC_TYPE_CAL_PRESSURE_SENSORS, ///< NVM pressure sensors calibration data. + NVM_REC_TYPE_CAL_TEMPERATURE_SENSORS, ///< NVM temperature sensors calibration data. + NVM_REC_TYPE_CAL_CONC_PUMPS, ///< NVM concentrate pumps calibration record. + NVM_REC_TYPE_CAL_D12_PUMP, ///< NVM D12 dialysate pump calibration record. + NVM_REC_TYPE_CAL_D48_PUMP, ///< NVM D48 dialysate pump calibration record. + NVM_REC_TYPE_CAL_ACID_CONCENTREATES, ///< NVM acid concentrates calibration data. + NVM_REC_TYPE_CAL_BICARB_CONCENTRATES, ///< NVM bicarb concentrates calibration data. + NVM_REC_TYPE_CAL_ACCEL_SENSOR, ///< NVM accelerometers calibration data. + NVM_REC_TYPE_CAL_BLOOD_LEAK_SENSOR, ///< NVM blood leak sensor calibration data. + NVM_REC_TYPE_CAL_CONDUCTIVITY_SENSORS, ///< NVM blood leak sensor calibration data. + NUM_OF_NVM_REC_ITEMS ///< Number of non-volatile data record type +} NVM_RECORD_ITEMS_T; + /// DD scheduled runs enumeration. typedef enum DD_scheduled_runs { @@ -152,52 +130,86 @@ NUM_OF_USAGE_INFO_ITEMS ///< Number of usage info items. } DD_USAGE_INFO_ITEMS_T; +/// DD Institutional basic items +typedef enum DD_instit_basic_items +{ + INSTIT_PARAM_DIALYSATE_FLOW = 0, ///< Dialysate Flow Rate + FIRST_INSTIT_BASIC_PARAM = INSTIT_PARAM_DIALYSATE_FLOW, ///< First Institutional basic parameter + INSTIT_PARAM_DIALYSATE_TEMPERATURE, ///< Dialysate Temperature + INSTIT_PARAM_ACID_CONCENTRATE, ///< Acid Concentrate + INSTIT_PARAM_DRY_BICARB_CART_SIZE, ///< Bicarbonate Cartridge Size + INSTIT_PARAM_SODIUM, ///< Sodium + INSTIT_PARAM_BICARBONATE, ///< Bicarbonate + NUM_OF_INSTIT_BASIC = INSTIT_PARAM_BICARBONATE, ///< Total number of Institutional basic parameters +}DD_INSTIT_BASIC_ITEMS_T; + +/// DD Institutional advanced items +typedef enum DD_instit_advanced_items +{ + INSTIT_PARAM_RO_REJECTION_RATIO_ALRAM, ///< RO Rejection Ratio Alarm Threshold + FIRST_INSTIT_ADVANCED_PARAM = INSTIT_PARAM_RO_REJECTION_RATIO_ALRAM, ///< First Institutional advanced parameter + INSTIT_PARAM_DISINFECTION_FREQUENCY, ///< Disinfection Frequency + INSTIT_PARAM_DISINFECTION_CYCLE_TIME, ///< Disinfection Parameters, Cycle Time + INSTIT_PARAM_INLET_WATER_COND_LOW_ALARM, ///< Inlet Water Conductivity Low Alarm Threshold (RO Featured) + INSTIT_PARAM_INLET_WATER_COND_HIGH_ALARM, ///< Inlet Water Conductivity High Alarm Threshold (RO Defeatured) + INSTIT_PARAM_ACID_CONCENTRATE_JUG_SIZE, ///< Acid Concentrate Jug Size + INSTIT_PARAM_LOW_ACID_ALARM, ///< Low Acid Alarm Threshold + INSTIT_PARAM_LOW_BICARB_ALARM, ///< Low Bicarb Alarm Threshold + INSTIT_PARAM_DIALYSATE_POST_TREAT_DRAIN_OPTION, ///< Dialysate Post Treatment Drain Option  + INSTIT_PARAM_BICARB_POST_TREAT_DRAIN_OPTION, ///< Dry Bicarbonate Post Treatment Option  + NUM_OF_INSTIT_ADVANCED = INSTIT_PARAM_BICARB_POST_TREAT_DRAIN_OPTION, ///< Total number of Institutional advanced parameters +} DD_INSTIT_ADVANCED_ITEMS_T; + +/// DD Institutional additional items +typedef enum DD_instit_additional_items +{  + NUM_OF_INSTIT_ADDITIONAL, +} DD_INSTIT_ADDITIONAL_ITEMS_T; + #pragma pack(push, 1) -/// Polynomial calibration structure + +/// Linear calibration structure typedef struct { - F32 fourthOrderCoeff; ///< Fourth order coefficient. - F32 thirdOrderCoeff; ///< Third order coefficient. - F32 secondOrderCoeff; ///< Second order coefficient. F32 gain; ///< Gain. F32 offset; ///< Offset. U32 calibrationTime; ///< Calibration time. - U16 crc; ///< CRC for the polynomial calibration payload. -} POLYNOMIAL_CAL_PAYLOAD_T; + U16 crc; ///< CRC for the linear calibration payload. +} LINEAR_CAL_PAYLOAD_T; -/// Pressure sensors calibration structure +/// Pressure sensors calibration record typedef struct { - POLYNOMIAL_CAL_PAYLOAD_T pressureSensors[ NUM_OF_PRESSURE_SENSORS ]; ///< Pressure sensors to calibrate. + LINEAR_CAL_PAYLOAD_T pressureSensors[ NUM_OF_PRESSURE_SENSORS ]; ///< Pressure sensors to calibrate. } DD_PRES_SENSORS_CAL_RECORD_T; -/// Temperature sensors calibration structure +/// Temperature sensors calibration record typedef struct { - POLYNOMIAL_CAL_PAYLOAD_T tempSensors[ NUM_OF_TEMPERATURE_SENSORS ]; ///< Temperature sensors to calibrate. + LINEAR_CAL_PAYLOAD_T tempSensors[ NUM_OF_TEMPERATURE_SENSORS ]; ///< Temperature sensors to calibrate. } DD_TEMP_SENSORS_CAL_RECORD_T; /// DD concentrate pumps calibration record typedef struct { - POLYNOMIAL_CAL_PAYLOAD_T concentratePumps[ NUM_OF_CONCENTRATE_PUMPS ]; ///< DD concentrate pumps calibration data. + LINEAR_CAL_PAYLOAD_T concentratePumps[ NUM_OF_CONCENTRATE_PUMPS ]; ///< DD concentrate pumps calibration data. } DD_CONC_PUMPS_CAL_RECORD_T; -/// DD D12 dialysate pump calibration structure +/// DD D12 dialysate pump calibration record typedef struct { - F32 targetPumpSpeed; ///< Target Pump Speed - U32 calibrationTime; ///< Calibration time. - U16 crc; ///< CRC for the polynomial calibration payload. + F32 targetPumpSpeed; ///< Target Pump Speed + U32 calibrationTime; ///< Calibration time. + U16 crc; ///< CRC for the polynomial calibration payload. } DD_D12_DIALYSATE_PUMP_RECORD_T; /// DD dialysate pumps calibration record typedef struct { - POLYNOMIAL_CAL_PAYLOAD_T d48DialysatePump; ///< DD dialysate pump d48 calibration data. + LINEAR_CAL_PAYLOAD_T d48DialysatePump; ///< DD dialysate pump d48 calibration data. } DD_D48_DIALYSATE_PUMP_RECORD_T; -/// DD acid concentrate +/// DD acid concentrate structure typedef struct { F32 acidConcMixRatio; ///< Acid concentrate mix ratio. @@ -208,7 +220,7 @@ U16 crc; ///< CRC. } DD_ACID_CONCENTRATE_T; -/// DD bicarb concentrate +/// DD bicarb concentrate structure typedef struct { F32 bicarbConcMixRatio; ///< Bicarb concentrate mix ratio. @@ -219,19 +231,19 @@ U16 crc; ///< CRC. } DD_BICARB_CONCENTRATE_T; -/// DD acid concentrates +/// DD acid concentrates calibration record typedef struct { DD_ACID_CONCENTRATE_T acidConcentrate[ NUM_OF_ACID_TYPE ]; ///< DD acid concentrates. } DD_ACID_CONCENTRATES_RECORD_T; -/// DD bicarb concentrates +/// DD bicarb concentrates calibration record typedef struct { DD_BICARB_CONCENTRATE_T bicarbConcentrate[ NUM_OF_BICARB_TYPE ]; ///< DD bicarb concentrates. } DD_BICARB_CONCENTRATES_RECORD_T; -/// HD accelerometer sensor calibration record +/// DD accelerometer sensor calibration record typedef struct { F32 accelXOffset; ///< DD accelerometer X axis offset. @@ -241,14 +253,39 @@ U16 crc; ///< CRC for the DD accelerometer sensor. } DD_ACCEL_SENSOR_CAL_RECORD_T; -/// DD blood leak calibration structure +/// DD blood leak sensor calibration record typedef struct { U16 setPoint; ///< Blood leak sensor set point. U32 calibrationTime; ///< Calibration time. - U16 crc; ///< CRC for the HD blood leak calibration payload. + U16 crc; ///< CRC for the DD blood leak calibration payload. } DD_BLOOD_LEAK_SENSOR_CAL_RECORD_T; +/// DD conductivity sensor calibration structure +typedef struct +{ + F32 coeff1; ///< Coefficient 1 + F32 coeff2; ///< Coefficient 2 + F32 coeff3; ///< Coefficient 3 + F32 coeff4; ///< Coefficient 4 + F32 coeff5; ///< Coefficient 5 + F32 coeff6; ///< Coefficient 6 + F32 coeff7; ///< Coefficient 7 + F32 coeff8; ///< Coefficient 8 + F32 coeff9; ///< Coefficient 9 + F32 coeff10; ///< Coefficient 10 + F32 coeff11; ///< Coefficient 11 + F32 coeff12; ///< Coefficient 12 + U32 calibrationTime; ///< Calibration time. + U16 crc; ///< CRC for the DD conductivity calibration payload. +} DD_CONDUCTIVITY_SENSOR_T; + +/// DD conductivity sensor calibration record. +typedef struct +{ + DD_CONDUCTIVITY_SENSOR_T condSensors[ NUM_OF_CONDUCTIVITY_SENSORS ]; ///< DD Conductivity Sensors +} DD_CONDUCTIVITY_SENSOR_CAL_RECORD_T; + /// DD systems record structure typedef struct { @@ -264,7 +301,7 @@ /// DD service record structure typedef struct { - BOOL isHDFOnlineFluid; ///< True : HDF Online Fluid feature is available, False if not. + BOOL isHDFOnlineFluidAvailable; ///< True : HDF Online Fluid feature is available, False if not. U32 waterRecovery; ///< Low : 0, Medium : 1, High : 2. U08 serviceLoc; ///< DD service location. U32 lastServiceEpochDate; ///< DD last service date in epoch. @@ -273,35 +310,42 @@ U16 crc; ///< CRC for the DD service record structure. } DD_SERVICE_RECORD_T; -/// DD institutional record structure +/// Institutional data structure. typedef struct { - U32 minDialysateFlowMLPM; ///< Min dialysate flow in mL/min. - U32 maxDialysateFlowMLPM; ///< Max dialysate flow in mL/min. - F32 minDialysateTempC; ///< Min dialysate temperature in C. - F32 maxDialysateTempC; ///< Max dialysate temperature in C. - U32 minAcidConcentrate; ///< Min acid concentrate - U32 maxAcidConcentrate; ///< Max acid concentrate - U32 minBicarbCartridgeSizeG; ///< Min bicarbonate cartridge size in grams. - U32 maxBicarbCartridgeSizeG; ///< Max bicarbonate cartridge size in grams. - U32 minSodiumMEQL; ///< Min sodium in mEq/L - U32 maxSodiumMEQL; ///< Max sodium in mEq/L - U32 minBicarbonateMEQL; ///< Min bicarbonate in mEq/L - U32 maxBicarbonateMEQL; ///< Max bicarbonate in mEq/L - U32 minRORejectionRatioPCT; ///< Min RO rejection ratio in percent. - U32 disinfectionFrequency; ///< Disinfection days between cycles. - F32 disinfectionCycleTime; ///< Disinfection Cycle Time - F32 minInletWaterCondAlarmLimitUSPCM; ///< Min inlet water conductivity alarm limit in uS/cm. - F32 maxInletWaterCondAlarmLimitUSPCM; ///< Max inlet water conductivity alarm limit in uS/cm. - F32 acidConcentrateJugSizeL; ///< acid concentrate jug size in Liters - F32 minAcidAlarmLimitPCT; ///< Min acid alarm limit in percent. - F32 minBicarbAlarmLimitPCT; ///< Min bicarbonate alarm limit in percent. - U32 postTreatDrainOption; ///< Dialysate Post Treatment Drain Option  - U32 postTreatDryBicarbOption; ///< Dry Bicarbonate Post Treatment Option  - U32 calibrationTime; ///< Calibration time in epoch. + CRITICAL_DATAS_T min; ///< Minimum value for valid data + CRITICAL_DATAS_T max; ///< Maximum value for valid data + CRITICAL_DATAS_T def; ///< Default value +} INSTIT_DATA_T; + +/// Record for range and default of institutional settings. +typedef struct +{ + CRITICAL_DATA_TYPES_T dataType; ///< Data type for the institutional parameter + INSTIT_DATA_T data; ///< Institutional data +} INSTIT_PARAMS_PROPERTIES_T; + +/// DD institutional basic record structure +typedef struct +{ + INSTIT_DATA_T param[ NUM_OF_INSTIT_BASIC ]; ///< DD basic institutional record U16 crc; ///< CRC of the institutional record. -} DD_INSTITUTIONAL_RECORD_T; +} DD_INSTIT_BASIC_RECORD_T; +/// DD institutional advanced record structure +typedef struct +{ + INSTIT_DATA_T param[ NUM_OF_INSTIT_ADVANCED ]; ///< DD advanced institutional record + U16 crc; ///< CRC of the institutional record. +} DD_INSTIT_ADVANCED_RECORD_T; + +/// DD institutional additional record structure +typedef struct +{ + INSTIT_DATA_T param[ NUM_OF_INSTIT_ADDITIONAL ]; ///< DD additional institutional record + U16 crc; ///< CRC of the institutional record. +} DD_INSTIT_ADDITIONAL_RECORD_T; + /// DD usage info structure. typedef struct { @@ -322,30 +366,73 @@ void initNVRecordsDD( void ); SELF_TEST_STATUS_T execNVMRecordsSelfTest( void ); PROCESS_RECORD_SPECS_T getProcessRecord( NVM_RECORD_TYPE_T job ); -void benignPolynomialCalRecord( POLYNOMIAL_CAL_PAYLOAD_T* record ); +void benignLinearCalRecord( LINEAR_CAL_PAYLOAD_T* record ); BOOL setLastDisinfectDate( DD_USAGE_INFO_ITEMS_T disinfect, U32 epochTime ); BOOL setServiceTime( void ); U32 getMinRORejectionRatioInInstitRecordPCT( void ); F32 getMinInletWaterConductivityLimitInstitRecordUSPCM( void ); -POLYNOMIAL_CAL_PAYLOAD_T getPressureSensorCalRecord( U08 snsrIdx ); -POLYNOMIAL_CAL_PAYLOAD_T getTemperatureSensorCalRecord( U08 snsrIdx ); -POLYNOMIAL_CAL_PAYLOAD_T getConcPumpCalRecord( U08 pumpIdx ); + +DD_SYSTEM_RECORD_T getSystemRecord( void ); +void setSystemRecord( DD_SYSTEM_RECORD_T record ); + +DD_SERVICE_RECORD_T getServiceRecord( void ); +void setServiceRecord( DD_SERVICE_RECORD_T record ); + +LINEAR_CAL_PAYLOAD_T getPressureSensorCalRecord( U08 snsrIdx ); +void setPressureSensorCalRecord( U08 snsrIdx, LINEAR_CAL_PAYLOAD_T record ); + +LINEAR_CAL_PAYLOAD_T getTemperatureSensorCalRecord( U08 snsrIdx ); +void setTemperatureSensorCalRecord( U08 snsrIdx, LINEAR_CAL_PAYLOAD_T record ); + +LINEAR_CAL_PAYLOAD_T getConcPumpCalRecord( U08 pumpIdx ); +void setConcPumpCalRecord( U08 snsrIdx, LINEAR_CAL_PAYLOAD_T record ); + DD_D12_DIALYSATE_PUMP_RECORD_T getD12PumpCalRecord( void ); +void setD12PumpCalRecord( DD_D12_DIALYSATE_PUMP_RECORD_T record ); + DD_D48_DIALYSATE_PUMP_RECORD_T getD48PumpCalRecord( void ); +void setD48PumpCalRecord( DD_D48_DIALYSATE_PUMP_RECORD_T record ); + DD_ACID_CONCENTRATE_T getAcidConcentrateCalRecord( U08 acidIdx ); +void setAcidConcentrateCalRecord( U08 acidIdx, DD_ACID_CONCENTRATE_T record ); + DD_BICARB_CONCENTRATE_T getBicarbConcentrateCalRecord( U08 bicarbIdx ); +void setBicarbConcentrateCalRecord( U08 bicarbIdx, DD_BICARB_CONCENTRATE_T record ); + DD_ACCEL_SENSOR_CAL_RECORD_T getAccelSensorCalRecord( void ); +void setAccelSensorCalRecord( DD_ACCEL_SENSOR_CAL_RECORD_T record ); + DD_BLOOD_LEAK_SENSOR_CAL_RECORD_T getBloodLeakSensorCalRecord( void ); +void setBloodLeakSensorCalRecord( DD_BLOOD_LEAK_SENSOR_CAL_RECORD_T record ); +DD_CONDUCTIVITY_SENSOR_T getConductivitySensorCalRecord( U08 snsrIdx ); +void setConductivitySensorCalRecord( U08 snsrIdx, DD_CONDUCTIVITY_SENSOR_T record ); + +DD_INSTIT_BASIC_RECORD_T getInstitBasicRecord( void ); +void setInstitBasicRecord( DD_INSTIT_BASIC_RECORD_T record ); + +DD_INSTIT_ADVANCED_RECORD_T getInstitAdvancedRecord( void ); +void setInstitAdvancedRecord( DD_INSTIT_ADVANCED_RECORD_T record ); + +DD_INSTIT_ADDITIONAL_RECORD_T getInstitAdditionalRecord( void ); +void setInstitAdditionalRecord( DD_INSTIT_ADDITIONAL_RECORD_T record ); + +DD_USAGE_INFO_RECORD_T getUsageInfoRecord( void ); +void setUsageInfoRecord( DD_USAGE_INFO_RECORD_T record ); + BOOL getNVMRecord( NV_DATA_T nvData, U08* bufferAddress, U32 bufferLength, U08 numOfSnsrs2Check, ALARM_ID_T nvAlarm ); BOOL setNVMRecord( NVM_RECORD_TYPE_T recType, U08* bufferAddress ); -BOOL setNVMCalRecord(DD_CAL_REC_TYPE calRecType, U08* bufferAddress, U08 idx); +BOOL setNVMCalReco rd(DD_CAL_REC_TYPE calRecType, U08* bufferAddress, U08 idx); BOOL getNVMInstitRecord( DD_INSTIT_REC_TYPE institRecType, U08 *valuePtr ); BOOL setNVMInstitRecord(DD_INSTIT_REC_TYPE institRecType, U08 *valuePtr); -CRITICAL_DATA_TYPES_T getInstitRecDataType( DD_INSTIT_REC_TYPE institRecType ); +DD_INSTIT_BASIC_RECORD_T getNVMInstitBasicRecord( void ); +void setNVMInstitBasicRecord( DD_INSTIT_BASIC_RECORD_T record ); +DD_INSTIT_ADVANCED_RECORD_T getNVMInstitAdvancedRecord( void ); +void setNVMInstitAdvancedRecord( DD_INSTIT_ADVANCED_RECORD_T record ); + void sendNVEvent( NVM_RECORD_TYPE_T recType, U32 d1, U32 d2 ); void updateRecordCRC( NVM_RECORD_TYPE_T recType ); void updateNVSelfTestResult( SELF_TEST_STATUS_T result );