Index: DGDefs.h =================================================================== diff -u -r0b1e7ab83ee790a766978a013da5e21ee6732890 -r35f81d848a7983f7272feab7bce35fb0be2d88d0 --- DGDefs.h (.../DGDefs.h) (revision 0b1e7ab83ee790a766978a013da5e21ee6732890) +++ DGDefs.h (.../DGDefs.h) (revision 35f81d848a7983f7272feab7bce35fb0be2d88d0) @@ -1,14 +1,14 @@ /************************************************************************** * -* Copyright (c) 2020-2022 Diality Inc. - All Rights Reserved. +* Copyright (c) 2020-2023 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) Dong Nguyen -* @date (last) 08-Sep-2022 +* @author (last) Dara Navaei +* @date (last) 21-Dec-2022 * * @author (original) Sean Nash * @date (original) 29-May-2020 @@ -39,6 +39,8 @@ DG_MODE_FLUS, ///< Flush mode DG_MODE_HEAT, ///< Heat Disinfect mode DG_MODE_CHEM, ///< Chemical Disinfect mode + DG_MODE_CHFL, ///< Chemical Disinfect Flush mode + DG_MODE_HCOL, ///< Heat disinfect cooling mode DG_MODE_NLEG, ///< Not legal - an illegal mode transition occurred NUM_OF_DG_MODES ///< Number of DG operation modes }; @@ -297,12 +299,8 @@ DG_HEAT_DISINFECT_STATE_FILL_R2_WITH_HOT_WATER, ///< Heat disinfect, fill R2 with hot water state DG_HEAT_DISINFECT_STATE_DISINFECT_R2_TO_R1, ///< Heat disinfect, disinfect R2 to R1 state DG_HEAT_DISINFECT_STATE_COOL_DOWN_HEATERS, ///< Heat disinfect, cool down heaters state - DG_HEAT_DISINFECT_STATE_COOL_DOWN_RO_FILTER, ///< Heat disinfect, cool down RO filter state DG_HEAT_DISINFECT_STATE_MIX_DRAIN_R1, ///< Heat disinfect, mix drain R1 state DG_HEAT_DISINFECT_STATE_MIX_DRAIN_R2, ///< Heat disinfect, mix drain R2 state - DG_HEAT_DISINFECT_STATE_RINSE_R1_TO_R2, ///< Heat disinfect, rinse R1 to R2 state - DG_HEAT_DISINFECT_STATE_RINSE_R2_TO_R1_AND_DRAIN_R1, ///< Heat disinfect, rinse R2 to R1 and drain R1 state - DG_HEAT_DISINFECT_STATE_RINSE_CIRCULATION, ///< Heat disinfect, rinse circulation state 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 @@ -344,6 +342,24 @@ /**@}*/ /** + * @addtogroup DGHeatDisinfectActiveCoolMode + * @{ + */ + +/// Enumeration of heat disinfect active cool mode states. +enum DG_Heat_Cool_States +{ + DG_HEAT_DISINFECT_ACTIVE_COOL_STATE_START = 0, ///< Heat disinfect active cool, start mode state + DG_HEAT_DISINFECT_ACTIVE_COOL_STATE_COOL_DOWN_RO_FILTER, ///< Heat disinfect active cool, cool down RO filter state + DG_HEAT_DISINFECT_ACTIVE_COOL_STATE_CANCEL_BASIC_PATH, ///< Heat disinfect active cool, cancel mode basic path state + DG_HEAT_DISINFECT_ACTIVE_COOL_STATE_COMPLETE, ///< Heat disinfect active cool, complete state + NUM_OF_DG_HEAT_DISINFECT_ACTIVE_COOL_STATES ///< Number of heat disinfect mode states +}; +typedef enum DG_Heat_Cool_States DG_HEAT_DISINFECT_ACTIVE_COOL_STATE_T; ///< Type for DG heat disinfect active cool states enumeration + +/**@}*/ + +/** * @addtogroup DGChemicalDisinfectMode * @{ */ @@ -356,23 +372,13 @@ 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_PRIME_DISINFECTANT, ///< Chemical disinfect, prime disinfectant state + DG_CHEM_DISINFECT_STATE_DISINFECTANT_FLUSH, ///< Chemical disinfect, disinfectant flush state + DG_CHEM_DISINFECT_STATE_FILL_WITH_DISINFECTANT, ///< Chemical disinfect, fill with disinfectant state + DG_CHEM_DISINFECT_STATE_DISINFECT_R1_TO_R2, ///< Chemical disinfect, fill R1 with disinfectant, overflow to R2 + DG_CHEM_DISINFECT_STATE_PARTIAL_DRAIN_R1_FILL_R2_TO_R1, ///< Chemical disinfect, fill R2 with disinfectant, partial drain R1 + DG_CHEM_DISINFECT_STATE_DISINFECT_R2_TO_R1, ///< Chemical disinfect, fill R2 with disinfectant, overflow to R1 + DG_CHEM_DISINFECT_STATE_PARTIAL_DRAIN_R2_FILL_R1_TO_R2, ///< Chemical disinfect, fill R1 with disinfectant, partial drain R2 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 @@ -405,15 +411,63 @@ 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 DGChemicalDisinfectFlushMode + * @{ + */ + +/// Enumeration of chemical disinfect flush mode states. +enum DG_Chem_Flush_States +{ + DG_CHEM_DISINFECT_FLUSH_STATE_START = 0, ///< Chemical disinfect, start state + DG_CHEM_DISINFECT_FLUSH_STATE_DRAIN_R1, ///< Chemical disinfect flush, drain R1 state + DG_CHEM_DISINFECT_FLUSH_STATE_DRAIN_R2, ///< Chemical disinfect flush, drain R2 state + DG_CHEM_DISINFECT_FLUSH_STATE_FLUSH_DRAIN, ///< Chemical disinfect flush, flush drain state + DG_CHEM_DISINFECT_FLUSH_STATE_FLUSH_DISINFECTANT_LINE, ///< Chemical disinfect flush, flush disinfectant line state + DG_CHEM_DISINFECT_FLUSH_STATE_FLUSH_UF, ///< Chemical disinfect flush, flush UF state + DG_CHEM_DISINFECT_FLUSH_STATE_FLUSH_R2_TO_R1_DRAIN_R1, ///< Chemical disinfect flush, flush R2 to R1 drain R1 state + DG_CHEM_DISINFECT_FLUSH_STATE_FLUSH_R1_TO_R2_DRAIN_R2, ///< Chemical disinfect flush, flush R1 to R2 drain R2 state + DG_CHEM_DISINFECT_FLUSH_STATE_SAMPLE_FLUSH_R1_TO_R2_DRAIN_R2, ///< Chemical disinfect flush, sample flush R1 to R2 drain R2 state + DG_CHEM_DISINFECT_FLUSH_STATE_CANCEL_BASIC_PATH, ///< Chemical disinfect flush, cancel basic path state + DG_CHEM_DISINFECT_FLUSH_STATE_CANCEL_WATER_PATH, ///< Chemical disinfect flush, cancel water path state + DG_CHEM_DISINFECT_FLUSH_STATE_COMPLETE, ///< Chemical disinfect flush, complete state + NUM_OF_DG_CHEM_DISINFECT_FLUSH_STATES ///< Number of chemical disinfect flush mode states +}; +typedef enum DG_Chem_Flush_States DG_CHEM_DISINFECT_FLUSH_STATE_T; ///< Type for DG chemical disinfect flush states enumeration + +/// Enumeration of chemical disinfect flush mode UI states +enum DG_Chem_Flush_UI_States +{ + CHEM_DISINFECT_FLUSH_UI_STATE_NOT_RUNNING = 0, ///< Chemical disinfect flush UI, not running state + CHEM_DISINFECT_FLUSH_UI_STATE_FLUSH_AFTER_DISINFECT, ///< Chemical disinfect flush UI, flush after disinfect state + CHEM_DISINFECT_FLUSH_UI_STATE_CANCEL_FLUSH, ///< Chemical disinfect flush UI, cancel disinfect state + CHEM_DISINFECT_FLUSH_UI_STATE_COMPLETE, ///< Chemical disinfect flush UI, complete state + NUM_OF_CHEM_DISINFECT_FLUSH_UI_STATES ///< Number of chemical disinfect flush UI states +}; +typedef enum DG_Chem_Flush_UI_States DG_CHEM_DISINFECT_FLUSH_UI_STATE_T; ///< Type for DG chemical disinfect UI states enumeration + +#if defined(_HD_) || defined(_DG_) +/// Chemical disinfect flush data +typedef struct +{ + U32 chemDisinfectFlushState; ///< Chemical disinfect flush state. + U32 overallElapsedTime; ///< Overall elapsed time in chemical disinfect flush mode. + U32 stateElapsedTime; ///< Current chemical disinfect flush elapsed time. + U32 cancellationMode; ///< Chemical disinfect flush cancellation mode. + U32 postDisinfectCurrentRinseCount; ///< Current post disinfect rinse count. + U32 chemDisinfectFlushUIState; ///< Chemical disinfect flush UI state. +} MODE_CHEMICAL_DISINFECT_FLUSH_DATA_T; +#endif + +/**@}*/ + +/** * @addtogroup DGServiceMode * @{ */ @@ -453,6 +507,8 @@ 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 + DG_CMD_START_CHEM_DISINFECT_FLUSH = 17, ///< Command to request DG to start chemical disinfect + DG_CMD_STOP_CHEM_DISINFECT_FLUSH = 18, ///< Command to request DG to stop chemical disinfect NUM_OF_DG_COMMANDS ///< Number of DG commands }; typedef enum DG_Command DG_COMMAND_T; ///< Type for DG commands enumeration @@ -529,8 +585,6 @@ /**@}*/ -/**@}*/ - /** * @addtogroup CommonHeader * @{ @@ -550,15 +604,14 @@ DG_EVENT_SERVICE_UPDATE, ///< DG new service record has been updated DG_EVENT_USAGE_INFO_UPDATE, ///< DG new usage information has been updated DG_EVENT_SW_CONFIG_UPDATE, ///< DG new software configuration has been updated - DG_EVENT_NO_EVENT, ///< DG no event has been updated + DG_EVENT_SCHEDULED_RUNS_UPDATE, ///< DG new scheduled runs information has been updated + DG_EVENT_HEATERS_INFO_UPDATE, ///< DG new heaters information has been updated 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 /**@}*/ -/**@}*/ - /** * @addtogroup HeatersState * @{