/************************************************************************** * * 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 DGDefs.h * * @author (last) Quang Nguyen * @date (last) 02-Sep-2020 * * @author (original) Sean Nash * @date (original) 29-May-2020 * ***************************************************************************/ #ifndef __DG_DEFS_H__ #define __DG_DEFS_H__ // ********** public definitions ********** /** * @addtogroup DGOperationModes * @{ */ /// Enumeration of operation modes. These are in order of priority (highest to lowest). 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_HEAT, ///< Heat Disinfect mode DG_MODE_CHEM, ///< Chemical Disinfect mode DG_MODE_NLEG, ///< Not legal - an illegal mode transition occurred NUM_OF_DG_MODES ///< Number of DG operation modes }; typedef enum DG_Op_Modes DG_OP_MODE_T; ///< Type for DG operation modes enumeration /**@}*/ /** * @addtogroup DGInitAndPOSTMode * @{ */ /// Enumeration of init & POST mode states. enum DG_POST_States { DG_POST_STATE_START = 0, ///< Start initialize & POST mode state DG_POST_STATE_FPGA, ///< FPGA POST test state DG_POST_STATE_RTC, ///< RTC POST test state DG_POST_STATE_TEMPERATURE_SENSORS, ///< Temperature Sensors POST state DG_POST_STATE_HEATERS, ///< Heaters POST state DG_POST_STATE_ACCELEROMETER, ///< Accelerometer POST state DG_POST_STATE_PRESSURES, ///< Pressure sensors POST state DG_POST_STATE_UV_REACTORS, ///< UV reactors POST state DG_POST_STATE_THERMISTORS, ///< Thermistors POST state DG_POST_STATE_FANS, ///< Fans POST state DG_POST_DRAIN_PUMP, ///< Drain pump POST state DG_POST_STATE_WATCHDOG, ///< Watchdog POST test state DG_POST_STATE_COMPLETED, ///< POST completed successfully state DG_POST_STATE_FAILED, ///< POST failed state NUM_OF_DG_POST_STATES ///< Number of initialize & POST mode states }; typedef enum DG_POST_States DG_POST_STATE_T; ///< Type for DG POST states enumeration /**@}*/ /** * @addtogroup DGFaultMode * @{ */ /// Enumeration of fault mode states. enum DG_Fault_States { DG_FAULT_STATE_START = 0, ///< Start fault state NUM_OF_DG_FAULT_STATES ///< Number of fault mode states }; typedef enum DG_Fault_States DG_FAULT_STATE_T; ///< Type for DG fault states enumeration /**@}*/ /** * @addtogroup DGSoloStandbyMode * @{ */ /// Enumeration of solo standby mode states. enum DG_Solo_States { DG_SOLO_STANDBY_STATE_START = 0, ///< Start solo standby mode state DG_SOLO_IDLE_STATE, ///< Idle solo standby mode state NUM_OF_DG_SOLO_STANDBY_STATES ///< Number of solo standby mode states }; typedef enum DG_Solo_States DG_SOLO_STANDBY_STATE_T; ///< Type for DG solo mode states enumeration /**@}*/ /** * @addtogroup DGStandbyMode * @{ */ /// Enumeration of standby mode states. enum DG_Standby_Mode_States { DG_STANDBY_MODE_STATE_START = 0, ///< Start standby mode state DG_STANDBY_MODE_STATE_IDLE, ///< Idle standby mode state DG_STANDBY_MODE_STATE_SAMPLE_WATER, ///< Sample water standby mode state NUM_OF_DG_STANDBY_MODE_STATES ///< Number of standby mode states }; typedef enum DG_Standby_Mode_States DG_STANDBY_MODE_STATE_T; ///< Type for DG standby mode states enumeration /**@}*/ /** * @addtogroup DGRecirculateMode * @{ */ /// Enumeration of re-circulation mode states. enum DG_Recirculate_Mode_States { DG_RECIRCULATE_MODE_STATE_START = 0, ///< Start re-circulation mode state DG_RECIRCULATE_MODE_STATE_FLUSH_LINES, ///< Flush lines state DG_RECIRCULATE_MODE_STATE_RECIRC_WATER, ///< Re-circulate water state DG_RECIRCULATE_MODE_STATE_PAUSE, ///< Pause state (pumps, heaters, lamps off) NUM_OF_DG_RECIRCULATE_MODE_STATES ///< Number of fill mode states }; typedef enum DG_Recirculate_Mode_States DG_RECIRCULATE_MODE_STATE_T; ///< Type for DG recirculation mode states enumeration /**@}*/ /** * @addtogroup DGFillMode * @{ */ /// Enumeration of fill mode states. enum DG_Fill_Mode_States { DG_FILL_MODE_STATE_START = 0, ///< Start fill mode state DG_FILL_MODE_STATE_CHECK_INLET_WATER, ///< Check inlet water quality state DG_FILL_MODE_STATE_DIALYSATE_PRODUCTION, ///< Dialysate production state DG_FILL_MODE_STATE_DELIVER_DIALYSATE, ///< Deliver dialysate state NUM_OF_DG_FILL_MODE_STATES ///< Number of fill mode states }; typedef enum DG_Fill_Mode_States DG_FILL_MODE_STATE_T; ///< Type for DG fill mode states enumeration /**@}*/ /** * @addtogroup DGDrainMode * @{ */ /// Enumeration of drain mode states. enum DG_Drain_States { DG_DRAIN_STATE_START = 0, ///< Start drain mode state DG_DRAIN_STATE_DRAIN, ///< Drain drain mode state NUM_OF_DG_DRAIN_STATES ///< Number of drain mode states }; typedef enum DG_Drain_States DG_DRAIN_STATE_T; ///< Type for DG drain mode states enumeration /**@}*/ /** * @addtogroup DGFlushMode * @{ */ /// Enumeration of flush mode states. enum DG_Flush_States { DG_FLUSH_STATE_START = 0, ///< Start flush mode state NUM_OF_DG_FLUSH_STATES ///< Number of flush mode states }; typedef enum DG_Flush_States DG_FLUSH_STATE_T; ///< Type for DG flush mode states enumeration /**@}*/ /** * @addtogroup DGHeatDisinfectMode * @{ */ /// Enumeration of heat disinfection mode states. enum DG_Heat_States { DG_HEAT_DISINFECT_STATE_START = 0, ///< Heat disinfect, start mode state DG_HEAT_DISINFECT_STATE_EVACUATE_DIALYSATE_FILL_WITH_WATER, ///< Heat disinfect, evacuate dialysate and fill with water DG_HEAT_DISINFECT_STATE_HEAT_WATER, ///< Heat disinfect, heater the stored water DG_HEAT_DISINFECT_STATE_DISINFECT_RECIRC_PATH, ///< Heat disinfect, heat disinfect recirculation path DG_HEAT_DISINFECT_STATE_DISINFECT_R1_TO_R2, ///< Heat disinfect, heat disinfect reservoir 1 to 2 DG_HEAT_DISINFECT_STATE_DISINFECT_R2_TO_R1, ///< Heat disinfect, heat disinfect reservoir 2 to 1 DG_HEAT_DISINFECT_STATE_DISINFECT_DRAIN_PATH, ///< Heat disinfect, heat disinfect drain path DG_HEAT_DISINFECT_STATE_FILL_WITH_WATER_DEPRIME_RESERVOIRS, ///< Heat disinfect, fill with water and de-prime the reservoirs DG_HEAT_DISINFECT_STATE_COMPLETE, ///< Heat disinfect, complete NUM_OF_DG_HEAT_DISINFECT_STATES ///< Number of heat disinfect mode states }; typedef enum DG_Heat_States DG_HEAT_DISINFECT_STATE_T; ///< Type for DG heat disinfect states enumeration /**@}*/ /** * @addtogroup DGChemicalDisinfectMode * @{ */ /// Enumeration of chemical disinfect mode states. enum DG_Chem_States { DG_CHEM_DISINFECT_STATE_START = 0, ///< Start chemical disinfect mode state NUM_OF_DG_CHEM_DISINFECT_STATES ///< Number of chemical disinfect mode states }; typedef enum DG_Chem_States DG_CHEM_DISINFECT_STATE_T; ///< Type for DG chemical disinfect states enumeration /**@}*/ /** * @addtogroup DGServiceMode * @{ */ /// Enumeration of service mode states. enum DG_Service_States { DG_SERVICE_STATE_START = 0, ///< Start service mode state NUM_OF_DG_SERVICE_STATES ///< Number of service mode statesS }; typedef enum DG_Service_States DG_SERVICE_STATE_T; ///< Type for DG service states enumeration /**@}*/ #endif