Index: HDDefs.h =================================================================== diff -u -r322f297e3a0edc25a9cc5e672493f2ebb1ba974d -r4f151adda6a8e1ea9cf7fdd8806a81b3491d2baa --- HDDefs.h (.../HDDefs.h) (revision 322f297e3a0edc25a9cc5e672493f2ebb1ba974d) +++ HDDefs.h (.../HDDefs.h) (revision 4f151adda6a8e1ea9cf7fdd8806a81b3491d2baa) @@ -7,8 +7,8 @@ * * @file HDDefs.h * -* @author (last) Dara Navaei -* @date (last) 20-Mar-2023 +* @author (last) Sean Nash +* @date (last) 19-Jul-2023 * * @author (original) Sean Nash * @date (original) 29-May-2020 @@ -109,23 +109,10 @@ STANDBY_START_STATE = 0, ///< Start standby (home actuators). 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 - - STANDBY_WAIT_FOR_DG_CHEM_DISINFECT_FLUSH_CMD_RESPONSE_STATE, ///< Wait for DG chemical disinfect flush command response. - STANDBY_WAIT_FOR_DG_CHEM_DISINFECT_FLUSH_TO_START_STATE, ///< Wait for DG chemical disinfect flush to start. - STANDBY_DG_CHEM_DISINFECT_FLUSH_IN_PROGRESS_STATE, ///< DG chemical disinfect flush operation is in progress - NUM_OF_STANDBY_STATES ///< Number of standby states (sub-modes) + STANDBY_WAIT_FOR_DG_CLEANING_MODE_CMD_RESPONSE_STATE, ///< Wait for DG cleaning mode command response state. + STANDBY_WAIT_FOR_DG_CLEANING_MODE_TO_START_STATE, ///< Wait for DG cleaning mode to start state. + STANDBY_CLEANING_MODE_IN_PROGRESS_STATE, ///< Cleaning mode in progress state. + 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 @@ -269,6 +256,7 @@ WET_SELF_TESTS_BUBBLE_CHECK_SETUP_STATE, ///< Setup for wet air bubble self-test state. WET_SELF_TESTS_BUBBLE_CHECK_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_DEBUBBLE_STATE, ///< Blood leak detector debubble state. 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. @@ -330,6 +318,25 @@ /**@}*/ /** + * @addtogroup HDPreTreatmentMode + * @{ + */ + +/// Enumeration of pre-treatment patient connect states. +enum HD_Pre_Treatment_Pat_Conn_States +{ + PRE_TREATMENT_PAT_CONN_WAIT_FOR_UF_VOL_STATE = 0, ///< Pre-treatment patient connect wait for UF volume setting state + PRE_TREATMENT_PAT_CONN_WAIT_FOR_DLZR_INVERT_STATE, ///< Pre-treatment patient connect wait for dialyzer inverted state + PRE_TREATMENT_PAT_CONN_WAIT_FOR_USER_CONFIRM_STATE, ///< Pre-treatment patient connect wait for user confirm state + PRE_TREATMENT_PAT_CONN_WAIT_FOR_TREATMENT_START_STATE, ///< Pre-treatment patient connect wait for treatment start state + NUM_OF_PRE_TREATMENT_PAT_CONN_STATES ///< Number of pre-treatment patient connect states +}; +///< Type for HD pre-treatment recirculate sub-mode states enumeration +typedef enum HD_Pre_Treatment_Pat_Conn_States HD_PRE_TREATMENT_PAT_CONN_STATE_T; + +/**@}*/ + +/** * @addtogroup HDTreatmentMode * @{ */ @@ -542,6 +549,7 @@ RINSEBACK_PAUSED_STATE, ///< Rinseback paused state of the rinseback sub-mode state machine RINSEBACK_STOP_STATE, ///< Rinseback stopped (done) state of the rinseback sub-mode state machine RINSEBACK_RUN_ADDITIONAL_STATE, ///< Additional rinseback volume (10 mL) state of the rinseback sub-mode state machine + RINSEBACK_RECONNECT_PATIENT_STATE, ///< Rinseback patient reconnect state of the rinseback sub-mode state machine NUM_OF_RINSEBACK_STATES ///< Number of rinseback sub-mode states }; typedef enum Rinseback_States RINSEBACK_STATE_T; ///< Type for rinseback states enumeration. @@ -574,8 +582,10 @@ /// Enumeration of treatment re-circulation sub-mode states. enum Treatment_Recirc_States { - TREATMENT_RECIRC_RECIRC_STATE = 0, ///< Re-circulate Dialysate state of the treatment re-circulate sub-mode state machine + TREATMENT_RECIRC_DISCONNECT_PATIENT_STATE = 0, ///< Disconnect patient state of the treatment re-circulate sub-mode state machine + TREATMENT_RECIRC_RECIRC_STATE, ///< 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 + TREATMENT_RECIRC_RECONNECT_PATIENT_STATE, ///< Reconnect patient state of the treatment re-circulate sub-mode state machine NUM_OF_TREATMENT_RECIRC_STATES ///< Number of treatment re-circulate sub-mode states }; /// Type for treatment re-circulation states enumeration. @@ -588,6 +598,7 @@ REQUESTED_USER_ACTION_TX_RECIRC_CONFIRM_RECONNECT = 1, ///< User confirms patient connected, lines un-shunted to return to treatment REQUESTED_USER_ACTION_TX_RECIRC_RESUME_RC = 2, ///< User requests to resume re-circulation REQUESTED_USER_ACTION_TX_RECIRC_END_TREATMENT = 3, ///< User requests to end treatment + REQUESTED_USER_ACTION_TX_RECIRC_CONFIRM_DISCONNECT = 4, ///< User confirms patient disconnected, lines shunted to begin re-circulation NUM_OF_REQUESTED_TX_RECIRC_USER_ACTIONS ///< Number of requested treatment re-circ user actions }; /// Type for requested user actions enumeration. @@ -642,12 +653,11 @@ 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 - TREATMENT_PARAM_ART_PRESSURE_LOW_LIMIT, ///< Arterial pressure low alarm limit (in mmHg) - TREATMENT_PARAM_FIRST_INT = TREATMENT_PARAM_ART_PRESSURE_LOW_LIMIT, ///< First integer treatment parameter - TREATMENT_PARAM_ART_PRESSURE_HIGH_LIMIT, ///< Arterial pressure high alarm limit (in mmHg) - TREATMENT_PARAM_VEN_PRESSURE_LOW_LIMIT, ///< Venous pressure low alarm limit (in mmHg) - TREATMENT_PARAM_VEN_PRESSURE_HIGH_LIMIT, ///< Venous pressure high alarm limit (in mmHg) - TREATMENT_PARAM_LAST_INT = TREATMENT_PARAM_VEN_PRESSURE_HIGH_LIMIT, ///< Last integer treatment parameter + TREATMENT_PARAM_ART_PRES_LIMIT_WINDOW, ///< Arterial pressure alarm limit window (in mmHg) + TREATMENT_PARAM_FIRST_INT = TREATMENT_PARAM_ART_PRES_LIMIT_WINDOW, ///< First integer treatment parameter + TREATMENT_PARAM_VEN_PRES_LIMIT_WINDOW, ///< Venous pressure alarm limit window (in mmHg) + TREATMENT_PARAM_VEN_PRES_LIMIT_ASYMMETRIC, ///< Venous pressure alarm limit asymmetric (in mmHg) + TREATMENT_PARAM_LAST_INT = TREATMENT_PARAM_VEN_PRES_LIMIT_ASYMMETRIC,///< Last integer treatment parameter TREATMENT_PARAM_HEPARIN_DISPENSE_RATE, ///< Heparin dispense rate (in mL/hr) TREATMENT_PARAM_FIRST_F32 = TREATMENT_PARAM_HEPARIN_DISPENSE_RATE, ///< First floating point treatment parameter TREATMENT_PARAM_HEPARIN_BOLUS_VOLUME, ///< Heparin bolus volume (in mL) @@ -674,8 +684,8 @@ enum Acid_Concentrates { ACID_CONC_TYPE_FRESENIUS_08_1251_1 = 0, ///< Fresensius Naturalyte Acid Concentrate 08-1251-1 - ACID_CONC_TYPE_FRESENIUS_08_2251_0, ///< Fresensius Naturalyte Acid Concentrate 08-1251-1 - ACID_CONC_TYPE_FRESENIUS_08_3251_9, ///< Fresensius Naturalyte Acid Concentrate 08-1251-1 + ACID_CONC_TYPE_FRESENIUS_08_2251_0, ///< Fresensius Naturalyte Acid Concentrate 08-2251-0 + ACID_CONC_TYPE_FRESENIUS_08_3251_9, ///< Fresensius Naturalyte Acid Concentrate 08-3251-9 NUM_OF_ACID_CONC_TYPES ///< Number of acid concentrates }; typedef enum Acid_Concentrates ACID_CONCENTRATE_TYPE_T; ///< Type for acid concentrates enumeration @@ -716,10 +726,9 @@ 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 + ARTERIAL_PRESSURE_LIMIT_WINDOW_CHANGE_EVENT, ///< Arterial pressure limit window change event + VENOUS_PRESSURE_LIMIT_WINDOW_CHANGE_EVENT, ///< Venous pressure limit window change event + VENOUS_PRESSURE_LIMIT_ASYM_CHANGE_EVENT, ///< Venous pressure limit asymmetric 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 @@ -769,6 +778,7 @@ HD_EVENT_OCCLUSION_BASELINE, ///< HD event occlusion baseline event HD_EVENT_RSRVR_UF_VOLUME_AND_TIME, ///< HD ultrafiltration volume and time for a reservoir use HD_EVENT_RSRVR_UF_RATE, ///< HD ultrafiltration measured and expected rates + HD_EVENT_OPERATION_STATUS, ///< HD aggregated opmode, submode, and substate 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 @@ -801,19 +811,22 @@ GENERIC_CONFIRM_ID_DISINFECT_STOP_CHEMICAL_FLUSH, ///< Chemical disinfect flush stop user confirmation GENERIC_CONFIRM_ID_DISINFECT_CHEM_FLUSH_SAMPLE_PASS_FAIL, ///< Chemical disinfect sample flush pass/fail GENERIC_CONFIRM_ID_TREATMENT_END, ///< End treatment user confirmation + GENERIC_CONFIRM_ID_DISINFECT_STOP_ACTIVE_COOL, ///< Active cool stop user confirmation + GENERIC_CONFIRM_ID_DISINFECT_STOP_RO_PERMEATE_SAMPLE, ///< RO permeate sample stop user confirmation + GENERIC_CONFIRM_ID_RO_PERMEATE_SAMPLE_STOP_OR_DISPENSE, ///< RO permeate sample stop or dispense NUM_OF_GENERIC_CONFIRM_IDS, ///< Total number of generic confirm IDs }; typedef enum Generic_Confirm_Id GENERIC_CONFIRM_ID_T; ///< Type for generic confirm enumeration /// List of confirmation request status typedef enum Confirmation_Status { - CONFIRMATION_REQUEST_STATUS_REJECTED = 0, ///< Confirmation status rejected - CONFIRMATION_REQUEST_STATUS_ACCEPTED, ///< Confirmation status accepted - CONFIRMATION_REQUEST_STATUS_TIMEOUT, ///< Confirmation status timeout - CONFIRMATION_REQUEST_STATUS_PENDING, ///< Confirmation status pending response - CONFIRMATION_REQUEST_STATUS_UNUSED, ///< Confirmation status Unused - NUM_OF_CONFIRMATION_REQUEST_STATUS ///< Number of confirmation status + CONFIRMATION_REQUEST_STATUS_REJECTED = 0, ///< Confirmation status rejected + CONFIRMATION_REQUEST_STATUS_ACCEPTED, ///< Confirmation status accepted + CONFIRMATION_REQUEST_STATUS_TIMEOUT, ///< Confirmation status timeout + CONFIRMATION_REQUEST_STATUS_PENDING, ///< Confirmation status pending response + CONFIRMATION_REQUEST_STATUS_UNUSED, ///< Confirmation status Unused + NUM_OF_CONFIRMATION_REQUEST_STATUS ///< Number of confirmation status } CONFIRMATION_REQUEST_STATUS_T; /**@}*/