Index: DGDefs.h =================================================================== diff -u -r68000d9b13c63cf0f59d4de9f5e9888da5920fa1 -r53ba6201c60349c644bec937cd446992447c4bf7 --- DGDefs.h (.../DGDefs.h) (revision 68000d9b13c63cf0f59d4de9f5e9888da5920fa1) +++ DGDefs.h (.../DGDefs.h) (revision 53ba6201c60349c644bec937cd446992447c4bf7) @@ -1,221 +1,297 @@ /************************************************************************** * +<<<<<<< HEAD * Copyright (c) 2019-2021 Diality Inc. - All Rights Reserved. +======= +* Copyright (c) 2020-2022 Diality Inc. - All Rights Reserved. +>>>>>>> staging * * 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 +* @file DGDefs.h * +<<<<<<< HEAD * @author (last) Dara Navaei * @date (last) 25-Apr-2021 +======= +* @author (last) Dara Navaei +* @date (last) 02-May-2022 +>>>>>>> staging * -* @author (original) Sean Nash -* @date (original) 29-May-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 -{ + +#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_GENE, ///< Generation idle 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_FW_COMPATIBILITY, ///< Run firmware compatibility test state + DG_POST_STATE_FW_INTEGRITY, ///< Run firmware image integrity test state DG_POST_STATE_FPGA, ///< FPGA POST test state DG_POST_STATE_RTC, ///< RTC POST test state DG_POST_STATE_NVDATAMGMT, ///< Non-volatile data management POST state - DG_POST_STATE_LOAD_CELL, ///< Load cells POST 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_RO_PUMP, ///< RO pump POST state + DG_POST_STATE_DRAIN_PUMP, ///< Drain pump POST state + DG_POST_STATE_CONCENTRATE_PUMPS, ///< Concentrate pumps POST state + DG_POST_STATE_CONDUCTIVITY_SENSORS, ///< Conductivity sensors POST state + DG_POST_STATE_RESERVOIRS, ///< Reservoirs 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_DIALYSATE_FLOW_SENSOR, ///< Dialysate flow sensor POST state DG_POST_STATE_WATCHDOG, ///< Watchdog POST test state + DG_POST_STATE_SAFETY_SHUTDOWN, ///< Safety shutdown POST test state + DG_POST_STATE_LOAD_CELL, ///< Load cells POST 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 +}; +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 // TODO remove when DEN-12931 merged DG_STANDBY_MODE_STATE_FLUSH_FILTER, ///< Sample water flush filter state DG_STANDBY_MODE_STATE_FLUSH_FILTER_IDLE, ///< Sample water flush filter idle state - DG_STANDBY_MODE_STATE_SAMPLE_WATER, ///< Sample water 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_BICARB_PUMP_CHECK, ///< Run bicarb concentrate pump and check conductivity range - DG_FILL_MODE_STATE_ACID_PUMP_CHECK, ///< Run acid concentrate pump and check conductivity range - 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, ///< Flush, start mode state - DG_FLUSH_STATE_DRAIN_R1, ///< Flush, drain reservoir 1 state - DG_FLUSH_STATE_DRAIN_R2, ///< Flush, drain reservoir 2 state - DG_FLUSH_STATE_FLUSH_DRAIN, ///< Flush, flush drain state - DG_FLUSH_STATE_FLUSH_DIALYSATE, ///< Flush, flush dialysate state - DG_FLUSH_STATE_FLUSH_CONCENTRATE_STRAWS, ///< Flush, flush concentrate straws state - DG_FLUSH_STATE_FLUSH_R1_TO_R2, ///< Flush, flush reservoir 1 to reservoir 2 state - DG_FLUSH_STATE_FLUSH_R2_AND_DRAIN_R1, ///< Flush, flush reservoir 2 and drain reservoir 1 state - DG_FLUSH_STATE_FLUSH_CIRCULATION_DRAIN_LINE, ///< Flush, flush circulation drain line state - DG_FLUSH_STATE_FLUSH_CIRCULATION, ///< Flush, flush circulation state - DG_FLUSH_STATE_FLUSH_WITH_FRESH_WATER, ///< Flush, flush with fresh water - DG_FLUSH_STATE_CANCEL_BASIC_PATH, ///< Flush, cancel basic path state - DG_FLUSH_STATE_CANCEL_WATER_PATH, ///< Flush, cancel water path state - DG_FLUSH_STATE_COMPLETE, ///< Flush, complete 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_STANDBY_MODE_STATE_SAMPLE_WATER, ///< Sample water 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 generation idle mode states. +enum DG_Generation_Idle_Mode_States +{ + DG_GEN_IDLE_MODE_STATE_START = 0, ///< Start generation idle mode state + DG_GEN_IDLE_MODE_STATE_FLUSH_WATER, /// Handle normal fill state (idle 0.0) + DG_GEN_IDLE_MODE_STATE_HANDLE_BAD_FILL, ///< Handle bad fill state (idle 1.0) + NUM_OF_DG_GEN_IDLE_MODE_STATES ///< Number of idle mode states +}; +typedef enum DG_Generation_Idle_Mode_States DG_GEN_IDLE_MODE_STATE_T; ///< Type for DG generation idle mode states enumeration + +/// Enumeration of generation idle mode states. +enum DG_Generation_Idle_Mode_Bad_Fill_Substates +{ + DG_HANDLE_BAD_FILL_STATE_START = 0, ///< Bad fill start state + DG_HANDLE_BAD_FILL_STATE_FIRST_DRAIN, ///< First drain the dialysate + DG_HANDLE_BAD_FILL_STATE_FLUSH_FILL, ///< Flush then fill the dialysate + DG_HANDLE_BAD_FILL_STATE_SECOND_DRAIN, ///< Second drain the dialysate + DG_HANDLE_BAD_FILL_STATE_REFILL, ///< Refill the dialysate + NUM_OF_DG_HANDLE_BAD_FILL_STATES ///< Number of bad fill states +}; +typedef enum DG_Generation_Idle_Mode_Bad_Fill_Substates DG_GEN_IDLE_MODE_BAD_FILL_STATE_T; ///< Type for DG generation idle mode bad fill sub-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_TEST_INLET_WATER, ///< Test inlet water quality state + DG_FILL_MODE_STATE_PRIME_CONCENTRATE_LINES, ///< Prime the acid and bicarb concentrate lines + DG_FILL_MODE_STATE_FLUSH_BUBBLES, ///< Flush the bubbles in the lines state + DG_FILL_MODE_STATE_TEST_BICARB_CONDUCTIVITY, ///< Test the conductivity range of the bicarb concentrate state + DG_FILL_MODE_STATE_TEST_ACID_CONDUCTIVITY, ///< Test the conductivity range of the acid concentrate state + DG_FILL_MODE_STATE_PRODUCE_DIALYSATE, ///< Dialysate production state + DG_FILL_MODE_STATE_DELIVER_DIALYSATE, ///< Dialysate deliver state + DG_FILL_MODE_STATE_PAUSED, ///< Dialysate generation pause 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 + DG_DRAIN_STATE_TARE, ///< Tare drain mode state + DG_DRAIN_STATE_RINSE, ///< Rinse concentrate lines 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 HDDisinfectStates + * @{ + */ + +/// Sub-mode states while in standby mode disinfect +enum DG_Disinfect_States +{ + DG_DISINFECT_FLUSH_STATE = 0, ///< DG disinfect flush + DG_DISINFECT_HEAT_STATE, ///< DG disinfect heat + DG_DISINFECT_CHEM_STATE, ///< DG disinfect chemical + DG_DISINFECT_NOT_RUNNING_STATE, ///< DG disinfect not running + NUM_OF_DG_DISINFECT_STATES ///< Number of DG disinfect states +}; +typedef enum DG_Disinfect_States DG_DISINFECT_STATE_T; ///< Type for DG disinfect states that are broadcast to UI + +/**@}*/ + +/** + * @addtogroup DGFlushMode + * @{ + */ + +/// Enumeration of flush mode states. +enum DG_Flush_States +{ + DG_FLUSH_STATE_START = 0, ///< Flush, start mode state + DG_FLUSH_STATE_DRAIN_R1, ///< Flush, drain reservoir 1 state + DG_FLUSH_STATE_DRAIN_R2, ///< Flush, drain reservoir 2 state + DG_FLUSH_STATE_FLUSH_DRAIN, ///< Flush, flush drain state + DG_FLUSH_STATE_FLUSH_DIALYSATE, ///< Flush, flush dialysate state + DG_FLUSH_STATE_FLUSH_CONCENTRATE_STRAWS, ///< Flush, flush concentrate straws state + DG_FLUSH_STATE_FLUSH_R1_TO_R2, ///< Flush, flush reservoir 1 to reservoir 2 state + DG_FLUSH_STATE_FLUSH_R2_AND_DRAIN_R1, ///< Flush, flush reservoir 2 and drain reservoir 1 state + DG_FLUSH_STATE_FLUSH_CIRCULATION_DRAIN_LINE, ///< Flush, flush circulation drain line state + DG_FLUSH_STATE_FLUSH_CIRCULATION, ///< Flush, flush circulation state + DG_FLUSH_STATE_FLUSH_WITH_FRESH_WATER, ///< Flush, flush with fresh water + DG_FLUSH_STATE_CANCEL_BASIC_PATH, ///< Flush, cancel basic path state + DG_FLUSH_STATE_CANCEL_WATER_PATH, ///< Flush, cancel water path state + DG_FLUSH_STATE_COMPLETE, ///< Flush, complete 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 + +/// Enumeration of flush mode UI states. +enum DG_Flush_UI_States +{ + FLUSH_UI_STATE_NOT_RUNNING = 0, ///< Flush UI, not running state + FLUSH_UI_STATE_DRAIN_DEVICE, ///< Flush UI, drain device state + FLUSH_UI_STATE_FLUSH_RESERVOIRS, ///< Flush UI, flush reservoirs + FLUSH_UI_STATE_DRAIN_RESERVOIRS, ///< Flush UI, drain reservoirs + FLUSH_UI_STATE_FLUSH_RECIRCULATION_PATH, ///< Flush UI, flush recirculation path + FLUSH_UI_STATE_CANCEL_FLUSH, ///< Flush UI, cancel flush state + FLUSH_UI_STATE_COMPLETE, ///< Flush UI, complete state + NUM_OF_FLUSH_UI_STATES ///< Number of flush UI states +}; +typedef enum DG_Flush_UI_States DG_FLUSH_UI_STATE_T; ///< Type for DG flush mode UI states enumeration + +#if defined(_HD_) || defined(_DG_) +/// Flush mode data publish struct +typedef struct +{ + U32 flushState; ///< Flush state. + U32 overallElapsedTime; ///< Overall elapsed time in flush mode. + U32 stateElapsedTime; ///< Current flush elapsed time. + F32 drainLineVolume; ///< Drain line volume. + U32 flushUIState; ///< Flush UI state. +} MODE_FLUSH_DATA_T; +#endif + +/**@}*/ + +/** + * @addtogroup DGHeatDisinfectMode + * @{ + */ + +/// Enumeration of heat disinfect mode states. +enum DG_Heat_States +{ DG_HEAT_DISINFECT_STATE_START = 0, ///< Heat disinfect, start mode state DG_HEAT_DISINFECT_STATE_DRAIN_R1, ///< Heat disinfect, drain R1 state DG_HEAT_DISINFECT_STATE_DRAIN_R2, ///< Heat disinfect, drain R2 state @@ -239,28 +315,114 @@ DG_HEAT_DISINFECT_STATE_CANCEL_BASIC_PATH, ///< Heat disinfect, cancel mode basic path state DG_HEAT_DISINFECT_STATE_CANCEL_WATER_PATH, ///< Heat disinfect, cancel mode water path state DG_HEAT_DISINFECT_STATE_COMPLETE, ///< Heat disinfect, complete state - 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 + 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 +/// Enumeration of heat disinfect mode states. +enum DG_Heat_UI_States +{ + HEAT_DISINFECT_UI_STATE_NOT_RUNNING = 0, ///< Heat disinfect UI, not running state + HEAT_DISINFECT_UI_STATE_FLUSH_BEFORE_DISINFECT, ///< Heat disinfect UI, flush before disinfect state + HEAT_DISINFECT_UI_STATE_HEAT_UP_WATER, ///< Heat disinfect UI, heat up water state + HEAT_DISINFECT_UI_STATE_DISINFECT_RESERVOIR_1, ///< Heat disinfect UI, disinfect reservoir 1 state + HEAT_DISINFECT_UI_STATE_TRANSITION_HOT_WATER, ///< Heat disinfect UI, transition hot water state + HEAT_DISINFECT_UI_STATE_DISINFECT_RESERVOIR_2, ///< Heat disinfect UI, disinfect reservoir 2 state + HEAT_DISINFECT_UI_STATE_COOL_DOWN_DEVICE, ///< Heat disinfect UI, cool down device state + HEAT_DISINFECT_UI_STATE_FLUSH_AFTER_DISINFECT, ///< Heat disinfect UI, flush after disinfect state + HEAT_DISINFECT_UI_STATE_CANCEL_DISINFECT, ///< Heat disinfect UI, cancel disinfect state + HEAT_DISINFECT_UI_STATE_COMPLETE, ///< Heat disinfect UI, complete state + NUM_OF_HEAT_DISINFECT_UI_STATES ///< Number of heat disinfect mode UI states +}; +typedef enum DG_Heat_UI_States DG_HEAT_DISINFECT_UI_STATE_T; ///< Type for DG heat disinfect UI states enumeration + +#if defined(_HD_) || defined(_DG_) +/// Heat disinfect data publish struct +typedef struct +{ + U32 heatDisinfectState; ///< Heat disinfect state. + U32 overallElapsedTime; ///< Overall elapsed time in heat disinfect mode. + U32 stateElapsedTime; ///< Current heat disinfect elapsed time. + U32 cancellationMode; ///< Heat disinfect cancellation mode. + F32 R1FillLevel; ///< Reservoir 1 level upon starting the heat disinfect. + F32 R2FillLevel; ///< Reservoir 2 level upon starting the heat disinfect. + U32 heatDisinfectUIState; ///< Heat disinfect UI state. +} MODE_HEAT_DISINFECT_DATA_T; +#endif + /**@}*/ /** + * @addtogroup DGChemicalDisinfectMode + * @{ + */ + +/// Enumeration of chemical disinfect mode states. +enum DG_Chem_States +{ + DG_CHEM_DISINFECT_STATE_START = 0, ///< Chemical disinfect, start state + DG_CHEM_DISINFECT_STATE_DRAIN_R1, ///< Chemical disinfect, drain R1 state + DG_CHEM_DISINFECT_STATE_DRAIN_R2, ///< Chemical disinfect, drain R2 state + DG_CHEM_DISINFECT_STATE_FLUSH_DRAIN, ///< Chemical disinfect, flush drain state + DG_CHEM_DISINFECT_STATE_FLUSH_CIRCULATION, ///< Chemical disinfect, flush circulation state + DG_CHEM_DISINFECT_STATE_FLUSH_R1_AND_R2, ///< Chemical disinfect, flush R1 and R2 state + DG_CHEM_DISINFECT_STATE_FLUSH_R2_AND_DRAIN_R1, ///< Chemical disinfect, flush R2 and drain R1 state + DG_CHEM_DISINFECT_STATE_FLUSH_DRAIN_R2, ///< Chemical disinfect, flush drain R2 state + DG_CHEM_DISINFECT_STATE_FLUSH_DRAIN_R1, ///< Chemical disinfect, flush drain R1 state + DG_CHEM_DISINFECT_STATE_PRIME_ACID_LINE, ///< Chemical disinfect, prime acid line + DG_CHEM_DISINFECT_STATE_FILL_WITH_WATER_AND_DISINFECTANT, ///< Chemical disinfect, fill with water and disinfectant state + DG_CHEM_DISINFECT_STATE_REMOVE_ACID_BOTTLE_FROM_UI, ///< Chemical disinfect, remove the acid bottle from UI state + DG_CHEM_DISINFECT_STATE_DISINFECT_R1_TO_R2, ///< Chemical disinfect, disinfect R1 to R2 state + DG_CHEM_DISINFECT_STATE_FILL_R2_WITH_DISINFECTANT, ///< Chemical disinfect, fill R2 with disinfectant state + DG_CHEM_DISINFECT_STATE_DISINFECT_R2_TO_R1, ///< Chemical disinfect, disinfect R2 to R1 state + DG_CHEM_DISINFECT_STATE_COOL_DOWN_HEATERS, ///< Chemical disinfect, cool down heaters state + DG_CHEM_DISINFECT_STATE_DISINFECTANT_DRAIN_R1, ///< Chemical disinfect, disinfectant drain R1 state + DG_CHEM_DISINFECT_STATE_DISINFECTANT_DRAIN_R2, ///< Chemical disinfect, disinfectant drain R2 state + DG_CHEM_DISINFECT_STATE_RINSE_R1_TO_R2, ///< Chemical disinfect, rinse R1 to R2 state + DG_CHEM_DISINFECT_STATE_RINSE_R2_TO_R1_AND_DRAIN_R1, ///< Chemical disinfect, rinse R2 to R1 and drain R1 state + DG_CHEM_DISINFECT_STATE_RINSE_R1_TO_R2_AND_DRAIN_R2, ///< Chemical disinfect, rinse R1 to R2 and drain R2 state + DG_CHEM_DISINFECT_STATE_RINSE_CIRCULATION, ///< Chemical disinfect, rinse circulation state + DG_CHEM_DISINFECT_STATE_CANCEL_BASIC_PATH, ///< Chemical disinfect, cancel basic path state + DG_CHEM_DISINFECT_STATE_CANCEL_WATER_PATH, ///< Chemical disinfect, cancel water path state + DG_CHEM_DISINFECT_STATE_COMPLETE, ///< Chemical disinfect, complete 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 + +/// Enumeration of chemical disinfect mode UI states +enum DG_Chem_UI_States +{ + CHEM_DISINFECT_UI_STATE_NOT_RUNNING = 0, ///< Chemical disinfect UI, not running state + CHEM_DISINFECT_UI_STATE_FLUSH_BEFORE_DISINFECT, ///< Chemical disinfect UI, flush before disinfect state + CHEM_DISINFECT_UI_STATE_MIX_WATER_AND_ACID, ///< Chemical disinfect UI, mix water and acid state + CHEM_DISINFECT_UI_STATE_REMOVE_ACID, ///< Chemical disinfect UI, remove acid state + CHEM_DISINFECT_UI_STATE_DISINFECT_DEVICE, ///< Chemical disinfect UI, disinfect device state + CHEM_DISINFECT_UI_STATE_FLUSH_AFTER_DISINFECT, ///< Chemical disinfect UI, flush after disinfect state + CHEM_DISINFECT_UI_STATE_CANCEL_DISINFECT, ///< Chemical disinfect UI, cancel disinfect state + CHEM_DISINFECT_UI_STATE_COMPLETE, ///< Chemical disinfect UI, complete state + NUM_OF_CHEM_DISINFECT_UI_STATES ///< Number of chemical disinfect UI states +}; +typedef enum DG_Chem_UI_States DG_CHEM_DISINFECT_UI_STATE_T; ///< Type for DG chemical disinfect UI states enumeration + +#if defined(_HD_) || defined(_DG_) +/// Chemical disinfect data +typedef struct +{ + U32 chemDisinfectState; ///< Chemical disinfect state. + U32 overallElapsedTime; ///< Overall elapsed time in chemical disinfect mode. + U32 stateElapsedTime; ///< Current chemical disinfect elapsed time. + U32 cancellationMode; ///< Chemical disinfect cancellation mode. + F32 R1FillLevel; ///< Reservoir 1 level upon starting the chemical disinfect. + F32 R2FillLevel; ///< Reservoir 2 level upon starting the chemical disinfect. + U32 postDisinfectTargetRinseCount; ///< Target post disinfect rinse count. + U32 postDisinfectCurrentRinseCount; ///< Current post disinfect rinse count. + U32 chemDisinfectUIState; ///< Chemical disinfect UI state. +} MODE_CHEMICAL_DISINFECT_DATA_T; +#endif + +/**@}*/ + +/** * @addtogroup DGServiceMode * @{ */ @@ -283,19 +445,26 @@ /// Enumeration of available DG commands. enum DG_Command { - DG_CMD_NONE = 0, ///< Not a command - DG_CMD_SWITCH_RESERVOIR = 1, ///< Command to request DG switch reservoirs - DG_CMD_START_DRAIN = 2, ///< Command to request DG to start drain - DG_CMD_STOP_DRAIN = 3, ///< Command to request DG to stop drain - DG_CMD_START_FILL = 4, ///< Command to request DG to start fill - DG_CMD_STOP_FILL = 5, ///< Command to request DG to stop fill - DG_CMD_START_TRIMMER_HEATER = 6, ///< Command to request DG to start trimmer heater - DG_CMD_STOP_TRIMMER_HEATER = 7, ///< Command to request DG to stop trimmer heater - DG_CMD_VALVE_SETTING = 8, ///< Command to request DG to change valve settings - DG_CMD_SAMPLE_WATER = 9, ///< Command to request DG to sample water - NUM_OF_DG_COMMANDS ///< Number of DG commands + DG_CMD_NONE = 0, ///< Not a command + DG_CMD_SWITCH_RESERVOIR = 1, ///< Command to request DG switch reservoirs + DG_CMD_START_DRAIN = 2, ///< Command to request DG to start drain + DG_CMD_STOP_DRAIN = 3, ///< Command to request DG to stop drain + DG_CMD_START_FILL = 4, ///< Command to request DG to start fill + DG_CMD_STOP_FILL = 5, ///< Command to request DG to stop fill + DG_CMD_START_TRIMMER_HEATER = 6, ///< Command to request DG to start trimmer heater + DG_CMD_STOP_TRIMMER_HEATER = 7, ///< Command to request DG to stop trimmer heater + DG_CMD_VALVE_SETTING = 8, ///< Command to request DG to change valve settings + DG_CMD_SAMPLE_WATER = 9, ///< Command to request DG to sample water + DG_CMD_START_FLUSH = 10, ///< Command to request DG to start flush + DG_CMD_STOP_FLUSH = 11, ///< Command to request DG to stop flu + DG_CMD_START_HEAT_DISINFECT = 12, ///< Command to request DG to start heat disinfect + DG_CMD_STOP_HEAT_DISINFECT = 13, ///< Command to request DG to stop heat disinfect + DG_CMD_START_CHEM_DISINFECT = 14, ///< Command to request DG to start chemical disinfect + DG_CMD_STOP_CHEM_DISINFECT = 15, ///< Command to request DG to stop chemical disinfect + DG_CMD_REQUEST_CONC_MIXING_RATIOS = 16, ///< Command to request DG to send the concentrate pumps mixing ratios + NUM_OF_DG_COMMANDS ///< Number of DG commands }; -typedef enum DG_Command DG_COMMAND_T; ///< Type for DG commands enumeration +typedef enum DG_Command DG_COMMAND_T; ///< Type for DG commands enumeration /// Enumeration of sample water command parameters. enum Sample_Water_Commands @@ -368,5 +537,26 @@ } LOAD_CELL_ID_T; /**@}*/ - -#endif + +/**@}*/ + +/** + * @addtogroup CommonHeader + * @{ + */ + +/// Enumeration of DG event IDs. +enum DG_Event_List +{ + DG_EVENT_STARTUP = 0, ///< DG startup event + DG_EVENT_OP_MODE_CHANGE, ///< DG Op mode change event + DG_EVENT_SUB_MODE_CHANGE, ///< DG Op sub-mode change event + DG_EVENT_CONCENTRATE_CAP_SWITCH_CHANGE, ///< DG concentrate cap switch change + DG_EVENT_DIALYSATE_CAP_SWITCH_CHANGE, ///< DG dialysate cap switch change + NUM_OF_DG_EVENT_IDS ///< Total number of DG events +}; +typedef enum DG_Event_List DG_EVENT_ID_T; ///< Type for DG event list enumeration + +/**@}*/ + +#endif