Index: firmware/App/Controllers/DGInterface.h =================================================================== diff -u -r766708fceb0bdf1af8c7897df29d4f5036bfd3db -r27f3db92495948d4c1192421c1b0c20338c4a034 --- firmware/App/Controllers/DGInterface.h (.../DGInterface.h) (revision 766708fceb0bdf1af8c7897df29d4f5036bfd3db) +++ firmware/App/Controllers/DGInterface.h (.../DGInterface.h) (revision 27f3db92495948d4c1192421c1b0c20338c4a034) @@ -39,24 +39,6 @@ #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_ID_T; - /// Enumeration of DG pressure sensors. typedef enum DG_PressureSensors { @@ -123,15 +105,23 @@ 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 execDGInterfaceMonitor( void ); -void initPreTreatmentReservoirMgmt( void ); void initTreatmentReservoirMgmt( void ); -void execTreatmentReservoirMgmt( void ); +void dialysisResumed( void ); +void execTreatmentReservoirMgmt( void ); DG_OP_MODE_T getDGOpMode( void ); U32 getDGSubMode( void ); @@ -141,7 +131,7 @@ U32 getDGROPumpPressureSetPt( void ); F32 getDGROPumpFlowRateMlMin( void ); U32 getDGDrainPumpRPMSetPt( void ); -F32 getLoadCellWeightInGrams( LOAD_CELL_T loadCellID ); +F32 getLoadCellWeightInGrams( LOAD_CELL_ID_T loadCellID ); F32 getReservoirWeightSmallFilter( DG_RESERVOIR_ID_T resID ); F32 getReservoirWeightLargeFilter( DG_RESERVOIR_ID_T resID ); @@ -157,13 +147,17 @@ void cmdSetDGDialysateTargetTemps( F32 primaryHtrTemp, F32 trimmerHtrTemp ); void cmdStartDG( void ); void cmdStopDG( void ); -void cmdSetDGActiveReservoir( DG_RESERVOIR_ID_T resID ); +void cmdSetDGActiveReservoir( DG_RESERVOIR_ID_T resID ); +void cmdChangeDGValveSetting( DG_VALVE_SETTING_ID_T valveSettingID ); void cmdStartDGFill( U32 fillToVolMl ); 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 );