/**********************************************************************//** * * Copyright (c) 2019-2020 Diality Inc. - All Rights Reserved. * * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN * WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. * * @file DGInterface.h * * @date 08-Apr-2020 * @author S. Nash * * @brief DGInterface (dialysate generator) header file. * **************************************************************************/ #ifndef __DG_H__ #define __DG_H__ #include "HDCommon.h" /** * @defgroup DGInterface DGInterface * @brief DG interface/monitor module. Interfaces with and monitors the * DG (dialysate generator) sub-system. * * @addtogroup DGInterface * @{ */ // ********** public definitions ********** /// Enumeration of DG operation modes. typedef enum DG_Op_Modes { DG_MODE_FAUL = 0, ///< Fault mode. DG_MODE_SERV, ///< Service mode. DG_MODE_INIT, ///< Initialization & POST mode. DG_MODE_STAN, ///< Standby mode - connected to HD. DG_MODE_SOLO, ///< Standby Solo mode - no HD connected. DG_MODE_CIRC, ///< Re-circulate mode. DG_MODE_FILL, ///< Fill mode. DG_MODE_DRAI, ///< Drain mode. DG_MODE_FLUS, ///< Flush mode. DG_MODE_DISI, ///< Disinfect mode. DG_MODE_CHEM, ///< Chemical Disinfect mode. DG_MODE_NLEG, ///< Not legal - an illegal mode transition occurred. NUM_OF_DG_MODES } DG_OP_MODE_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 { 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; // ********** public function prototypes ********** void initDGInterface( void ); DG_OP_MODE_T getDGOpMode( void ); DG_RESERVOIR_ID_T getDGActiveReservoir( void ); F32 getDGPressure( DG_PRESSURE_SENSORS_T sensorID ); U32 getDGROPumpPressureSetPt( void ); F32 getDGROPumpFlowRateMlMin( void ); U32 getDGDrainPumpRPMSetPt( void ); void setDGOpMode( U32 opMode ); void setDGDialysateTemperatures( F32 primaryHtrTemp, F32 trimmerHtrTemp ); void setDGReservoirsData( U32 resID, U32 fillVol, U32 drainVol ); void setDGPressures( F32 roIn, F32 roOut, F32 drainIn, F32 drainOut ); void setDGROPumpData( U32 presSetPt, F32 flowRate ); void setDGDrainPumpData( U32 rpmSetPt ); void cmdSetDGDialysateTargetTemps( U32 primaryHtrTemp, U32 trimmerHtrTemp ); void cmdStartDG( void ); void cmdStopDG( void ); void cmdSetDGActiveReservoir( DG_RESERVOIR_ID_T resID ); void cmdStartDGFill( U32 fillToVolMl ); void cmdStartDGDrain( U32 drainToVolMl ); /**@}*/ #endif