Index: NVDataMgmt.h =================================================================== diff -u -rd6f53ebf6c481cb909720a2c6910ae89addc6801 -r2d3cc187e8103c7dec7e98c324607c737fc7f3fa --- NVDataMgmt.h (.../NVDataMgmt.h) (revision d6f53ebf6c481cb909720a2c6910ae89addc6801) +++ NVDataMgmt.h (.../NVDataMgmt.h) (revision 2d3cc187e8103c7dec7e98c324607c737fc7f3fa) @@ -55,6 +55,69 @@ NVDATAMGMT_READ_COMPLETE ///< Read status complete } NVDATAMGMT_READ_STATUS_T; +typedef enum dg_pressure_sensors +{ + CAL_DATA_RO_PUMP_INLET_PRES_SENSOR = 0, + CAL_DATA_RO_PUMP_OUTLET_PRES_SENSOR, + CAL_DATA_DRAIN_PUMP_INLET_PRES_SENSOR, + CAL_DATA_DRAIN_PUMP_OUTLET_PRES_SENSOR, + NUM_OF_CAL_DATA_PRES_SENSORS, +} CAL_DATA_DG_PRES_SENSORS_T; + +typedef enum dg_flow_sensors +{ + CAL_DATA_RO_PUMP_FLOW_SENSOR = 0, + NUM_OF_CAL_DATA_FLOW_SENSORS, +} CAL_DATA_DG_FLOW_SENSORS_T; + +typedef enum dg_load_cells +{ + CAL_DATA_LOAD_CELL_A1 = 0, + CAL_DATA_LOAD_CELL_A2, + CAL_DATA_LOAD_CELL_B1, + CAL_DATA_LOAD_CELL_B2, + NUM_OF_CAL_DATA_LOAD_CELLS, +} CAL_DATA_DG_LOAD_CELLS_T; + +typedef enum dg_temperature_sensors +{ + CAL_DATA_FPGA_BOARD_TEMP = 0, + CAL_DATA_LOAD_CELL_A1_B1_TEMP, + CAL_DATA_LOAD_CELL_A2_B2_TEMP, + CAL_DATA_INTERNAL_THDO_RTD_TEMP, + CAL_DATA_INTERNAL_TDI_RTD_TEMP, + CAL_DATA_INTERNAL_COND_SENSOR_TEMP, + CAL_DATA_THERMISTOR_DG_ONBOARD_NTC_TEMP, + CAL_DATA_THERMISTOR_POWER_SUPPLY_1_TEMP, + CAL_DATA_THERMISTOR_POWER_SUPPLY_2_TEMP, + CAL_DATA_OUTLET_REDUNDANT_TEMP, + CAL_DATA_INLET_DIALYSATE_TEMP, + CAL_DATA_INLET_PRIMARY_HEATER_TEMP, + CAL_DATA_OUTLET_PRIMARY_HEATER_TEMP, + CAL_DATA_COND_SENSOR_1_TEMP, + CAL_DATA_COND_SENSOR_2_TEMP, + NUM_OF_CAL_DATA_TEMP_SENSORS, +} CAL_DATA_DG_TEMP_SENSORS_T; + +typedef enum dg_conductivity_sensors +{ + CAL_DATA_CPI_COND_SENSOR = 0, + CAL_DATA_CPO_COND_SENSOR, + CAL_DATA_CD1_COND_SENSOR, + CAL_DATA_CD2_COND_SENSOR, + NUM_OF_CAL_DATA_COND_SENSORS, +} CAL_DATA_DG_COND_SENSORS_T; + +typedef enum dg_pumps +{ + CAL_DATA_CONC_PUMP_1 = 0, + CAL_DATA_CONC_PUMP_2, + CAL_DATA_DRAIN_PUMP, + CAL_DATA_RO_PUMP, + NUM_OF_CAL_DATA_DG_PUMPS +} CAL_DATA_DG_PUMPS_T; + + #pragma pack(push, 1) /// Manufacturing data structure. typedef struct mfg_Data @@ -115,13 +178,76 @@ char disinfectionDate [ MAX_DATE_CHARACTERS ]; ///< Disinfection Date } DISINFECTION_DATE_T; -/// Payload record structure for a linear calibration message. +/// Payload record structure for a linear calibration message. TODO remove typedef struct { F32 gain; F32 offset; } LINEAR_F32_CAL_PAYLOAD_T; +/// Linear calibration structure +typedef struct +{ + F32 gain; + F32 offset; + U32 calibrationTime; + U16 crc; +} LINEAR_CAL_PAYLOAD_T; + +/// DG concentrate pumps one-gain payload +typedef struct +{ + F32 stepSpeed2FlowRatio; + U32 calibrationTime; + U16 crc; +} DG_CONCENTRATE_PUMPS_PAYLOAD_T; + +/// DG drain pump two-gain payload +typedef struct +{ + F32 voltage2SpeedRatio; + F32 stepSpeed2FlowRatio; + U32 calibrationTime; + U16 crc; +} DG_DRAIN_PUMP_PAYLOAD_T; + +// TODO change the name of the RO pumps gains later +typedef struct +{ + F32 gain1Ratio; + F32 gain2Ratio; + F32 gain3Ratio; + U32 calibrationTime; + U16 crc; +} DG_RO_PUMP_PAYLOAD_T; + +/// One constant structure +typedef struct +{ + F32 constant; + U32 calibrationTime; + U16 crc; +} ONE_CONSTANT_PAYLOAD_T ; + +/// Two constants structure +typedef struct +{ + F32 constant1; + F32 constant2; + U32 calibrationTime; + U16 crc; +} TWO_CONSTANTS_PAYLOAD_T; + +/// Three constants structure +typedef struct +{ + F32 constant1; + F32 constant2; + F32 constant3; + U32 calibrationTime; + U16 crc; +} THREE_CONSTANTS_PAYLOAD_T; + #pragma pack(pop) void initNVDataMgmt ( void ); @@ -132,14 +258,24 @@ SELF_TEST_STATUS_T execNVDataMgmtSelfTest ( void ); +void execNVDataMgmtCalibration( void ); + +BOOL getDGCalibrationRecord( void ); + +BOOL setDGCalibrationRecord( U32 currentMessage, U32 totalMessages, U32 length, U08 *addressPtr ); + +void getDGPressureSensorsCalibrationRecord( U08* buffer ); + +void getDGFlowSensorsCalibrationRecord( U08* buffer ); + BOOL setBootloaderFlag ( U32 flag ); U32 getBootloaderFlag ( void ); BOOL setMfgData ( MFG_DATA_T data ); BOOL getMfgData ( MFG_DATA_T* buffer ); -BOOL setCalibrationData ( CALIBRATION_DATA_T data ); -BOOL getCalibrationData ( CALIBRATION_DATA_T* buffer ); +BOOL setCalibrationData ( CALIBRATION_DATA_T data ); //TODO remove +BOOL getCalibrationData ( CALIBRATION_DATA_T* buffer ); //TODO remove BOOL testResetCalibrationData( U32 key ); BOOL setServiceDate ( SERVICE_DATA_T data );