Index: firmware/App/Controllers/DGInterface.h =================================================================== diff -u -rb01542f8e4ef5a29e9b08fc0d465478de516bf02 -raeb1dea9ea10fcc70ae66023a87b565f29924c07 --- firmware/App/Controllers/DGInterface.h (.../DGInterface.h) (revision b01542f8e4ef5a29e9b08fc0d465478de516bf02) +++ firmware/App/Controllers/DGInterface.h (.../DGInterface.h) (revision aeb1dea9ea10fcc70ae66023a87b565f29924c07) @@ -32,29 +32,39 @@ // ********** public definitions ********** -#define DRAIN_RESERVOIR_TO_VOLUME_ML 200 ///< Drain reservoir to this volume (in mL) during treatment. +#define DRAIN_RESERVOIR_TO_VOLUME_ML 200 ///< Drain reservoir to this volume (in mL) during treatment. #ifndef V1_5_SYSTEM -#define FILL_RESERVOIR_TO_VOLUME_ML 1700 ///< Fill reservoir to this volume (in mL) during treatment. +#define FILL_RESERVOIR_TO_VOLUME_ML 1700 ///< Fill reservoir to this volume (in mL) during treatment. #else -#define FILL_RESERVOIR_TO_VOLUME_ML 1300 ///< Fill reservoir to this volume (in mL) during treatment. +#define FILL_RESERVOIR_TO_VOLUME_ML 1300 ///< Fill reservoir to this volume (in mL) during treatment. #endif +/// Enumeration of load cell sensors. +typedef enum Load_Cells +{ + LOAD_CELL_RESERVOIR_1_PRIMARY = 0, ///< Primary load cell for reservoir 1. + LOAD_CELL_RESERVOIR_1_BACKUP, ///< Backup load cell for reservoir 1. + LOAD_CELL_RESERVOIR_2_PRIMARY, ///< Primary load cell for reservoir 2. + LOAD_CELL_RESERVOIR_2_BACKUP, ///< Backup load cell for reservoir 2. + NUM_OF_LOAD_CELLS ///< Number of load cell sensors. +} LOAD_CELL_T; + /// Enumeration of DG reservoirs. typedef enum DG_Reservoirs { - DG_RESERVOIR_1 = 0, ///< Reservoir #1. - DG_RESERVOIR_2, ///< Reservoir #2. - NUM_OF_DG_RESERVOIRS ///< Number of reservoirs. + DG_RESERVOIR_1 = 0, ///< Reservoir #1. + DG_RESERVOIR_2, ///< Reservoir #2. + NUM_OF_DG_RESERVOIRS ///< Number of reservoirs. } DG_RESERVOIR_ID_T; /// Enumeration of DG pressure sensors. typedef enum DG_PressureSensors { - DG_PRESSURE_SENSOR_RO_PUMP_INLET = 0, ///< RO pump pressure sensor. - DG_PRESSURE_SENSOR_RO_PUMP_OUTLET, ///< RO pump pressure sensor. - DG_PRESSURE_SENSOR_DRAIN_PUMP_INLET, ///< drain pump inlet pressure. - DG_PRESSURE_SENSOR_DRAIN_PUMP_OUTLET, ///< drain pump outlet pressure. - NUM_OF_DG_PRESSURE_SENSORS ///< Number of pressure sensors. + DG_PRESSURE_SENSOR_RO_PUMP_INLET = 0, ///< RO pump pressure sensor. + DG_PRESSURE_SENSOR_RO_PUMP_OUTLET, ///< RO pump pressure sensor. + DG_PRESSURE_SENSOR_DRAIN_PUMP_INLET, ///< drain pump inlet pressure. + DG_PRESSURE_SENSOR_DRAIN_PUMP_OUTLET, ///< drain pump outlet pressure. + NUM_OF_DG_PRESSURE_SENSORS ///< Number of pressure sensors. } DG_PRESSURE_SENSORS_T; /// Payload record structure for an RO pump data message. @@ -108,17 +118,24 @@ // ********** public function prototypes ********** -void initDGInterface( void ); +void initDGInterface( void ); + +void execDGInterfaceMonitor( void ); + void initTreatmentReservoirMgmt( void ); void execTreatmentReservoirMgmt( void ); DG_OP_MODE_T getDGOpMode( void ); U32 getDGSubMode( void ); DG_RESERVOIR_ID_T getDGActiveReservoir( void ); +DG_RESERVOIR_ID_T getDGInactiveReservoir( void ); F32 getDGPressure( DG_PRESSURE_SENSORS_T sensorID ); U32 getDGROPumpPressureSetPt( void ); F32 getDGROPumpFlowRateMlMin( void ); U32 getDGDrainPumpRPMSetPt( void ); +F32 getLoadCellWeightInGrams( LOAD_CELL_T loadCellID ); +F32 getReservoirWeightSmallFilter( DG_RESERVOIR_ID_T resID ); +F32 getReservoirWeightLargeFilter( DG_RESERVOIR_ID_T resID ); void setDGOpMode( U32 opMode, U32 subMode ); void setDialysateTemperatureReadings( F32 temp1, F32 temp2 ); @@ -127,6 +144,7 @@ void setDGPressures( F32 roIn, F32 roOut, F32 drainIn, F32 drainOut ); void setDGROPumpData( U32 presSetPt, F32 flowRate ); void setDGDrainPumpData( U32 rpmSetPt ); +void setNewLoadCellReadings( F32 res1Primary, F32 res1Backup, F32 res2Primary, F32 res2Backup ); void cmdSetDGDialysateTargetTemps( F32 primaryHtrTemp, F32 trimmerHtrTemp ); void cmdStartDG( void ); @@ -138,6 +156,9 @@ void cmdStopDGTrimmerHeater( void ); void cmdDGSampleWater( void ); +BOOL testSetDialOutLoadCellWeightOverride( U32 sensor, F32 value ); +BOOL testResetDialOutLoadCellWeightOverride( U32 sensor ); + /**@}*/ #endif