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 Index: HDDefs.h =================================================================== diff -u -r68000d9b13c63cf0f59d4de9f5e9888da5920fa1 -r53ba6201c60349c644bec937cd446992447c4bf7 --- HDDefs.h (.../HDDefs.h) (revision 68000d9b13c63cf0f59d4de9f5e9888da5920fa1) +++ HDDefs.h (.../HDDefs.h) (revision 53ba6201c60349c644bec937cd446992447c4bf7) @@ -1,135 +1,165 @@ /************************************************************************** * +<<<<<<< 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 HDDefs.h +* @file HDDefs.h * +<<<<<<< HEAD * @author (last) Sean Nash * @date (last) 21-Apr-2021 +======= +* @author (last) Dara Navaei +* @date (last) 24-May-2022 +>>>>>>> staging * -* @author (original) Sean Nash -* @date (original) 29-May-2020 +* @author (original) Sean Nash +* @date (original) 29-May-2020 * ***************************************************************************/ - -#ifndef __HD_DEFS_H__ -#define __HD_DEFS_H__ - -// ********** public definitions ********** - -/** - * @addtogroup HDOperationModes - * @{ - */ - -/// Enumeration of operation modes. These are in order of priority (highest to lowest). -enum HD_Op_Modes -{ - MODE_FAUL = 0, ///< Fault mode - MODE_SERV, ///< Service mode - MODE_INIT, ///< Initialization & POST mode - MODE_STAN, ///< Standby mode - MODE_TPAR, ///< Treatment Parameters mode - MODE_PRET, ///< Pre-Treatment mode - MODE_TREA, ///< Treatment mode - MODE_POST, ///< Post-Treatment mode - MODE_NLEG, ///< Not legal - an illegal mode transition occurred - NUM_OF_MODES ///< Number of HD operation modes -}; -typedef enum HD_Op_Modes HD_OP_MODE_T; ///< Type for HD operation modes enumeration - -/**@}*/ - -/** - * @addtogroup HDInitAndPOSTMode - * @{ - */ - -/// Enumeration of init & POST mode states. -enum HD_POST_States -{ - POST_STATE_START = 0, ///< Start initialize & POST mode state - POST_STATE_WATCHDOG, ///< Run watchdog test mode state - POST_STATE_FPGA, ///< Run FPGA test mode state - POST_STATE_RTC, ///< Run RTC test mode state - POST_STATE_NVDATAMGMT, ///< Run NV Data Mgmt. test mode state - POST_STATE_BLOOD_FLOW, ///< Run Blood Flow test mode state - POST_STATE_DIALYSATE_FLOW, ///< Run Dialysate Flow test mode state - POST_STATE_VALVES, ///< Run Valves test mode state - POST_STATE_ALARM_LAMP, ///< Run alarm lamp test mode state - POST_STATE_ACCELEROMETER, ///< Run Accelerometer test mode state - POST_STATE_STUCK_BUTTON, ///< Run stuck button test mode state - POST_STATE_COMPLETED, ///< POST self-tests completed mode state - POST_STATE_FAILED, ///< POST self-tests failed mode state - NUM_OF_POST_STATES ///< Number of initialize & POST mode states -}; -typedef enum HD_POST_States HD_POST_STATE_T; ///< Type for HD POST states enumeration - -/**@}*/ - -/** - * @addtogroup HDFaultMode - * @{ - */ - -/// Enumeration of fault mode states. -enum HD_Fault_States -{ - HD_FAULT_STATE_START = 0, ///< Start fault state - NUM_OF_HD_FAULT_STATES ///< Number of fault mode states -}; -typedef enum HD_Fault_States HD_FAULT_STATE_T; ///< Type for HD fault states enumeration - -/**@}*/ - -/** - * @addtogroup HDStandbyMode - * @{ - */ - -/// Sub-mode states while in standby mode -enum HD_Standby_States -{ - STANDBY_START_STATE = 0, ///< Start standby - STANDBY_WAIT_FOR_TREATMENT_STATE, ///< Wait for treatment - STANDBY_WAIT_FOR_DISINFECT_STATE, ///< Wait for UI to send disinfection option - STANDBY_DG_FLUSH_IN_PROGRESS_STATE, ///< DG flush operation is in progress - STANDBY_DG_HEAT_DISINFECT_IN_PROGRESS_STATE, ///< DG heat disinfection operation is in progress - STANDBY_DG_CHEM_DISINFECT_IN_PROGRESS_STATE, ///< DG chemical disinfection operation is in progress - NUM_OF_STANDBY_STATES ///< Number of standby states (sub-modes) -}; -typedef enum HD_Standby_States HD_STANDBY_STATE_T; ///< Type for HD standby states enumeration - -/**@}*/ - -/** - * @addtogroup HDTreatmentParamsMode - * @{ - */ - -/// Enumeration of treatment parameters mode states. -enum HD_Treatment_Parameters_Mode_States -{ + +#ifndef __HD_DEFS_H__ +#define __HD_DEFS_H__ + +// ********** public definitions ********** + +/** + * @addtogroup HDOperationModes + * @{ + */ + +/// Enumeration of operation modes. These are in order of priority (highest to lowest). +enum HD_Op_Modes +{ + MODE_FAUL = 0, ///< Fault mode + MODE_SERV, ///< Service mode + MODE_INIT, ///< Initialization & POST mode + MODE_STAN, ///< Standby mode + MODE_TPAR, ///< Treatment Parameters mode + MODE_PRET, ///< Pre-Treatment mode + MODE_TREA, ///< Treatment mode + MODE_POST, ///< Post-Treatment mode + MODE_NLEG, ///< Not legal - an illegal mode transition occurred + NUM_OF_MODES ///< Number of HD operation modes +}; +typedef enum HD_Op_Modes HD_OP_MODE_T; ///< Type for HD operation modes enumeration + +/**@}*/ + +/** + * @addtogroup HDInitAndPOSTMode + * @{ + */ + +/// Enumeration of init & POST mode states. +enum HD_POST_States +{ + POST_STATE_START = 0, ///< Start initialize & POST mode state + POST_STATE_FW_INTEGRITY, ///< Run firmware integrity test state + POST_STATE_AC, ///< Check HD has AC power - power off if not + POST_STATE_WATCHDOG, ///< Run watchdog test state + POST_STATE_SAFETY_SHUTDOWN, ///< Run safety shutdown test state + POST_STATE_RTC, ///< Run RTC test state + POST_STATE_NVDATAMGMT, ///< Run NV Data Mgmt. test state + POST_STATE_BLOOD_FLOW, ///< Run blood flow test state + POST_STATE_DIALYSATE_INLET_FLOW, ///< Run dialysate inlet flow test state + POST_STATE_DIALYSATE_OUTLET_FLOW, ///< Run dialysate outlet flow test state + POST_STATE_BLOOD_LEAK, ///< Run blood leak sensor test state + POST_STATE_VALVES, ///< Run valves test state + POST_STATE_SYRINGE_PUMP, ///< Run syringe pump test state + POST_STATE_PRES_OCCL, ///< Run pressure occlusion state + POST_STATE_ALARM_AUDIO, ///< Run alarm audio test state + POST_STATE_ALARM_LAMP, ///< Run alarm lamp test state + POST_STATE_ACCELEROMETER, ///< Run Accelerometer test state + POST_STATE_TEMPERATURES, ///< Run temperatures POST state + POST_STATE_FANS, ///< Run fans POST state + POST_STATE_STUCK_BUTTON, ///< Run stuck button test state + POST_STATE_UI_POST, ///< Check whether UI passed its POST tests + POST_STATE_FW_COMPATIBILITY, ///< Run firmware compatibility test state + POST_STATE_FPGA, ///< Run FPGA test state + POST_STATE_COMPLETED, ///< POST self-tests completed state + POST_STATE_FAILED, ///< POST self-tests failed state + NUM_OF_POST_STATES ///< Number of initialize & POST mode states +}; +typedef enum HD_POST_States HD_POST_STATE_T; ///< Type for HD POST states enumeration + +/**@}*/ + +/** + * @addtogroup HDFaultMode + * @{ + */ + +/// Enumeration of fault mode states. +enum HD_Fault_States +{ + HD_FAULT_STATE_START = 0, ///< Start fault state + NUM_OF_HD_FAULT_STATES ///< Number of fault mode states +}; +typedef enum HD_Fault_States HD_FAULT_STATE_T; ///< Type for HD fault states enumeration + +/**@}*/ + +/** + * @addtogroup HDStandbyMode + * @{ + */ + +/// Sub-mode states while in standby mode +enum HD_Standby_States +{ + STANDBY_START_STATE = 0, ///< Start standby. + STANDBY_WAIT_FOR_TREATMENT_STATE, ///< Wait for treatment. + STANDBY_WAIT_FOR_DISINFECT_STATE, ///< Wait for UI to send disinfect option. + + STANDBY_WAIT_FOR_DG_FLUSH_CMD_RESPONSE_STATE, ///< Wait for DG flush command response. + STANDBY_WAIT_FOR_DG_FLUSH_TO_START_STATE, ///< Wait for DG flush to start. + STANDBY_DG_FLUSH_IN_PROGRESS_STATE, ///< DG flush operation is in progress + + STANDBY_WAIT_FOR_DG_HEAT_DISINFECT_CMD_RESPONSE_STATE, ///< Wait for DG heat disinfect command response. + STANDBY_WAIT_FOR_DG_HEAT_DISINFECT_TO_START_STATE, ///< Wait for DG heat disinfect to start. + STANDBY_DG_HEAT_DISINFECT_IN_PROGRESS_STATE, ///< DG heat disinfect operation is in progress. + + STANDBY_WAIT_FOR_DG_CHEM_DISINFECT_CMD_RESPONSE_STATE, ///< Wait for DG chemical disinfect command response. + STANDBY_WAIT_FOR_DG_CHEM_DISINFECT_TO_START_STATE, ///< Wait for DG chemical disinfect to start. + STANDBY_DG_CHEM_DISINFECT_IN_PROGRESS_STATE, ///< DG chemical disinfect operation is in progress + NUM_OF_STANDBY_STATES ///< Number of standby states (sub-modes) +}; +typedef enum HD_Standby_States HD_STANDBY_STATE_T; ///< Type for HD standby states enumeration + +/**@}*/ + +/** + * @addtogroup HDTreatmentParamsMode + * @{ + */ + +/// Enumeration of treatment parameters mode states. +enum HD_Treatment_Parameters_Mode_States +{ HD_TREATMENT_PARAMS_MODE_STATE_START = 0, ///< Start treatment params mode state HD_TREATMENT_PARAMS_MODE_STATE_WAIT_4_UI_2_SEND, ///< Wait for UI to send treatment params mode state HD_TREATMENT_PARAMS_MODE_STATE_WAIT_4_UI_2_CONFIRM, ///< Wait for UI to confirm treatment params mode state - NUM_OF_HD_TREATMENT_PARAMS_MODE_STATES ///< Number of treatment params mode states -}; -typedef enum HD_Treatment_Parameters_Mode_States HD_TREATMENT_PARAMS_MODE_STATE_T; ///< Type for HD treatment parameters mode states enumeration - -/**@}*/ - -/** - * @addtogroup HDPreTreatmentMode - * @{ - */ - -/// Enumeration of pre-treatment mode states (sub-mode). -enum HD_Pre_Treatment_Mode_States -{ + NUM_OF_HD_TREATMENT_PARAMS_MODE_STATES ///< Number of treatment params mode states +}; +typedef enum HD_Treatment_Parameters_Mode_States HD_TREATMENT_PARAMS_MODE_STATE_T; ///< Type for HD treatment parameters mode states enumeration + +/**@}*/ + +/** + * @addtogroup HDPreTreatmentMode + * @{ + */ + +/// Enumeration of pre-treatment mode states (sub-mode). +enum HD_Pre_Treatment_Mode_States +{ HD_PRE_TREATMENT_START_STATE = 0, ///< Start pre-treatment mode state HD_PRE_TREATMENT_WATER_SAMPLE_STATE, ///< Water sample state HD_PRE_TREATMENT_SELF_TEST_CONSUMABLE_STATE, ///< Consumable self-tests state @@ -139,8 +169,8 @@ HD_PRE_TREATMENT_PRIME_STATE, ///< Prime blood and dialysate circuits and run wet self-tests state HD_PRE_TREATMENT_RECIRCULATE_STATE, ///< Re-circulate blood and dialysate circuits state HD_PRE_TREATMENT_PATIENT_CONNECTION_STATE, ///< Patient connection state - NUM_OF_HD_PRE_TREATMENT_STATES ///< Number of pre-treatment mode states -}; + NUM_OF_HD_PRE_TREATMENT_STATES ///< Number of pre-treatment mode states +}; typedef enum HD_Pre_Treatment_Mode_States HD_PRE_TREATMENT_MODE_STATE_T; ///< Type for HD pre-treatment mode states enumeration /**@}*/ @@ -204,11 +234,7 @@ { NO_CART_SELF_TESTS_START_STATE = 0, ///< No cartridge self-tests starting state NO_CART_SELF_TESTS_WAIT_FOR_DOOR_CLOSE_STATE, ///< Wait for door to be closed before running self-tests - NO_CART_SELF_TESTS_OCCLUSION_SENSORS_STATE, ///< No cartridge occlusion sensors self-test state - NO_CART_SELF_TESTS_BLOOD_FLOW_METERS_STATE, ///< No cartridge blood flow meter self-test state - NO_CART_SELF_TESTS_DIALYSATE_FLOW_METERS_STATE, ///< No cartridge dialysate flow meter self-test state - NO_CART_SELF_TESTS_LEAK_DETECTORS_STATE, ///< No cartridge leak detectors self-test state - NO_CART_SELF_TESTS_BOARD_TEMPERATURE_STATE, ///< No cartridge board temperature self-test state + NO_CART_SELF_TESTS_PRESSURE_CHECKS_STATE, ///< No cartridge pressure sensors self-test state NO_CART_SELF_TESTS_HOME_VALVES_STATE, ///< No cartridge home valves state NO_CART_SELF_TESTS_HOME_SYRINGE_PUMP_STATE, ///< No cartridge home syringe pump state NO_CART_SELF_TESTS_PUMPS_STATE, ///< No cartridge self-test for blood pump, dialysate in pump, dialysate out pump state @@ -231,15 +257,37 @@ DRY_SELF_TESTS_PRESSURE_SENSORS_STATE, ///< Pressure sensors verify pressure readings state DRY_SELF_TESTS_PRESSURE_SENSORS_NORMAL_STATE, ///< Pressure sensors verify normal pressure readings state DRY_SELF_TESTS_SYRINGE_PUMP_PRIME_STATE, ///< Prime syringe pump state + DRY_SELF_TESTS_SYRINGE_PUMP_OCCLUSION_DETECTION_STATE, ///< Occlusion detection state DRY_SELF_TESTS_STOPPED_STATE, ///< Dry self-test stopped state DRY_SELF_TESTS_COMPLETE_STATE, ///< Dry self-test complete state NUM_OF_DRY_SELF_TESTS_STATES ///< Number of dry self-tests states }; /// Type for dry self-tests enumeration. typedef enum HD_Pre_Treatment_Dry_Self_Tests_States DRY_SELF_TESTS_STATE_T; - -/**@}*/ +/// Wet self-tests state machine. +enum Wet_Self_Tests_States +{ + WET_SELF_TESTS_START_STATE = 0, ///< Wet self-tests starting state. + WET_SELF_TESTS_SETUP_STATE, ///< Setup reservoirs for wet self-tests. + WET_SELF_TESTS_BUBBLES_STATE, ///< Wet self-test air bubble detectors state. + WET_SELF_TESTS_PRIME_CHECK_STATE, ///< Prime check wet self-tests state, checks for primed patient lines. + WET_SELF_TESTS_BLOOD_LEAK_DETECTOR_STATE, ///< Blood leak detector self-test state. + WET_SELF_TESTS_FIRST_DISPLACEMENT_SETUP_STATE, ///< Setup valve and start dialysate pump for first displacement. + WET_SELF_TESTS_FIRST_DISPLACEMENT_STATE, ///< Fill reservoir 2 with 100 mL of dialysate from reservoir 1 state. + WET_SELF_TESTS_FIRST_DISPLACEMENT_VERIFY_STATE, ///< After first displacement completed verify state. + WET_SELF_TESTS_SECOND_DISPLACEMENT_SETUP_STATE, ///< Setup valve and start dialysate pump for second displacement. + WET_SELF_TESTS_SECOND_DISPLACEMENT_STATE, ///< Fill reservoir 1 with 300 mL of dialysate from reservoir 2 state. + WET_SELF_TESTS_SECOND_DISPLACEMENT_VERIFY_STATE, ///< After first displacement completed verify state. + WET_SELF_TESTS_STOPPED_STATE, ///< Wet self-test stopped state. + WET_SELF_TESTS_COMPLETE_STATE, ///< Wet self-test complete state. + NUM_OF_WET_SELF_TESTS_STATES ///< Number of wet self-tests states. +}; +/// Type for wet self-tests enumeration. +typedef enum Wet_Self_Tests_States WET_SELF_TESTS_STATE_T; + +/**@}*/ + /** * @addtogroup Prime * @{ @@ -255,6 +303,8 @@ HD_PRIME_SALINE_CIRC_BLOOD_CIRCUIT_STATE, ///< Circulate blood circuit state HD_PRIME_RESERVOIR_ONE_FILL_COMPLETE_STATE, ///< Wait for reservoir 1 fill complete HD_PRIME_DIALYSATE_DIALYZER_STATE, ///< Dialysate dialyzer fluid path state + HD_PRIME_SALINE_DIALYZER_SETUP_STATE, ///< Saline dialyzer setup state + HD_PRIME_SALINE_DIALYZER_STATE, ///< Saline dialyzer fluid path state HD_PRIME_RESERVOIR_TWO_FILL_COMPLETE_STATE, ///< Wait for reservoir 2 fill complete HD_PRIME_DIALYSATE_BYPASS_STATE, ///< Dialysate bypass fluid path state HD_PRIME_WET_SELF_TESTS_STATE, ///< Perform wet self-tests after priming complete @@ -282,83 +332,84 @@ typedef enum HD_Pre_Treatment_Recirc_States HD_PRE_TREATMENT_RECIRC_STATE_T; /**@}*/ - -/** - * @addtogroup HDTreatmentMode - * @{ - */ - -/// Sub-mode states while in treatment mode -enum Treatment_States -{ + +/** + * @addtogroup HDTreatmentMode + * @{ + */ + +/// Sub-mode states while in treatment mode +enum Treatment_States +{ TREATMENT_START_STATE = 0, ///< Start treatment - initialize treatment and go to blood prime state - TREATMENT_BLOOD_PRIME_STATE, ///< Prime blood-side of dialyzer with gradual ramp for 1 min. while dialyzer is bypassed. No dialysis or UF taking place. No treatment time. - TREATMENT_DIALYSIS_STATE, ///< Perform dialysis. Deliver Heparin as prescribed. Deliver UF as prescribed. Handle saline boluses as requested - TREATMENT_STOP_STATE, ///< Treatment stopped. All pumps off. Dializer bypassed - TREATMENT_RINSEBACK_STATE, ///< Perform rinseback with saline. Dialyzer bypassed. Dialysate recirculating - TREATMENT_RECIRC_STATE, ///< Recirculate saline and dialysate while patient disconnected. Blood lines open and shunted. Dialyzer is bypassed - TREATMENT_END_STATE, ///< Dialysis has ended. Blood pump slowed. Dialyzer is bypassed. Dialysate is recirculated. User can rinseback - NUM_OF_TREATMENT_STATES ///< Number of treatment states (sub-modes) -}; -typedef enum Treatment_States TREATMENT_STATE_T; ///< Type for treatment states enumeration - -/**@}*/ - -/** - * @addtogroup HDPostTreatmentMode - * @{ - */ - -/// Enumeration of post-treatment mode states. -enum HD_Post_Treatment_Mode_States + TREATMENT_BLOOD_PRIME_STATE, ///< Prime blood-side of dialyzer with gradual ramp for 1 min. while dialyzer is bypassed. No dialysis or UF taking place. No treatment time. + TREATMENT_DIALYSIS_STATE, ///< Perform dialysis. Deliver Heparin as prescribed. Deliver UF as prescribed. Handle saline boluses as requested + TREATMENT_STOP_STATE, ///< Treatment stopped. All pumps off. Dializer bypassed + TREATMENT_RINSEBACK_STATE, ///< Perform rinseback with saline. Dialyzer bypassed. Dialysate recirculating + TREATMENT_RECIRC_STATE, ///< Recirculate saline and dialysate while patient disconnected. Blood lines open and shunted. Dialyzer is bypassed + TREATMENT_END_STATE, ///< Dialysis has ended. Blood pump slowed. Dialyzer is bypassed. Dialysate is recirculated. User can rinseback + NUM_OF_TREATMENT_STATES ///< Number of treatment states (sub-modes) +}; +typedef enum Treatment_States TREATMENT_STATE_T; ///< Type for treatment states enumeration + +/**@}*/ + +/** + * @addtogroup HDPostTreatmentMode + * @{ + */ + +/// Enumeration of post-treatment mode states. +enum HD_Post_Treatment_Mode_States { - HD_POST_TREATMENT_PATIENT_DISCONNECTION_STATE = 0, ///< Patient disconnection state - HD_POST_TREATMENT_DRAIN_RESERVOIRS_STATE, ///< Drain reservoirs state - HD_POST_TREATMENT_VERIFY_STATE, ///< Verify cartridge removed, syringe removed, and reservoirs drained state - NUM_OF_HD_POST_TREATMENT_STATES ///< Number of post-treatment mode states -}; -typedef enum HD_Post_Treatment_Mode_States HD_POST_TREATMENT_STATE_T; ///< Type for HD post treatment mode states enumeration - -/**@}*/ - -/** - * @addtogroup HDServiceMode - * @{ - */ - -/// Enumeration of service mode states. -enum HD_Service_States -{ - HD_SERVICE_STATE_START = 0, ///< Start service mode state - NUM_OF_HD_SERVICE_STATES ///< Number of service mode states -}; -typedef enum HD_Service_States HD_SERVICE_STATE_T; ///< Type for HD services states enumeration - -/**@}*/ - -/** - * @addtogroup Dialysis - * @{ - */ - -/// Enumeration of dialysis sub-mode states. -enum Dialysis_States -{ - DIALYSIS_START_STATE = 0, ///< Start state of the dialysis sub-mode state machine - DIALYSIS_UF_STATE, ///< Ultrafiltration state of the dialysis sub-mode state machine - DIALYSIS_SALINE_BOLUS_STATE, ///< Saline bolus state of the dialysis sub-mode state machine - NUM_OF_DIALYSIS_STATES ///< Number of dialysis sub-mode states -}; -typedef enum Dialysis_States DIALYSIS_STATE_T; ///< Type for dialysis states enumeration - -/// Enumeration of ultrafiltration states. -enum UF_States -{ - UF_START_STATE = 0, ///< Start state of the ultrafiltration state machine - UF_PAUSED_STATE, ///< Paused state of the ultrafiltration state machine - UF_RUNNING_STATE, ///< Running state of the ultrafiltration state machine - NUM_OF_UF_STATES ///< Number of ultrafiltration states -}; + HD_POST_TREATMENT_DRAIN_RESERVOIRS_STATE = 0, ///< Drain reservoirs state + HD_POST_TREATMENT_PATIENT_DISCONNECTION_STATE, ///< Patient disconnection state + HD_POST_TREATMENT_DISPOSABLE_REMOVAL_STATE, ///< Disposable removal state + HD_POST_TREATMENT_VERIFY_STATE, ///< Verify cartridge removed, syringe removed, and reservoirs drained state + NUM_OF_HD_POST_TREATMENT_STATES ///< Number of post-treatment mode states +}; +typedef enum HD_Post_Treatment_Mode_States HD_POST_TREATMENT_STATE_T; ///< Type for HD post treatment mode states enumeration + +/**@}*/ + +/** + * @addtogroup HDServiceMode + * @{ + */ + +/// Enumeration of service mode states. +enum HD_Service_States +{ + HD_SERVICE_STATE_START = 0, ///< Start service mode state + NUM_OF_HD_SERVICE_STATES ///< Number of service mode states +}; +typedef enum HD_Service_States HD_SERVICE_STATE_T; ///< Type for HD services states enumeration + +/**@}*/ + +/** + * @addtogroup Dialysis + * @{ + */ + +/// Enumeration of dialysis sub-mode states. +enum Dialysis_States +{ + DIALYSIS_START_STATE = 0, ///< Start state of the dialysis sub-mode state machine + DIALYSIS_UF_STATE, ///< Ultrafiltration state of the dialysis sub-mode state machine + DIALYSIS_SALINE_BOLUS_STATE, ///< Saline bolus state of the dialysis sub-mode state machine + NUM_OF_DIALYSIS_STATES ///< Number of dialysis sub-mode states +}; +typedef enum Dialysis_States DIALYSIS_STATE_T; ///< Type for dialysis states enumeration + +/// Enumeration of ultrafiltration states. +enum UF_States +{ + UF_START_STATE = 0, ///< Start state of the ultrafiltration state machine + UF_PAUSED_STATE, ///< Paused state of the ultrafiltration state machine + UF_RUNNING_STATE, ///< Running state of the ultrafiltration state machine + NUM_OF_UF_STATES ///< Number of ultrafiltration states +}; typedef enum UF_States UF_STATE_T; ///< Type for ultrafiltration states enumeration /// Enumeration of saline bolus states. @@ -370,8 +421,8 @@ SALINE_BOLUS_STATE_MAX_DELIVERED, ///< Maximum saline bolus volume reached - no more saline bolus deliveries allowed NUM_OF_SALINE_BOLUS_STATES ///< Number of saline bolus states }; -typedef enum Saline_Bolus_States SALINE_BOLUS_STATE_T; ///< Type for saline bolus state enumeration - +typedef enum Saline_Bolus_States SALINE_BOLUS_STATE_T; ///< Type for saline bolus state enumeration + /// Enumeration of saline bolus command parameters. enum Saline_Commands { @@ -381,24 +432,24 @@ }; typedef enum Saline_Commands SALINE_CMD_T; ///< Type for saline command enum. -/// Enumeration of ultrafiltration command IDs. -enum UF_Commands -{ - UF_CMD_PAUSE = 0, ///< Pause UF command - UF_CMD_RESUME, ///< Resume UF command - NUM_OF_UF_CMDS ///< Number of UF commands -}; -typedef enum UF_Commands UF_CMD_T; ///< Type for UF command IDs enumeration - -/// Enumeration of ultrafiltration adjustment option IDs. -enum UF_Adjustments -{ - UF_ADJ_TREATMENT_TIME = 0, ///< Adjust treatment time to achieve new ultrafiltration volume - UF_ADJ_UF_RATE, ///< Adjust UF rate to achieve new ultrafiltration volume - NUM_OF_UF_ADJS ///< Number of UF adjustments -}; -typedef enum UF_Adjustments UF_ADJ_T; ///< Type for UF adjustments IDs enumeration - +/// Enumeration of ultrafiltration command IDs. +enum UF_Commands +{ + UF_CMD_PAUSE = 0, ///< Pause UF command + UF_CMD_RESUME, ///< Resume UF command + NUM_OF_UF_CMDS ///< Number of UF commands +}; +typedef enum UF_Commands UF_CMD_T; ///< Type for UF command IDs enumeration + +/// Enumeration of ultrafiltration adjustment option IDs. +enum UF_Adjustments +{ + UF_ADJ_TREATMENT_TIME = 0, ///< Adjust treatment time to achieve new ultrafiltration volume + UF_ADJ_UF_RATE, ///< Adjust UF rate to achieve new ultrafiltration volume + NUM_OF_UF_ADJS ///< Number of UF adjustments +}; +typedef enum UF_Adjustments UF_ADJ_T; ///< Type for UF adjustments IDs enumeration + /**@}*/ /** @@ -439,8 +490,10 @@ /// Enumeration of treatment stop sub-mode states. enum Treatment_Stop_States { - TREATMENT_STOP_RECIRC_STATE = 0, ///< Dialysate re-circulation state of the treatment stop sub-mode state machine - TREATMENT_STOP_NO_RECIRC_STATE, ///< No dialysate re-circulation state of the treatment stop sub-mode state machine + TREATMENT_STOP_RECIRC_STATE = 0, ///< Dialysate and Blood re-circulation state of the treatment stop sub-mode state machine + TREATMENT_STOP_RECIRC_DIALYSATE_ONLY_STATE, ///< Re-circulate Dialysate only state of the treatment re-circulate sub-mode state machine + TREATMENT_STOP_RECIRC_BLOOD_ONLY_STATE, ///< Re-circulate Blood only state of the treatment re-circulate sub-mode state machine + TREATMENT_STOP_NO_RECIRC_STATE, ///< No re-circulation state of the treatment stop sub-mode state machine NUM_OF_TREATMENT_STOP_STATES ///< Number of treatment stop sub-mode states }; /// Type for treatment stop states enumeration. @@ -509,7 +562,7 @@ /// Enumeration of treatment re-circulation sub-mode states. enum Treatment_Recirc_States { - TREATMENT_RECIRC_RECIRC_STATE = 0, ///< Re-circulate state of the treatment re-circulate sub-mode state machine + TREATMENT_RECIRC_RECIRC_STATE = 0, ///< Re-circulate Dialysate state of the treatment re-circulate sub-mode state machine TREATMENT_RECIRC_STOPPED_STATE, ///< Stopped state of the treatment re-circulate sub-mode state machine NUM_OF_TREATMENT_RECIRC_STATES ///< Number of treatment re-circulate sub-mode states }; @@ -573,6 +626,7 @@ TREATMENT_PARAM_ACID_CONCENTRATE, ///< Acid concentrate type (enum) TREATMENT_PARAM_BICARB_CONCENTRATE, ///< Bicarbonate concentrate type (enum) TREATMENT_PARAM_DIALYZER_TYPE, ///< Dialysate type (enum) + TREATMENT_PARAM_HEPARIN_TYPE, ///< Heparin type (enum) TREATMENT_PARAM_BP_MEAS_INTERVAL, ///< Blood pressure measurement interval (in minutes) TREATMENT_PARAM_RINSEBACK_FLOW_RATE, ///< Rinseback flow rate (in mL/min) TREATMENT_PARAM_LAST_UINT = TREATMENT_PARAM_RINSEBACK_FLOW_RATE, ///< Last unsigned integer treatment parameter @@ -621,6 +675,71 @@ }; typedef enum Bicarb_Concentrates BICARB_CONCENTRATE_TYPE_T; ///< Type for bicarbonate concentrates enumeration -/**@}*/ - -#endif +/**@}*/ + +/// Enumeration of HD pumps. +enum HD_Pumps +{ + HD_PUMP_BLOOD_PUMP = 0, ///< HD Blood pump + HD_PUMP_DIALYSATE_INLET_PUMP, ///< HD Dialysate inlet pump + HD_PUMP_DIALYSATE_OUTLET_PUMP, ///< HD Dialysate outlet pump + HD_PUMP_SYRINGE, ///< HD Syringe pump + NUM_OF_HD_PUMPS ///< Number of HD pumps +}; +typedef enum HD_Pumps HD_PUMP_T; ///< Type for HD pump enumeration + +/** + * @addtogroup HDTreatmentLog + * @{ + */ + +/// Enumeration of treatment event IDs. +enum Tx_Event_List +{ + BLOOD_FLOW_RATE_CHANGE_EVENT = 0, ///< Blood flow rate change event + DIALYSATE_FLOW_RATE_CHANGE_EVENT, ///< Dialysate flow rate change event + TREATMENT_DURATION_CHANGE_EVENT, ///< Treatment duration change event + UF_VOLUME_CHANGE_EVENT, ///< Ultrafiltration volume change event + UF_RATE_CHANGE_EVENT, ///< Ultrafiltration rate change event + UF_START_RESUME_EVENT, ///< Ultrafiltration start or resume event + UF_PAUSE_EVENT, ///< Ultrafiltration pause event + ARTERIAL_PRESSURE_LOWER_LIMIT_CHANGE_EVENT, ///< Arterial pressure lower limit change event + ARTERIAL_PRESSURE_UPPER_LIMIT_CHANGE_EVENT, ///< Arterial pressure upper limit change event + VENOUS_PRESSURE_LOWER_LIMIT_CHANGE_EVENT, ///< Venous pressure lower limit change event + VENOUS_PRESSURE_UPPER_LIMIT_CHANGE_EVENT, ///< Venous pressure upper limit change event + HEPARIN_BOLUS_START_EVENT, ///< Heparin bolus start event + HEPARIN_BOLUS_END_EVENT, ///< Heparin bolus end event + HEPARIN_START_RESUME_EVENT, ///< Heparin start or resume event + HEPARIN_STOP_PAUSE_EVENT, ///< Heparin stop or pause event + SALINE_BOLUSES_CHANGE_EVENT, ///< Saline boluses change event + MID_TREATMENT_RINSE_BACK_EVENT, ///< Mid treatment rinse-back event + ALARM_AUDIO_VOLUME_CHANGED_EVENT, ///< Alarm audio volume changed event + FRONT_DOOR_SWITCH_CHANGED_EVENT, ///< Front door switch changed event + PUMP_TRACK_SWITCH_CHANGED_EVENT, ///< Pump track switch changed event + SYRINGE_DETECTION_SWITCH_CHANGED_EVENT, ///< Syringe detection switch changed event + OFF_BUTTON_PRESSED_EVENT, ///< Off button pressed event + STOP_BUTTON_PRESSED_EVENT, ///< Stop button pressed event + NUM_OF_TX_EVENT_IDS ///< Total number of treatment events +}; +typedef enum Tx_Event_List TX_EVENT_ID_T; ///< Type for treatment event list enumeration + +/**@}*/ + +/** + * @addtogroup CommonHeader + * @{ + */ + +/// Enumeration of HD event IDs. +enum HD_Event_List +{ + HD_EVENT_STARTUP = 0, ///< HD startup event + HD_EVENT_OP_MODE_CHANGE, ///< HD Op mode change event + HD_EVENT_SUB_MODE_CHANGE, ///< HD Op sub-mode change event + NUM_OF_EVENT_IDS ///< Total number of HD events +}; +typedef enum HD_Event_List HD_EVENT_ID_T; ///< Type for HD event list enumeration + +/**@}*/ + +#endif Index: MsgDefs.h =================================================================== diff -u -r68000d9b13c63cf0f59d4de9f5e9888da5920fa1 -r53ba6201c60349c644bec937cd446992447c4bf7 --- MsgDefs.h (.../MsgDefs.h) (revision 68000d9b13c63cf0f59d4de9f5e9888da5920fa1) +++ MsgDefs.h (.../MsgDefs.h) (revision 53ba6201c60349c644bec937cd446992447c4bf7) @@ -1,44 +1,53 @@ /************************************************************************** * +<<<<<<< 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 MsgDefs.h +* @file MsgDefs.h * +<<<<<<< HEAD * @author (last) Dara Navaei * @date (last) 30-Apr-2021 +======= +* @author (last) Dara Navaei +* @date (last) 23-May-2022 +>>>>>>> staging * -* @author (original) Sean -* @date (original) 27-Feb-2020 +* @author (original) Sean +* @date (original) 27-Feb-2020 * ***************************************************************************/ - -#ifndef __MESSAGE_DEFINITIONS_H__ -#define __MESSAGE_DEFINITIONS_H__ - + +#ifndef __MESSAGE_DEFINITIONS_H__ +#define __MESSAGE_DEFINITIONS_H__ + // ********** public definitions ********** /** * @addtogroup SystemCommMessages * @{ - */ - + */ + /// Enumeration of system message IDs -enum Msg_IDs -{ // normal CAN messages - MSG_ID_UNUSED = 0, ///< Zero is an undefined (un-used) message ID) - MSG_ID_OFF_BUTTON_PRESS = 1, ///< HD/UI off button interactions - MSG_ID_ALARM_STATUS = 2, ///< HD broadcast of system alarm state information - MSG_ID_ALARM_TRIGGERED = 3, ///< Alarm triggered event - MSG_ID_ALARM_CLEARED = 4, ///< Alarm cleared event - MSG_ID_BLOOD_FLOW_DATA = 5, ///< HD broadcast of blood flow/pump data - MSG_ID_DG_CHECK_IN = 6, ///< DG check-in with HD - MSG_ID_UI_CHECK_IN = 7, ///< UI check-in with HD - MSG_ID_DIALYSATE_FLOW_DATA = 8, ///< HD broadcast of dialysate inlet flow/pump data - MSG_ID_PRESSURE_OCCLUSION_DATA = 9, ///< HD broadcast of pressure/occlusion data +enum Msg_IDs +{ // normal CAN messages + MSG_ID_UNUSED = 0x0, ///< Zero is an undefined (un-used) message ID) + MSG_ID_OFF_BUTTON_PRESS = 0x1, ///< HD/UI off button interactions + MSG_ID_ALARM_STATUS = 0x2, ///< HD broadcast of system alarm state information + MSG_ID_ALARM_TRIGGERED = 0x3, ///< Alarm triggered event + MSG_ID_ALARM_CLEARED = 0x4, ///< Alarm cleared event + MSG_ID_BLOOD_FLOW_DATA = 0x5, ///< HD broadcast of blood flow/pump data + MSG_ID_DG_CHECK_IN = 0x6, ///< DG check-in with HD + MSG_ID_UI_CHECK_IN = 0x7, ///< UI check-in with HD + MSG_ID_DIALYSATE_FLOW_DATA = 0x8, ///< HD broadcast of dialysate inlet flow/pump data + MSG_ID_PRESSURE_OCCLUSION_DATA = 0x9, ///< HD broadcast of pressure/occlusion data MSG_ID_RTC_EPOCH = 0xA, ///< HD broadcast of current date and time from clock MSG_ID_DIALYSATE_OUT_FLOW_DATA = 0xB, ///< HD broadcast of dialysate outlet flow/pump/load cell data MSG_ID_LOAD_CELL_READINGS = 0xC, ///< DG broadcast of load cell weights @@ -55,7 +64,7 @@ MSG_ID_USER_BLOOD_DIAL_RATE_CHANGE_REQUEST = 0x17, ///< User request to change blood and dialysate rates MSG_ID_USER_BLOOD_DIAL_RATE_CHANGE_RESPONSE = 0x18, ///< HD response to user request to change blood and dialysate rates MSG_ID_SET_DG_DIALYSATE_TEMP_TARGETS = 0x19, ///< HD provides DG with dialysate temperature set points - MSG_ID_TREATMENT_PARAM_CHANGE_RANGES = 0x1A, ///< HD provides several parameter change ranges as they evolve over treatment duration + MSG_ID_TREATMENT_PARAM_CHANGE_RANGES = 0x1A, ///< HD provides several parameter change ranges as they evolve over treatment duration MSG_ID_USER_TREATMENT_TIME_CHANGE_RESPONSE = 0x1B, ///< HD response to user request to change treatment duration MSG_ID_REQUEST_FW_VERSIONS = 0x1C, ///< UI request for f/w versions MSG_ID_HD_VERSION = 0x1D, ///< HD f/w version @@ -69,20 +78,20 @@ MSG_ID_HD_OP_MODE = 0x25, ///< HD broadcast current operating mode MSG_ID_STARTING_STOPPING_TREATMENT_CMD = 0x26, ///< HD request to DG to move in/out of standby mode due to treatment start/stop MSG_ID_DG_OP_MODE = 0x27, ///< DG broadcast current operating mode - MSG_ID_DG_RESERVOIR_DATA = 0x28, ///< DG broadcast reservoir data + MSG_ID_DG_RESERVOIRS_DATA = 0x28, ///< DG broadcast reservoirs data MSG_ID_DG_SAMPLE_WATER_CMD = 0x29, ///< HD request to DG to allow user to get a water sample MSG_ID_DG_VALVES_STATES = 0x2A, ///< DG broadcast valve states MSG_ID_DG_START_STOP_TRIMMER_HEATER_CMD = 0x2B, ///< HD request to DG to start/stop trimmer heater - MSG_ID_DG_HEATERS_DATA = 0x2C, ///< DG broadcast of the heaters data - MSG_ID_DG_TEMPERATURE_DATA = 0x2D, ///< DG broadcast of the temperature sensors data + MSG_ID_DG_HEATERS_DATA = 0x2C, ///< DG broadcast of the heaters data + MSG_ID_DG_TEMPERATURE_DATA = 0x2D, ///< DG broadcast of the temperature sensors data MSG_ID_USER_UF_SETTINGS_CHANGE_CONFIRMATION_RESPONSE = 0x2E, ///< HD response to user selection of ultrafiltration settings change option selection MSG_ID_SALINE_BOLUS_DATA = 0x2F, ///< HD broadcast of saline bolus data MSG_ID_DG_START_STOP_HEAT_DISINFECT = 0x30, ///< HD request to start or stop DG heat disinfection - MSG_ID_DG_CONDUCTIVITY_DATA = 0x31, ///< DG broadcast of the conductivity sensors data - MSG_ID_USER_REQUEST_ALARM_SILENCE = 0x32, ///< UI request alarm silence (or cancel) - MSG_ID_HD_ACCELEROMETER_DATA = 0x33, ///< HD broadcast of accelerometer data - MSG_ID_DG_ACCELEROMETER_DATA = 0x34, ///< DG broadcast of accelerometer data - MSG_ID_UI_NEW_TREATMENT_PARAMS = 0x35, ///< UI request to validate new treatment parameter set + MSG_ID_DG_CONDUCTIVITY_DATA = 0x31, ///< DG broadcast of the conductivity sensors data + MSG_ID_USER_REQUEST_ALARM_SILENCE = 0x32, ///< UI request alarm silence (or cancel) + MSG_ID_HD_ACCELEROMETER_DATA = 0x33, ///< HD broadcast of accelerometer data + MSG_ID_DG_ACCELEROMETER_DATA = 0x34, ///< DG broadcast of accelerometer data + MSG_ID_UI_NEW_TREATMENT_PARAMS = 0x35, ///< UI request to validate new treatment parameter set MSG_ID_HD_NEW_TREATMENT_PARAMS_RESPONSE = 0x36, ///< HD response to new treatment parameters set MSG_ID_DG_HEAT_DISINFECT_DATA = 0x37, ///< DG heat disinfect publish data MSG_ID_UI_INITIATE_TREATMENT_REQUEST = 0x38, ///< UI user request to initiate a treatment @@ -149,22 +158,74 @@ MSG_ID_UI_TREATMENT_LOG_DATA_REQUEST = 0x75, ///< UI request treatment log data message MSG_ID_HD_TREATMENT_LOG_DATA_RESPONSE = 0x76, ///< HD response to UI treatment log data request MSG_ID_HD_POST_TREATMENT_STATE = 0x77, ///< HD broadcast of post-treatment state - MSG_ID___AVAILABLE_16 = 0x78, ///< This msg ID is available for use + MSG_ID_DG_START_STOP_CHEM_DISINFECT = 0x78, ///< DG start/stop chemical disinfection MSG_ID_DG_START_STOP_FLUSH = 0x79, ///< DG start/stop flush mode MSG_ID_DG_FLUSH_DATA = 0x7A, ///< DG flush data publish MSG_ID_HD_VOLTAGES_DATA = 0x7B, ///< HD voltages data publish MSG_ID_HD_ALARM_AUDIO_VOLUME_SET_RESPONSE = 0x7C, ///< HD response to UI set alarm audio volume request MSG_ID_HD_ALARM_INFORMATION = 0x7D, ///< HD alarm information broadcast message + MSG_ID_HD_DISINFECT_STANDBY_DATA = 0x7E, ///< HD broadcast of standby disinfect data + MSG_ID_UI_DISINFECT_REQUEST = 0x7F, ///< UI disinfection selection + MSG_ID_HD_DISINFECT_RESPONSE = 0x80, ///< HD response to disinfection selection + MSG_ID_UI_CHEM_DISINFECT_CONFIRM = 0x81, ///< UI confirmation of chemical disinfection start + MSG_ID_HD_CHEM_DISINFECT_CONFIRM_RESPONSE = 0x82, ///< HD response to confirmation of chemical disinfection start + MSG_ID_DG_FLUSH_TIME_DATA = 0x83, ///< DG broadcast of flush mode time data + MSG_ID_DG_HEAT_DISINFECT_TIME_DATA = 0x84, ///< DG broadcast of heat disinfection mode time data + MSG_ID_DG_CHEM_DISINFECT_TIME_DATA = 0x85, ///< DG broadcast of chemical disinfection mode time data MSG_ID_DG_VOLTAGES_DATA = 0x86, ///< DG voltages data publish + MSG_ID_DG_CHEM_DISINFECT_DATA = 0x87, ///< DG chemical disinfect data publish + MSG_ID_DG_SERIAL_NUMBER = 0x88, ///< DG serial number + MSG_ID_UI_REQUEST_SERVICE_INFO = 0x89, ///< UI request for service schedule information + MSG_ID_HD_SERVICE_SCHEDULE_DATA = 0x8A, ///< HD service schedule data + MSG_ID_HD_USAGE_DATA = 0x8B, ///< HD usage data TODO is this needed? + MSG_ID_DG_SERVICE_SCHEDULE_DATA = 0x8C, ///< DG service schedule data + MSG_ID_DG_USAGE_DATA = 0x8D, ///< DG usage data TODO is this needed? + MSG_ID_HD_POST_SINGLE_TEST_RESULT = 0x8E, ///< HD POST single test result + MSG_ID_HD_POST_FINAL_TEST_RESULT = 0x8F, ///< HD POST final test result + MSG_ID_DG_POST_SINGLE_TEST_RESULT = 0x90, ///< DG POST single test result + MSG_ID_DG_POST_FINAL_TEST_RESULT = 0x91, ///< DG POST final test result + MSG_ID_UI_POST_FINAL_TEST_RESULT = 0x92, ///< UI POST final test result + MSG_ID_HD_BUBBLES_DATA = 0x93, ///< HD broadcast of air bubble detectors data + MSG_ID_HD_TREATMENT_LOG_PERIODIC_DATA = 0x94, ///< HD broadcast of treatment log period data + MSG_ID_HD_TREATMENT_LOG_ALARM_EVENT = 0x95, ///< HD treatment log alarm event + MSG_ID_HD_TREATMENT_LOG_EVENT = 0x96, ///< HD treatment log event + MSG_ID_UI_ACTIVE_ALARMS_LIST_REQUEST = 0x97, ///< UI active alarms list request + MSG_ID_HD_ACTIVE_ALARMS_LIST_REQUEST_RESPONSE = 0x98, ///< HD active alarms list request response + MSG_ID_HD_SERIAL_NUMBER = 0x99, ///< HD serial number + MSG_ID_HD_SET_STANDBY_DISINFECT_SUB_MODE_REQUEST = 0x9A, ///< HD set standby disinfect submode request + MSG_ID_HD_SET_STANDBY_DISINFECT_SUB_MODE_RESPONSE = 0x9B, ///< HD set standby disinfect submode response + MSG_ID_HD_DG_POST_RESULT_REQUEST = 0x9C, ///< HD request for DG POST final result (reported back on msg 0x91) + MSG_ID_HD_TEMPERATURES_DATA = 0x9D, ///< HD temperatures data + MSG_ID_HD_UI_VERSION_INFO_REQUEST = 0x9E, ///< HD request for UI version information + MSG_ID_HD_UI_VERSION_INFO_RESPONSE = 0x9F, ///< UI response to HD request for version information + MSG_ID_REQUEST_HD_USAGE_INFO = 0xA0, ///< HD request usage information + MSG_ID_DG_SWITCHES_DATA = 0xA1, ///< DG switches data publish + MSG_ID_HD_SWITCHES_DATA = 0xA2, ///< HD switches data publish + MSG_ID_HD_FANS_DATA = 0xA3, ///< HD fans data publish + MSG_ID_HD_EVENT = 0xA4, ///< HD general event + MSG_ID_DG_EVENT = 0xA5, ///< DG general event + MSG_ID_DG_DIALYSATE_FLOW_METER_DATA = 0xA6, ///< DG dialysate flow meter data (liter/minute) + MSG_ID_DG_ALARM_INFO = 0xA7, ///< DG alarm information data publish + MSG_ID_HD_RESERVOIRS_DATA = 0xA8, ///< HD reservoirs data publish + MSG_ID_HD_REQUEST_DG_CONCENTRATE_MIXING_RATIOS = 0xA9, ///< HD request DG concentrate ratios + MSG_ID_DG_CONCENTRATE_MIXING_RATIOS_DATA = 0xAA, ///< DG concentrate mixing ratios data + MSG_ID_DG_SCHEDULED_RUNS_DATA = 0xAB, ///< DG scheduled runs data + MSG_ID_DG_SCHEDULED_RUNS_INFO = 0xAC, ///< DG scheduled runs info to be sent to the UI and Dialin + MSG_ID_UI_INSTALLATION_CONFIRM_RESPONSE = 0xAD, ///< HD Confirm installation response + MSG_ID_DG_FILL_MODE_DATA = 0xAE, ///< DG broadcast of fill mode data such as used acid & bicarb volume + MSG_ID_DG_BAD_FILL_SUB_STATE = 0xAF, ///< DG broadcast of idle mode bad fill sub-state + MSG_ID_UI_REQUEST_SERVICE_MODE = 0xB0, ///< UI request to HD to go to service mode + MSG_ID_HD_RESPONSE_SERVICE_MODE_REQUEST = 0xB1, ///< HD response to UI request to go to service mode + MSG_ID_AVAILABLE = 0xB2, ///< Message ID is available for use -#ifdef EMC_TEST_BUILD - MSG_ID_CAN_ERROR_COUNT = 0x999, // test code in support of EMC testing -#endif - - // service/test CAN messages +#ifdef EMC_TEST_BUILD + MSG_ID_CAN_ERROR_COUNT = 0x999, // test code in support of EMC testing +#endif + + // service/test CAN messages MSG_ID_FIRST_TESTER_MESSAGE = 0x8000, ///< First HD test message ID MSG_ID_TESTER_LOGIN_REQUEST = MSG_ID_FIRST_TESTER_MESSAGE, ///< HD tester log-in - MSG_ID_DIAL_OUT_FLOW_SET_PT_OVERRIDE = 0x8001, ///< Dialysate outlet flow set point override request + MSG_ID_DIAL_OUT_FLOW_SET_PT_OVERRIDE = 0x8001, ///< Dialysate outlet flow set point override request MSG_ID_OFF_BUTTON_STATE_OVERRIDE = 0x8002, ///< Off button override request MSG_ID_STOP_BUTTON_STATE_OVERRIDE = 0x8003, ///< Stop button override request MSG_ID_ALARM_LAMP_PATTERN_OVERRIDE = 0x8004, ///< Alarm lamp pattern override request @@ -189,8 +250,8 @@ MSG_ID_PRESSURE_ARTERIAL_OVERRIDE = 0x8017, ///< Arterial pressure measured override request MSG_ID_PRESSURE_VENOUS_OVERRIDE = 0x8018, ///< Venous pressure measured override request MSG_ID_OCCLUSION_BLOOD_PUMP_OVERRIDE = 0x8019, ///< Blood pump occlusion pressure measured override request - MSG_ID_OCCLUSION_DIAL_IN_PUMP_OVERRIDE = 0x801A, ///< Dialysate inlet pump occlusion pressure measured override request - MSG_ID_OCCLUSION_DIAL_OUT_PUMP_OVERRIDE = 0x801B, ///< Dialysate outlet pump occlusion pressure measured override request + MSG_ID_BLOOD_ROTOR_COUNT_OVERRIDE = 0x801A, ///< Blood pump rotor count override request + MSG_ID_SET_ARTERIAL_PRESSURE_OFFSET = 0x801B, ///< Set arterial pressure offset request MSG_ID_PRES_OCCL_SEND_INTERVAL_OVERRIDE = 0x801C, ///< Pressure and occlusion broadcast interval override request MSG_ID_SET_RTC_DATE_TIME = 0x801D, ///< RTC set date/time request MSG_ID_DIAL_OUT_FLOW_SEND_INTERVAL_OVERRIDE = 0x801E, ///< Dialysate outlet flow broadcast interval override request @@ -201,12 +262,12 @@ MSG_ID_DIAL_OUT_PUMP_MEAS_SPEED_OVERRIDE = 0x8023, ///< Dialysate outlet pump measured motor speed override request MSG_ID_DIAL_OUT_PUMP_MEAS_ROTOR_SPEED_OVERRIDE = 0x8024, ///< Dialysate outlet pump measured rotor speed override request MSG_ID_DIAL_OUT_LOAD_CELL_WEIGHT_OVERRIDE = 0x8025, ///< Load cell measured weight override request - MSG_ID_HD_SAFETY_SHUTDOWN_OVERRIDE = 0x8026, ///< HD safety shutdown override request - MSG_ID_HD_ACCEL_OVERRIDE = 0x8027, ///< HD accelerometer sensor override request - MSG_ID_HD_ACCEL_MAX_OVERRIDE = 0x8028, ///< HD accelerometer sensor max. override request - MSG_ID_HD_ACCEL_SEND_INTERVAL_OVERRIDE = 0x8029, ///< HD accelerometer data broadcast interval override request - MSG_ID_HD_SYRINGE_PUMP_SEND_INTERVAL_OVERRIDE = 0x802A, ///< HD syringe pump data broadcast interval override request - MSG_ID_HD_SYRINGE_PUMP_OPERATION_REQUEST = 0x802B, ///< HD syringe pump operation request + MSG_ID_HD_SAFETY_SHUTDOWN_OVERRIDE = 0x8026, ///< HD safety shutdown override request + MSG_ID_HD_ACCEL_OVERRIDE = 0x8027, ///< HD accelerometer sensor override request + MSG_ID_HD_ACCEL_MAX_OVERRIDE = 0x8028, ///< HD accelerometer sensor max. override request + MSG_ID_HD_ACCEL_SEND_INTERVAL_OVERRIDE = 0x8029, ///< HD accelerometer data broadcast interval override request + MSG_ID_HD_SYRINGE_PUMP_SEND_INTERVAL_OVERRIDE = 0x802A, ///< HD syringe pump data broadcast interval override request + MSG_ID_HD_SYRINGE_PUMP_OPERATION_REQUEST = 0x802B, ///< HD syringe pump operation request MSG_ID_HD_SYRINGE_PUMP_MEASURED_RATE_OVERRIDE = 0x802C, ///< HD syringe pump measured rate override request MSG_ID_HD_SET_PARAMETER_TREATMENT_PARAMETER = 0x802D, ///< Set a treatment parameter (will change actual setting, not an override) MSG_ID_HD_VALVES_HOME = 0x802E, ///< Home an HD Valve @@ -216,8 +277,8 @@ MSG_ID_HD_AIR_TRAP_SEND_INTERVAL_OVERRIDE = 0x8032, ///< HD air trap data broadcast interval override request MSG_ID_HD_AIR_TRAP_LEVEL_SENSOR_OVERRIDE = 0x8033, ///< HD air trap level sensor override request MSG_ID_HD_SOFTWARE_RESET_REQUEST = 0x8034, ///< HD reset request - MSG_ID_BLOOD_FLOW_SIG_STRENGTH_OVERRIDE = 0x8035, ///< Blood flow signal strength override request - MSG_ID_DIAL_IN_FLOW_SIG_STRENGTH_OVERRIDE = 0x8036, ///< Dialysate flow signal strength override request + MSG_ID_HD_GET_SW_CONFIG_RECORD = 0x8035, ///< HD get software configuration record. + MSG_ID_HD_SET_SW_CONFIG_RECORD = 0x8036, ///< HD set software configuration record. MSG_ID_BLOOD_PUMP_HOME_CMD = 0x8037, ///< Blood pump home command MSG_ID_DIAL_IN_PUMP_HOME_CMD = 0x8038, ///< Dialysate inlet pump home command MSG_ID_DIAL_OUT_PUMP_HOME_CMD = 0x8039, ///< Dialysate outlet pump home command @@ -250,8 +311,51 @@ MSG_ID_HD_ALARM_AUDIO_CURRENT_LG_OVERRIDE = 0x8055, ///< HD primary alarm audio (low gain) current override request MSG_ID_HD_ALARM_BACKUP_AUDIO_CURRENT_OVERRIDE = 0x8056, ///< HD backup alarm audio current override request MSG_ID_HD_VALVES_CURRENT_OVERRIDE = 0x8057, ///< HD valves current override request - MSD_ID_HD_VALVES_POSITION_COUNT_OVERRIDE = 0x8058, ///< HD valves position counts override request - + MSG_ID_HD_VALVES_POSITION_COUNT_OVERRIDE = 0x8058, ///< HD valves position counts override request + MSG_ID_HD_SYRINGE_PUMP_STATUS_OVERRIDE = 0x8059, ///< HD syringe pump status override request + MSG_ID_HD_SYRINGE_PUMP_ENCODER_STATUS_OVERRIDE = 0x805A, ///< HD syringe pump encoder status override request + MSG_ID_HD_SYRINGE_PUMP_ADC_DAC_STATUS_OVERRIDE = 0x805B, ///< HD syringe pump ADC and DAC status override request + MSG_ID_HD_SYRINGE_PUMP_ADC_READ_COUNTER_OVERRIDE = 0x805C, ///< HD syringe pump ADC read counter override request + MSG_ID_HD_BUBBLES_DATA_SEND_INTERVAL_OVERRIDE = 0x805D, ///< HD air bubble detectors data broadcast interval override request + MSG_ID_HD_BUBBLE_STATUS_OVERRIDE = 0x805E, ///< HD air bubble detector status override request + MSG_ID_HD_BLOOD_PRIME_VOLUME_OVERRIDE = 0x805F, ///< HD blood prime volume override request + MSG_ID_HD_BUBBLE_SELF_TEST_REQUEST = 0x8060, ///< HD air bubble detector self-test request + MSG_ID_HD_FAN_RPM_ALARM_START_TIME_OFFSET_OVERRIDE = 0x8061, ///< HD fan RPM alarm start time override request TODO remove once DEN-12224 merged into staging + MSG_ID_HD_SWITCHES_STATUS_OVERRIDE = 0x8062, ///< HD switches status override request + MSG_ID_HD_SWITCHES_PUBLISH_INTERVAL_OVERRIDE = 0x8063, ///< HD switches data publish override request + MSG_ID_HD_BATTERY_REMAINING_PERCENT_OVERRIDE = 0x8064, ///< HD battery remaining percent override request + MSG_ID_HD_TEMPERATURES_VALUE_OVERRIDE = 0x8065, ///< HD temperatures value override request + MSG_ID_HD_TEMPERATURES_PUBLISH_INTERVAL_OVERRIDE = 0x8066, ///< HD temperatures data publish override request + MSG_ID_HD_FANS_PUBLISH_INTERVAL_OVERRIDE = 0x8067, ///< HD fans data publish override request + MSG_ID_HD_FANS_RPM_OVERRIDE = 0x8068, ///< HD fans RPM override request + MSG_ID_HD_RINSEBACK_VOLUME_OVERRIDE = 0x8069, ///< HD rinseback volume override request + MSG_ID_HD_SEND_SW_CONFIG_RECORD = 0x806A, ///< HD send software configuration record. + MSG_ID_HD_ALARM_STATUS_PUBLISH_INTERVAL_OVERRIDE = 0x806B, ///< HD alarm status publish interval override request + MSG_ID_HD_TREATMENT_TIME_DATA_PUBLISH_INTERVAL_OVERRIDE = 0x806C, ///< HD treatment time data publish interval override request + MSG_ID_HD_TREATMENT_RANGES_PUBLISH_INTERVAL_OVERRIDE = 0x806D, ///< HD treatment param adjustment ranges publish interval override request + MSG_ID_HD_TREATMENT_STOP_DATA_PUBLISH_INTERVAL_OVERRIDE = 0x806E, ///< HD treatment stop sub-mode data publish interval override request + MSG_ID_HD_BLOOD_PRIME_DATA_PUBLISH_INTERVAL_OVERRIDE = 0x806F, ///< HD treatment blood prime sub-mode data publish interval override request + MSG_ID_HD_RINSEBACK_DATA_PUBLISH_INTERVAL_OVERRIDE = 0x8070, ///< HD treatment rinseback sub-mode data publish interval override request + MSG_ID_HD_STANDBY_DATA_PUBLISH_INTERVAL_OVERRIDE = 0x8071, ///< HD standby mode data publish interval override request + MSG_ID_HD_OP_MODE_DATA_PUBLISH_INTERVAL_OVERRIDE = 0x8072, ///< HD operation mode data publish interval override request + MSG_ID_HD_PRE_TREATMENT_DATA_PUBLISH_INTERVAL_OVERRIDE = 0x8073, ///< HD pre-treatment mode data publish interval override request + MSG_ID_HD_TREATMENT_DATA_PUBLISH_INTERVAL_OVERRIDE = 0x8074, ///< HD treatment mode data publish interval override request + MSG_ID_HD_POST_TREATMENT_DATA_PUBLISH_INTERVAL_OVERRIDE = 0x8075, ///< HD post treatment mode data publish interval override request + MSG_ID_HD_BLOCK_MESSAGE_TRANSMISSION = 0x8076, ///< HD prevent transmission of given message(s) + MSG_ID_HD_SYRINGE_PUMP_FORCE_SENSOR_DAC_CALIBRATE = 0x8077, ///< HD set syringe pump force sensor DAC calibration + MSG_ID_HD_STOP_RTC_CLOCK = 0x8078, ///< HD stop RTC clock + MSG_ID_HD_FANS_DUTY_CYCLE_OVERRIDE = 0x8079, ///< HD fans duty cycle override request + MSG_ID_HD_SYRINGE_PUMP_HEPRIN_BOLUS_TARGET_RATE_OVERRIDE = 0x807A, ///< HD heprin bolus target rate override request + MSG_ID_HD_REQ_CURRENT_TREATMENT_PARAMETERS = 0x807B, ///< HD request current treatment parameters + MSG_ID_HD_RES_CURRENT_TREATMENT_PARAMETERS = 0x807C, ///< HD current treatment paramaters response + MSG_ID_HD_SET_FANS_RPM_ALARM_START_TIME_OFFSET = 0x807D, ///< HD set fans RPM alarm start time offset + MSG_ID_HD_GET_USAGE_INFO_RECORD = 0x807E, ///< HD get usage information record + MSG_ID_HD_SET_USAGE_INFO_RECORD = 0x807F, ///< HD set usage information record + MSG_ID_HD_SEND_USAGE_INFO_RECORD = 0x8080, ///< HD send usage information record + MSG_ID_HD_SET_BLOOD_LEAK_2_EMB_MODE = 0x8081, ///< HD set blood leak sensor to embedded mode + MSG_ID_HD_SET_BLOOD_LEAK_EMB_MODE_COMMAND = 0x8082, ///< HD set blood leak embedded mode command + MSG_ID_HD_SEND_BLOOD_LEAK_EMB_MODE_RESPONSE = 0x8083, ///< HD send blood leak embedded mode response + MSG_ID_FIRST_DG_TESTER_MESSAGE = 0xA000, ///< First DG test message ID MSG_ID_DG_TESTER_LOGIN_REQUEST = MSG_ID_FIRST_DG_TESTER_MESSAGE, ///< DG tester log-in MSG_ID_DG_ALARM_STATE_OVERRIDE = 0xA001, ///< DG alarm state override message ID @@ -260,31 +364,32 @@ MSG_ID_LOAD_CELL_OVERRIDE = 0xA005, ///< Load cell sensor override request MSG_ID_PRESSURE_OVERRIDE = 0xA006, ///< Pressure sensor override request MSG_ID_PRESSURE_SEND_INTERVAL_OVERRIDE = 0xA007, ///< Pressure data broadcast interval override request + MSG_ID_DG_HD_COMMUNICATION_STATUS_OVERRIDE = 0xA008, ///< DG HD Communication Status override MSG_ID_RO_MEASURED_FLOW_OVERRIDE = 0xA009, ///< RO measured flow rate override request MSG_ID_RO_PUMP_SEND_INTERVAL_OVERRIDE = 0xA00A, ///< RO pump data broadcast interval override request - MSG_ID_DRAIN_PUMP_SET_RPM_OVERRIDE = 0xA00B, ///< Drain pump set RPM override request + MSG_ID_DRAIN_PUMP_SET_RPM = 0xA00B, ///< Drain pump set RPM override request MSG_ID_DRAIN_PUMP_SEND_INTERVAL_OVERRIDE = 0xA00C, ///< Drain pump data broadcast interval override request MSG_ID_LOAD_CELLL_SEND_INTERVAL_OVERRIDE = 0xA00D, ///< Load cell data broadcast interval override request MSG_ID_VALVE_STATE_OVERRIDE = 0xA00E, ///< Valve state override request MSG_ID_VALVES_STATES_PUBLISH_INTERVAL_OVERRIDE = 0xA00F, ///< Valve data broadcast interval override request MSG_ID_TEMPERATURE_SENSORS_VALUE_OVERRIDE = 0xA010, ///< Temperature sensor override request - MSG_ID_START_STOP_PRIMARY_HEATER = 0xA011, ///< Start/stop primary heaters - MSG_ID_TEMPERATURE_SENSORS_PUBLISH_INTERVAL_OVERRIDE = 0xA012, ///< Temperature sensors data publish override - MSG_ID_HEATERS_PUBLISH_INTERVAL_ORVERRIDE = 0xA013, ///< Heaters data publish override + MSG_ID_START_STOP_PRIMARY_HEATER = 0xA011, ///< Start/stop primary heaters + MSG_ID_TEMPERATURE_SENSORS_PUBLISH_INTERVAL_OVERRIDE = 0xA012, ///< Temperature sensors data publish override + MSG_ID_HEATERS_PUBLISH_INTERVAL_ORVERRIDE = 0xA013, ///< Heaters data publish override MSG_ID_DG_SAFETY_SHUTDOWN_OVERRIDE = 0xA014, ///< DG safety shutdown override request MSG_ID_CONDUCTIVITY_OVERRIDE = 0xA015, ///< Conductivity sensor override request - MSG_ID_CONDUCTIVITY_PUBLISH_INTERVAL_OVERRIDE = 0xA016, ///< Conductivity sensors data publish override - MSG_ID_DG_ACCEL_OVERRIDE = 0xA017, ///< DG accelerometer sensor override request - MSG_ID_DG_ACCEL_MAX_OVERRIDE = 0xA018, ///< DG accelerometer sensor max. override request - MSG_ID_DG_ACCEL_SEND_INTERVAL_OVERRIDE = 0xA019, ///< DG accelerometer data broadcast interval override request + MSG_ID_CONDUCTIVITY_PUBLISH_INTERVAL_OVERRIDE = 0xA016, ///< Conductivity sensors data publish override + MSG_ID_DG_ACCEL_OVERRIDE = 0xA017, ///< DG accelerometer sensor override request + MSG_ID_DG_ACCEL_MAX_OVERRIDE = 0xA018, ///< DG accelerometer sensor max. override request + MSG_ID_DG_ACCEL_SEND_INTERVAL_OVERRIDE = 0xA019, ///< DG accelerometer data broadcast interval override request MSG_ID_DG_MONITORED_VOLTAGES_SEND_INTERVAL_OVERRIDE = 0xA01A, ///< DG monitored voltages publish interval override request MSG_ID_DG_MONITORED_VOLTAGES_OVERRIDE = 0xA01B, ///< DG monitored voltage override request - MSG_ID_DRAIN_PUMP_SET_DELTA_PRESSURE_OVERRIDE = 0xA01C, ///< Drain pump set delta pressure override - MSG_ID___AVAILABLE_12 = 0xA01D, ///< This msg ID is available for use - MSG_ID___AVAILABLE_13 = 0xA01E, ///< This msg ID is available for use - MSG_ID___AVAILABLE_14 = 0xA01F, ///< This msg ID is available for use - MSG_ID___AVAILABLE_15 = 0xA020, ///< This msg ID is available for use - MSG_ID_HEAT_DISINFECT_PUBLISH_INTERVAL_OVERRIDE = 0xA021, ///< Heat disinfection data publish interval override request + MSG_ID_DRAIN_PUMP_TARGET_OUTLET_PRESSURE = 0xA01C, ///< Drain pump target outlet pressure. + MSG_ID_DG_SWITCHES_STATUS_OVERRIDE = 0xA01D, ///< DG switches status override + MSG_ID_DG_SWITCHES_PUBLISH_INTERVAL_OVERRIDE = 0xA01E, ///< DG switches data publish interval override + MSG_ID_DG_OP_MODE_PUBLISH_INTERVAL_OVERRIDE = 0xA01F, ///< DG operation mode publish interval override + MSG_ID_DG_BLOCK_MESSAGE_TRANSMISSION = 0xA020, ///< HD prevent transmission of given message(s) + MSG_ID_DIALYSATE_MEASURED_FLOW_OVERRIDE = 0xA021, ///< DG dialysate measured flow rate override request MSG_ID_DG_SOFTWARE_RESET_REQUEST = 0xA022, ///< DG reset request MSG_ID_DG_CONCENTRATE_PUMP_MEASURED_SPEED_OVERRIDE = 0xA023, ///< DG concentrate pump measured speed override request MSG_ID_CONCENTRATE_PUMP_TARGET_SPEED_OVERRIDE = 0xA024, ///< Concentrate pumps' target speed override request @@ -299,7 +404,7 @@ MSG_ID_DG_THERMISTORS_VALUE_OVERRIDE = 0xA02E, ///< DG thermistors value override MSG_ID_DG_RO_PUMP_DUTY_CYCLE_OVERRIDE = 0xA02F, ///< DG RO pump duty cycle override MSG_ID_DG_RO_FLOW_RATE_OVERRIDE = 0xA030, ///< DG RO flow rate override - MSG_ID_DG_RO_PUMP_TARGET_FLOW_OVERRIDE = 0xA031, ///< DG RO pump target flow rate override + MSG_ID_DG_SET_RO_PUMP_TARGET_FLOW = 0xA031, ///< DG set RO pump target flow rate MSG_ID_DG_RO_PUMP_TARGET_PRESSURE_OVERRIDE = 0xA032, ///< DG RO pump target pressure override MSG_ID_DG_SET_CALIBRATION_RECORD = 0xA033, ///< DG set calibration record that is received from Dialin MSG_ID_DG_GET_CALIBRATION_RECORD = 0xA034, ///< DG get calibration record that is requested from Dialin @@ -316,19 +421,39 @@ MSG_ID_DG_FLUID_LEAK_SEND_INTERVAL_OVERRIDE = 0xA03F, ///< DG fluid leak state broadcast interval override request MSG_ID_DG_FLUID_LEAK_STATE_DETECTOR_OVERRIDE = 0xA040, ///< DG fluid leak state detector override request MSG_ID_DG_FLUSH_PUBLISH_INTERVAL_OVERRIDE = 0xA041, ///< DG flush mode data publish interval override - + MSG_ID_FILTER_FLUSH_TIME_PERIOD_OVERRIDE = 0xA042, ///< DG filter flush time period override + MSG_ID_DG_FANS_RPM_OVERRIDE = 0xA043, ///< DG fans RPM override + MSG_ID_DIALYSATE_FLOW_SEND_INTERVAL_OVERRIDE = 0xA044, ///< Dialysate flow data broadcast interval override request + MSG_ID_DG_STOP_RTC_CLOCK = 0xA045, ///< DG stop RTC clock + MSG_ID_DG_DRAIN_PUMP_MEASURED_RPM_OVERRIDE = 0xA046, ///< DG drain pump measured RPM override + MSG_ID_DG_SUPER_CLEAR_ALARMS_CMD = 0xA047, ///< Clears all DG alarms (even if non-recoverable or fault) + MSG_ID_DG_ALARM_INFO_SEND_INTERVAL_OVERRIDE = 0xA048, ///< DG alarm information broadcast interval override request + MSG_ID_DG_FAN_RPM_ALARM_START_TIME_OFFSET_OVERRIDE = 0xA049, ///< DG fan RPM alarm start time offset override request // TODO remove once DEN-12224 is implemented + MSG_ID_DG_GET_SW_CONFIG_RECORD = 0xA04A, ///< DG get software configuration record request + MSG_ID_DG_SET_SW_CONFIG_RECORD = 0xA04B, ///< DG set software configuration record + MSG_ID_DG_SEND_SW_CONFIG_RECORD = 0xA04C, ///< DG send software configuration record + MSG_ID_DG_FANS_DUTY_CYCLE_OVERRIDE = 0xA04D, ///< DG fans duty cycle override request + MSG_ID_DG_USED_ACID_VOLUME_ML_OVERRIDE = 0xA04E, ///< DG used acid volume override in mL + MSG_ID_DG_SET_FANS_RPM_ALARM_START_TIME_OFFSET = 0xA04F, ///< DG set fans RPM alarm start time offset + MSG_ID_DG_USED_BICARB_VOLUME_ML_OVERRIDE = 0xA050, ///< DG used bicarb volume override in mL + MSG_ID_FILL_MODE_DATA_PUBLISH_INTERVAL_OVERRIDE = 0xA051, ///< DG used concentrate publish interval override request + MSG_ID_BAD_FILL_STATES_PUBLISH_INTERVAL_OVERRIDE = 0xA052, ///< DG bad fill sub-states publish interval override request + MSG_ID_DG_GET_USAGE_INFO_RECORD = 0xA053, ///< DG get usage information record + MSG_ID_DG_SET_USAGE_INFO_RECORD = 0xA054, ///< DG set usage information record + MSG_ID_DG_SEND_USAGE_INFO_RECORD = 0xA055, ///< DG send usage information record + MSG_ID_HD_DEBUG_EVENT = 0xFFF1, ///< HD debug event text to be logged in event log MSG_ID_DG_DEBUG_EVENT = 0xFFF2, ///< DG debug event text to be logged in event log MSG_ID_ACK_MESSAGE_THAT_REQUIRES_ACK = 0xFFFF, ///< Acknowledgment of message that requires acknowledgment - + END_OF_MSG_IDS ///< End of system message IDs }; typedef enum Msg_IDs MSG_ID_T; ///< Type for message IDs enumeration /// Enumeration of settings change rejection reason codes -enum Request_Reject_Reasons -{ +enum Request_Reject_Reasons +{ REQUEST_REJECT_REASON_NONE = 0, ///< Used when there is no rejection REQUEST_REJECT_REASON_NOT_ALLOWED_IN_CURRENT_MODE = 1, ///< Request is not allowed in the current operating mode REQUEST_REJECT_REASON_TIMEOUT_WAITING_FOR_USER_CONFIRM = 2, ///< Validated request was not confirmed by user in reasonable time @@ -356,13 +481,25 @@ REQUEST_REJECT_REASON_ALARM_IS_ACTIVE = 24, ///< Requested user action not allowed while alarm is active REQUEST_REJECT_REASON_INVALID_COMMAND = 25, ///< Requested user action invalid REQUEST_REJECT_REASON_TREATMENT_IS_COMPLETED = 26, ///< The treatment has been completed - REQUEST_REJECT_REASON_RINSEBACK_MAX_VOLUME_REACHED = 27, ///< Rinseback volume maximum has been reached - no more additional rinsebacks allowed + REQUEST_REJECT_REASON_ADDL_RINSEBACK_MAX_VOLUME_REACHED = 27, ///< Rinseback additional volume maximum has been reached - no more additional rinsebacks allowed REQUEST_REJECT_REASON_UF_VOLUME_NOT_SET = 28, ///< Ultrafiltration volume is not set yet REQUEST_REJECT_REASON_NO_PATIENT_CONNECTION_CONFIRM = 29, ///< The user has not confirmed patient connection REQUEST_REJECT_REASON_HEPARIN_PAUSE_INVALID_IN_THIS_STATE = 30, ///< Heparin cannot be paused if not currently deliverying Heparin REQUEST_REJECT_REASON_HEPARIN_NOT_PAUSED = 31, ///< Heparin cannot be resumed if not paused REQUEST_REJECT_REASON_DG_COMM_LOST = 32, ///< Treatment cannot initiate if DG comm is lost REQUEST_REJECT_REASON_DRAIN_NOT_COMPLETE = 33, ///< Post-treatment reservoirs drain not complete + REQUEST_REJECT_REASON_DG_NOT_IN_STANDBY_IDLE_STATE = 34, ///< Treatment cannot initiate if DG is not in standby idle state + REQUEST_REJECT_REASON_INVALID_REQUEST_FORMAT = 35, ///< Request message not formatted properly + REQUEST_REJECT_REASON_INVALID_DATE_OR_TIME = 36, ///< Given date/time is invalid + REQUEST_REJECT_REASON_TREATMENT_IN_PROGRESS = 37, ///< Treatment is in progress + REQUEST_REJECT_REASON_BATTERY_IS_NOT_CHARGED = 38, ///< Battery does not have enough charge to start treatment + REQUEST_REJECT_REASON_RINSEBACK_NOT_COMPLETED = 39, ///< Cannot move on to recirculate without completing full rinseback. + REQUEST_REJECT_REASON_RESERVOIR_ONE_IS_NOT_READY = 40, ///< Reservoir one fill is not complete + REQUEST_REJECT_REASON_PUMP_TRACK_NOT_CLOSED = 41, ///< Pump track is not ready / closed + REQUEST_REJECT_REASON_DOOR_NOT_CLOSED = 42, ///< Door is not closed + REQUEST_REJECT_REASON_SYRINGE_NOT_PRESENT = 43, ///< Syringe is not present + REQUEST_REJECT_REASON_DG_DIALYSATE_CAP_OPEN = 44, ///< Dialysate cap open + REQUEST_REJECT_REASON_DG_CONCENTRATE_CAP_OPEN = 45, ///< Concentrate cap open NUM_OF_REQUEST_REJECT_REASONS ///< Number of settings change reject codes }; typedef enum Request_Reject_Reasons REQUEST_REJECT_REASON_CODE_T; ///< Type for settings change rejection reason codes enumeration @@ -378,5 +515,5 @@ typedef enum Cmd_Request_Reject_Reasons CMD_REQUEST_REJECT_REASON_CODE_T; ///< Type for command request rejection reason codes enumeration /**@}*/ - -#endif + +#endif