Index: firmware/App/Controllers/DGInterface.h =================================================================== diff -u -r30f049651877229042e3f8700c8596e5b9a1e0f4 -rc14a0220256e92a6339a444a3e1bc85e159ccce3 --- firmware/App/Controllers/DGInterface.h (.../DGInterface.h) (revision 30f049651877229042e3f8700c8596e5b9a1e0f4) +++ firmware/App/Controllers/DGInterface.h (.../DGInterface.h) (revision c14a0220256e92a6339a444a3e1bc85e159ccce3) @@ -32,21 +32,13 @@ // ********** public definitions ********** -#define DRAIN_RESERVOIR_TO_VOLUME_ML 200 ///< Drain reservoir to this volume (in mL) during treatment. +#define DRAIN_RESERVOIR_TO_VOLUME_ML 0 ///< 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 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_ID_T; - /// Enumeration of DG pressure sensors. typedef enum DG_PressureSensors { @@ -113,22 +105,35 @@ BOOL tareLoadCells; } DRAIN_RESERVOIR_CMD_PAYLOAD_T; +/// DG command response data record structure. +typedef struct +{ + U32 commandID; ///< The command DG is responding to + BOOL rejected; ///< Flag indicates if the command has been rejected + U32 rejectCode; ///< Reason code for rejecting the command +} DG_CMD_RESPONSE_T; + // ********** public function prototypes ********** -void initDGInterface( void ); -void initPreTreatmentReservoirMgmt( void ); -void execPreTreatmentReservoirMgmt( void ); -void initTreatmentReservoirMgmt( void ); +void initDGInterface( void ); + +void execDGInterfaceMonitor( void ); + +void initTreatmentReservoirMgmt( void ); +void dialysisResumed( 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 ); +BOOL hasDGCompletedReservoirSwitch( void ); F32 getDGPressure( DG_PRESSURE_SENSORS_T sensorID ); U32 getDGROPumpPressureSetPt( void ); F32 getDGROPumpFlowRateMlMin( void ); U32 getDGDrainPumpRPMSetPt( void ); +F32 getLoadCellWeight( LOAD_CELL_ID_T loadCellID ); +F32 getReservoirWeightLargeFilter( DG_RESERVOIR_ID_T resID ); void setDGOpMode( U32 opMode, U32 subMode ); void setDialysateTemperatureReadings( F32 temp1, F32 temp2 ); @@ -137,17 +142,26 @@ 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 ); void cmdStopDG( void ); -void cmdSetDGActiveReservoir( DG_RESERVOIR_ID_T resID ); -void cmdStartDGFill( U32 fillToVolMl ); -void cmdStartDGDrain( U32 drainToVolMl ); +void cmdSetDGActiveReservoir( DG_RESERVOIR_ID_T resID ); +void cmdChangeDGValveSetting( DG_VALVE_SETTING_ID_T valveSettingID ); +void cmdStartDGFill( U32 fillToVolMl ); +void cmdStopDGFill( void ); +void cmdStartDGDrain( U32 drainToVolMl, BOOL tareLoadCell ); void cmdStartDGTrimmerHeater( void ); void cmdStopDGTrimmerHeater( void ); void cmdDGSampleWater( void ); +void handleDGCommandResponse( DG_CMD_RESPONSE_T *dgCmdRespPtr ); +BOOL getDGCommandResponse( U32 commandID, DG_CMD_RESPONSE_T *cmdRespPtr ); + +BOOL testSetDialOutLoadCellWeightOverride( U32 sensor, F32 value ); +BOOL testResetDialOutLoadCellWeightOverride( U32 sensor ); + /**@}*/ #endif