Index: HDDefs.h =================================================================== diff -u -r3e6579c4e3bced7ce17946c3a48031b58858bb9c -r4f151adda6a8e1ea9cf7fdd8806a81b3491d2baa --- HDDefs.h (.../HDDefs.h) (revision 3e6579c4e3bced7ce17946c3a48031b58858bb9c) +++ HDDefs.h (.../HDDefs.h) (revision 4f151adda6a8e1ea9cf7fdd8806a81b3491d2baa) @@ -8,7 +8,7 @@ * @file HDDefs.h * * @author (last) Sean Nash -* @date (last) 02-Feb-2023 +* @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 * @{ */ @@ -394,6 +401,9 @@ 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 +#ifdef DIALYZER_REPRIME_ENABLED + DIALYSIS_DIALYZER_REPRIME_STATE, ///< Dialyzer reprime state of the dialysis sub-mode state machine +#endif NUM_OF_DIALYSIS_STATES ///< Number of dialysis sub-mode states }; typedef enum Dialysis_States DIALYSIS_STATE_T; ///< Type for dialysis states enumeration @@ -427,6 +437,20 @@ }; typedef enum Saline_Commands SALINE_CMD_T; ///< Type for saline command enum. +#ifdef DIALYZER_REPRIME_ENABLED +/// Enumeration of dialyzer reprime states. +enum Dialyzer_Reprime_States +{ + DIALYZER_REPRIME_STATE_DIALYSATE_PUMPS_OFF = 0, ///< Turn off dialysate pumps and wait for them to stop + DIALYZER_REPRIME_STATE_PURGE_PRIOR_1, ///< Purge air from an interrupted reprime + DIALYZER_REPRIME_STATE_PURGE_PRIOR_2, ///< Purge air from an interrupted reprime + DIALYZER_REPRIME_STATE_REPRIME, ///< Remove air from dialyzer + DIALYZER_REPRIME_STATE_PURGE_LINES, ///< Purge air from lines after repriming dialyzer + NUM_OF_DIALYZER_REPRIME_STATES ///< Number of dialyzer reprime states +}; +typedef enum Dialyzer_Reprime_States DIALYZER_REPRIME_STATE_T; ///< Type for dialyzer reprime state enumeration +#endif + /// Enumeration of ultrafiltration command IDs. enum UF_Commands { @@ -525,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. @@ -557,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. @@ -571,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. @@ -625,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) @@ -657,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 @@ -699,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 @@ -750,6 +776,9 @@ HD_EVENT_SUB_STATE_CHANGE, ///< HD Op sub-state change event HD_EVENT_SYRINGE_PUMP_STATE, ///< HD syringe pump state change event 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 @@ -776,22 +805,28 @@ enum Generic_Confirm_Id { GENERIC_CONFIRM_ID_NONE = 0, ///< Generic Confirm None - GENERIC_CONFIRM_ID_DISINFECT_STOP_WATERFLUSH, ///< water flush stop user confirmation - GENERIC_CONFIRM_ID_DISINFECT_STOP_HEAT, ///< Heat disinfect stop user confirmation + GENERIC_CONFIRM_ID_DISINFECT_STOP_WATERFLUSH, ///< Water flush stop user confirmation + GENERIC_CONFIRM_ID_DISINFECT_STOP_HEAT, ///< Heat disinfect stop user confirmation GENERIC_CONFIRM_ID_DISINFECT_STOP_CHEMICAL, ///< Chemical disinfect stop user confirmation + 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; /**@}*/