Index: NVDataMgmt.h =================================================================== diff -u -rd6f53ebf6c481cb909720a2c6910ae89addc6801 -r363cb32e448a75b1c62e5344ee246f5a32fd2466 --- NVDataMgmt.h (.../NVDataMgmt.h) (revision d6f53ebf6c481cb909720a2c6910ae89addc6801) +++ NVDataMgmt.h (.../NVDataMgmt.h) (revision 363cb32e448a75b1c62e5344ee246f5a32fd2466) @@ -20,108 +20,64 @@ #include "Common.h" +#ifdef _HD_ + #include "NVDataMgmtHDRecords.h" +#endif +#ifdef _DG_ + #include "NVDataMgmtDGRecords.h" +#endif + /** * @defgroup NVDataMgmt NVDataMgmt * @brief Non-volatile data management module. Handles Bank 7 of the TI processor and the - * RAM of the RTC chip + * RAM of the RTC chip. * * @addtogroup NVDataMgmt * @{ */ // ********** public definitions ********** -#define MAX_SYS_SERIAL_NUMBER_CHARACTERS 7U ///< Max number of characters for SYS serial number -#define MAX_HW_SERIAL_NUMBER_CHARACTERS 5U ///< Max number of characters for HD serial number -#define MAX_DATE_CHARACTERS 10U ///< Max number of characters for date - /// Log event enumeration. -typedef enum LOG_EVENT +typedef enum log_event { - NVDATAMGMT_MODE_CHANGE = 0, ///< Mode change - NVDATAMGMT_ALARM, ///< Alarm - NVDATAMGMT_DISINFECTION_STARTED, ///< Disinfection started - NVDATAMGMT_DISINFECTION_ENDED, ///< Disinfection ended - NVDATAMGMT_DEVICE_TURNED_ON, ///< Device turned on - NVDATAMGMT_DEVICE_TURNED_OFF, ///< Device turned off - NVDATAMGMT_UI_CRASHED ///< UI crashed + NVDATAMGMT_MODE_CHANGE = 0, ///< Mode change. + NVDATAMGMT_ALARM, ///< Alarm. + NVDATAMGMT_DISINFECTION_STARTED, ///< Disinfection started. + NVDATAMGMT_DISINFECTION_ENDED, ///< Disinfection ended. + NVDATAMGMT_DEVICE_TURNED_ON, ///< Device turned on. + NVDATAMGMT_DEVICE_TURNED_OFF, ///< Device turned off. + NVDATAMGMT_UI_CRASHED ///< UI crashed. } NVDATAMGMT_LOG_EVENT_T; /// Read status enumeration. -typedef enum READ_STATUS +typedef enum read_status { - NVDATAMGMT_READ_IDLE = 0, ///< Read status idle - NVDATAMGMT_READ_IN_PROGRESS, ///< Read status in progress - NVDATAMGMT_READ_COMPLETE ///< Read status complete + NVDATAMGMT_READ_IDLE = 0, ///< Read status idle. + NVDATAMGMT_READ_IN_PROGRESS, ///< Read status in progress. + NVDATAMGMT_READ_COMPLETE ///< Read status complete. } NVDATAMGMT_READ_STATUS_T; #pragma pack(push, 1) -/// Manufacturing data structure. -typedef struct mfg_Data -{ - char SYSSerialNumber [ MAX_SYS_SERIAL_NUMBER_CHARACTERS ]; ///< SYS serial number - char HWSerialNumber [ MAX_HW_SERIAL_NUMBER_CHARACTERS ]; ///< HW serial number - char mfgDate [ MAX_DATE_CHARACTERS ]; ///< Manufacturing date -} MFG_DATA_T; - -/// Calibration data structure. -typedef struct calibration_Data -{ - U32 calRecordRevision; ///< Revision of calibration record (rev when structure changes to determine compatibility with f/w version) - F32 accelXOffset; ///< Accelerometer X axis offset - F32 accelYOffset; ///< Accelerometer Y axis offset - F32 accelZOffset; ///< Accelerometer Z axis offset -#ifdef _HD_ - F32 bloodFlowGain; ///< Gain for blood flow sensor - F32 bloodFlowOffset_mL_min; ///< Offset for blood flow sensor - F32 dialysateFlowGain; ///< Gain for dialysate flow sensor - F32 dialysateFlowOffset_mL_min; ///< Offset for dialysate flow sensor - char calDateBloodFlow[ MAX_DATE_CHARACTERS ]; ///< Last calibration date of blood flow sensor - char calDateDialysateFlow[ MAX_DATE_CHARACTERS ]; ///< Last calibration date of blood flow sensor -#endif - char calDateAccel[ MAX_DATE_CHARACTERS ]; ///< Last calibration date of accelerometer -} CALIBRATION_DATA_T; - -/// Service dates structure. -typedef struct service_dates -{ - char currentServiceDate [ MAX_DATE_CHARACTERS ]; ///< Current service date - char nextServiceDate [ MAX_DATE_CHARACTERS ]; ///< Next service date -} SERVICE_DATA_T; - /// Read data status structure. typedef struct get_data { - NVDATAMGMT_READ_STATUS_T status; ///< Read data status - U08* externalBuffer; ///< External buffer address + NVDATAMGMT_READ_STATUS_T status; ///< Read data status. + U08* externalBuffer; ///< External buffer address. } READ_DATA_T; /// Log data structure. typedef struct { - U32 epochTime; ///< Log data time in epoch - U32 eventCode; ///< Log data event code - U32 subCode; ///< Log data sub code - F32 data1; ///< Log data 1 - F32 data2; ///< Log data 2 - F32 data3; ///< Log data 3 - F32 data4; ///< Log data 4 - F32 data5; ///< Log data 5 + U32 epochTime; ///< Log data time in epoch. + U32 eventCode; ///< Log data event code. + U32 subCode; ///< Log data sub code. + F32 data1; ///< Log data 1. + F32 data2; ///< Log data 2. + F32 data3; ///< Log data 3. + F32 data4; ///< Log data 4. + F32 data5; ///< Log data 5. } LOG_DATA_T; - -/// Disinfection date structure. -typedef struct -{ - char disinfectionDate [ MAX_DATE_CHARACTERS ]; ///< Disinfection Date -} DISINFECTION_DATE_T; - -/// Payload record structure for a linear calibration message. -typedef struct -{ - F32 gain; - F32 offset; -} LINEAR_F32_CAL_PAYLOAD_T; - #pragma pack(pop) void initNVDataMgmt ( void ); @@ -132,27 +88,59 @@ SELF_TEST_STATUS_T execNVDataMgmtSelfTest ( void ); -BOOL setBootloaderFlag ( U32 flag ); -U32 getBootloaderFlag ( void ); +void execNVDataMgmtProcessRecord( void ); -BOOL setMfgData ( MFG_DATA_T data ); -BOOL getMfgData ( MFG_DATA_T* buffer ); +BOOL getCalibrationRecord( void ); +BOOL setCalibrationRecord( U32 currentMessage, U32 totalMessages, U32 length, U08 *addressPtr ); -BOOL setCalibrationData ( CALIBRATION_DATA_T data ); -BOOL getCalibrationData ( CALIBRATION_DATA_T* buffer ); -BOOL testResetCalibrationData( U32 key ); +BOOL getSystemRecord( void ); +BOOL setSystemRecord( U32 currentMessage, U32 totalMessages, U32 length, U08 *addressPtr ); -BOOL setServiceDate ( SERVICE_DATA_T data ); -BOOL getServiceDate ( SERVICE_DATA_T* buffer ); +BOOL getServiceRecord( void ); +BOOL setServiceRecord( U32 currentMessage, U32 totalMessages, U32 length, U08 *addressPtr ); -BOOL setTreatmentTime ( U32 hours ); -U32 getTreatmentTime ( void ); +BOOL getScheduledRunsRecord( void ); +BOOL setScheduledRunsRecord( U32 currentMessage, U32 totalMessages, U32 length, U08 *addressPtr ); -BOOL setWaterConsumption ( U32 liters ); -U32 getWaterConsumption ( void ); +BOOL isNewCalibrationRecordAvailable( void ); -BOOL setDisinfectionDate ( DISINFECTION_DATE_T date ); -BOOL getDisinfectionDate ( DISINFECTION_DATE_T* buffer ); +#ifdef _DG_ +DG_PRES_SENSORS_CAL_RECORD_T getDGPressureSensorsCalibrationRecord( void ); +DG_FLOW_SENSORS_CAL_RECORD_T getDGFlowSensorsCalibrationRecord( void ); +DG_LOAD_CELLS_CAL_RECORD_T getDGLoadCellsCalibrationRecord( void ); +DG_TEMP_SENSORS_CAL_RECORD_T getDGTemperatureSensorsCalibrationRecord( void ); +DG_COND_SENSORS_CAL_RECORD_T getDGConducitivitySensorsCalibrationRecord( void ); +DG_RO_PUMP_CAL_RECORD_T getDGROPumpRecord( void ); +DG_CONC_PUMPS_CAL_RECORD_T getDGConcetnratePumpsRecord( void ); +DG_DRAIN_PUMP_CAL_RECORD_T getDGDrainPumpRecord( void ); +DG_DRAIN_LINE_VOLUME_T getDGDrainLineVolumeRecord( void ); +DG_PRE_RO_PURGE_VOLUME_T getDGPreROPurgeVolumeRecord( void ); +DG_RESERVOIR_VOLUME_RECORD_T getDGReservoirsVolumeRecord( void ); +DG_ACID_CONCENTRATES_RECORD_T getDGAcidConcentratesRecord( void ); +DG_BICARB_CONCENTRATES_RECORD_T getDGBicarbConcentratesRecord( void ); +DG_FILTERS_CAL_RECORD_T getDGFiltersRecord( void ); +DG_FANS_CAL_RECORD_T getDGFansRecord( void ); +DG_ACCELEROMETER_SENSOR_CAL_RECORD_T getDGAccelerometerSensorCalibrationRecord( void ); +DG_SYSTEM_RECORD_T getDGSystemRecord( void ); +DG_SERVICE_RECORD_T getDGServiceRecord( void ); +DG_SCHEDULED_RUN_RECORD_T getDGScheduledRunsRecord( void ); +BOOL setWaterConsumption ( U32 liters ); +U32 getWaterConsumption ( void ); +#endif +#ifdef _HD_ +HD_PUMPS_CAL_RECORD_T getHDPumpsCalibrationRecord( void ); +HD_VALVES_CAL_RECORD_T getHDValvesCalibrationRecord( void ); +HD_OCCLUSION_SENSORS_CAL_RECORD_T getHDOccluesionSensrosCalibrationRecord( void ); +HD_FLOW_SENSORS_CAL_RECORD_T getHDFlowSensorsCalibrationRecord( void ); +HD_PRESSURE_SENSORS_CAL_RECORD_T getHDPressureSensorsCalibrationRecord( void ); +HD_TEMP_SENSORS_CAL_RECORD_T getHDTemperatureSensorsCalibrationRecord( void ); +HD_HEPARIN_FORCE_SENSOR_CAL_RECORD_T getHDHeparinForceSensorCalibrationRecord( void ); +HD_ACCELEROMETER_SENSOR_CAL_RECORD_T getHDAccelerometerSensorCalibrationRecord( void ); +HD_SYSTEM_RECORD_T getHDSystemRecord( void ); +HD_SERVICE_RECORD_T getHDServiceRecord( void ); +BOOL setTreatmentTime ( U32 hours ); +U32 getTreatmentTime ( void ); +#endif BOOL writeLogData ( LOG_DATA_T* data ); BOOL readLogData ( READ_DATA_T* buffer, U32 length );