Index: TDDefs.h =================================================================== diff -u -reb1f0970a9d34b3b114d5933f0c7f1d15b558f93 -r80ea0f399f49da3d282d88916821b0fc7c7b87f6 --- TDDefs.h (.../TDDefs.h) (revision eb1f0970a9d34b3b114d5933f0c7f1d15b558f93) +++ TDDefs.h (.../TDDefs.h) (revision 80ea0f399f49da3d282d88916821b0fc7c7b87f6) @@ -7,8 +7,8 @@ * * @file TDDefs.h * -* @author (last) Varshini Nagabooshanam -* @date (last) 07-May-2026 +* @author (last) Vijay Pamula +* @date (last) 07-Jul-2026 * * @author (original) Sean Nash * @date (original) 01-Aug-2024 @@ -35,6 +35,7 @@ MODE_PRET, ///< Pre-Treatment mode MODE_TREA, ///< Treatment mode MODE_POST, ///< Post-Treatment mode + MODE_UPDT, ///< Update mode MODE_NLEG, ///< Not legal - an illegal mode transition occurred NUM_OF_MODES ///< Number of TD operation modes }; @@ -66,6 +67,7 @@ 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_EJECTOR_HOMING, ///< Run ejector homing POST state POST_STATE_FPGA, ///< Run FPGA test state POST_STATE_COMPLETED, ///< POST self-tests completed state POST_STATE_FAILED, ///< POST self-tests failed state @@ -112,21 +114,35 @@ /**@}*/ /** + * @addtogroup TDUpdateMode + * @{ + */ + +/// Sub-mode states while in update mode +enum TD_Update_States +{ + TD_UPDATE_INIT_STATE = 0, ///< Start update state. + TD_UPDATE_RESET_MCU_STATE, ///< Reset MCU state. + NUM_OF_TD_UPDATE_STATES ///< Number of update states (sub-modes). +}; +typedef enum TD_Update_States TD_UPDATE_STATE_T; ///< Type for TD update states enumeration + +/**@}*/ + +/** * @addtogroup TDPreTreatmentMode * @{ */ /// Enumeration of pre-treatment mode states (sub-mode). enum TD_Pre_Treatment_Mode_States { - TD_PRE_TREATMENT_WATER_SAMPLE_STATE = 0, ///< Water sample state - TD_PRE_TREATMENT_SELF_TEST_CONSUMABLE_STATE, ///< Consumable self-tests state - TD_PRE_TREATMENT_SELF_TEST_NO_CART_STATE, ///< No cartridge self-tests state - TD_PRE_TREATMENT_CART_INSTALL_STATE, ///< Consumable and cartridge installation state + TD_PRE_TREATMENT_TUBING_SET_INSTALL_STATE = 0, ///< Tube set install state TD_PRE_TREATMENT_SELF_TEST_DRY_STATE, ///< Self-tests when the cartridge is dry state TD_PRE_TREATMENT_PRIME_STATE, ///< Prime blood and dialysate circuits and run wet self-tests state TD_PRE_TREATMENT_RECIRCULATE_STATE, ///< Re-circulate blood and dialysate circuits state TD_PRE_TREATMENT_CONFIRM_RX_STATE, ///< User reviews and confirms prescription ( Confirm Rx ) + TD_PRE_TREATMENT_HEPARIN_SETUP_STATE, ///< Heparin setup state TD_PRE_TREATMENT_PATIENT_CONNECTION_STATE, ///< Patient connection state NUM_OF_TD_PRE_TREATMENT_STATES ///< Number of pre-treatment mode states }; @@ -207,7 +223,7 @@ enum TD_Pre_Treatment_Dry_Self_Tests_States { DRY_SELF_TESTS_START_STATE = 0, ///< Dry self-tests start state - DRY_SELF_TESTS_WAIT_FOR_DOOR_CLOSE_STATE = 0, ///< Wait for door close state + DRY_SELF_TESTS_WAIT_FOR_DOOR_CLOSE_STATE, ///< Wait for door close state DRY_SELF_TESTS_USED_TUBE_SET_CHECK_STATE, ///< Used tube set check state DRY_SELF_TESTS_TUBE_SET_LOADED_CHECK_STATE, ///< Tube set loaded check state DRY_SELF_TESTS_TUBE_SET_AUTHENTICATION_STATE, ///< Tube set authentication state @@ -349,8 +365,8 @@ /// Enumeration of post-treatment mode states. enum TD_Post_Treatment_Mode_States { - TD_POST_TREATMENT_DRAIN_RESERVOIRS_STATE = 0, ///< Drain reservoirs state - TD_POST_TREATMENT_PATIENT_DISCONNECTION_STATE, ///< Patient disconnection state + TD_POST_TREATMENT_PATIENT_DISCONNECTION_STATE = 0, ///< Patient disconnection state + TD_POST_TREATMENT_AUTO_EJECT_STATE, ///< Auto eject state TD_POST_TREATMENT_DISPOSABLE_REMOVAL_STATE, ///< Disposable removal state TD_POST_TREATMENT_VERIFY_STATE, ///< Verify cartridge removed, syringe removed, and reservoirs drained state NUM_OF_TD_POST_TREATMENT_STATES ///< Number of post-treatment mode states @@ -384,28 +400,29 @@ { DIALYSIS_UF_STATE = 0, ///< Ultrafiltration state of the dialysis sub-mode state machine DIALYSIS_UF_PAUSED_STATE, ///< Ultrafiltration Paused state of the dialysis sub-mode state machine + DIALYSIS_UF_FLUID_BOLUS_STATE, ///< Fluid 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 saline bolus states. -enum Saline_Bolus_States +/// Enumeration of fluid bolus states. +enum Fluid_Bolus_States { - SALINE_BOLUS_STATE_IDLE = 0, ///< No saline bolus delivery is in progress - SALINE_BOLUS_STATE_WAIT_FOR_PUMPS_STOP, ///< Wait for pumps to stop before starting bolus - SALINE_BOLUS_STATE_IN_PROGRESS, ///< A saline bolus delivery is in progress - NUM_OF_SALINE_BOLUS_STATES ///< Number of saline bolus states + FLUID_BOLUS_IDLE_STATE = 0, ///< No fluid bolus delivery is in progress + FLUID_BOLUS_WAIT_FOR_PUMPS_STOP_STATE, ///< Wait for pumps to stop before starting bolus + FLUID_BOLUS_IN_PROGRESS_STATE, ///< A fluid bolus delivery is in progress + NUM_OF_FLUID_BOLUS_STATES ///< Number of fluid bolus states }; -typedef enum Saline_Bolus_States SALINE_BOLUS_STATE_T; ///< Type for saline bolus state enumeration +typedef enum Fluid_Bolus_States FLUID_BOLUS_STATE_T; ///< Type for fluid bolus state enumeration -/// Enumeration of saline bolus command parameters. -enum Saline_Commands +/// Enumeration of fluid bolus command parameters. +enum Fluid_Bolus_Commands { - SALINE_CMD_STOP = 0, ///< Stop saline bolus command - SALINE_CMD_START, ///< Start saline bolus command - NUM_OF_SALINE_CMDS ///< Number of saline bolus command parameters + FLUID_BOLUS_CMD_STOP = 0, ///< Stop fluid bolus command + FLUID_BOLUS_CMD_START, ///< Start fluid bolus command + NUM_OF_FLUID_BOLUS_CMDS ///< Number of fluid bolus command parameters }; -typedef enum Saline_Commands SALINE_CMD_T; ///< Type for saline command enum. +typedef enum Fluid_Bolus_Commands FLUID_BOLUS_CMD_T; ///< Type for fluid bolus command enum. /// Enumeration of ultrafiltration command IDs. enum UF_Commands @@ -416,6 +433,16 @@ }; typedef enum UF_Commands UF_CMD_T; ///< Type for UF command IDs enumeration +/// Enumeration of isolated ultrafiltration command IDs. +enum ISO_UF_Commands +{ + ISO_UF_CMD_PAUSE = 0, ///< Pause isolated UF command + ISO_UF_CMD_RESUME, ///< Resume isolated UF command + ISO_UF_CMD_END, ///< End isolated UF command + NUM_OF_ISO_UF_CMDS ///< Number of isolated UF commands +}; +typedef enum ISO_UF_Commands ISO_UF_CMD_T; ///< Type for isolated UF command IDs enumeration + /// Enumeration of ultrafiltration adjustment option IDs. enum UF_Adjustments { @@ -470,6 +497,7 @@ TREATMENT_PAUSED_RECIRC_BLOOD_ONLY_STATE, ///< Re-circulate Blood only state of the treatment paused sub-mode state machine TREATMENT_PAUSED_NO_RECIRC_STATE, ///< No re-circulation state of the treatment paused sub-mode state machine TREATMENT_PAUSED_RECOVER_BLOOD_DETECT_STATE, ///< Treatment paused recover blood detect state + TREATMENT_PAUSED_FLUID_BOLUS_STATE, ///< Fluid Bolus state of the treatment paused sub-mode state machine NUM_OF_TREATMENT_PAUSED_STATES ///< Number of treatment paused sub-mode states }; /// Type for treatment paused states enumeration. @@ -488,6 +516,7 @@ BLOOD_PRIME_RAMP_STATE = 0, ///< Ramp state of the blood prime sub-mode state machine BLOOD_PRIME_RUN_STATE, ///< Run state of the blood prime sub-mode state machine BLOOD_PRIME_PAUSED_STATE, ///< Paused state of the blood prime sub-mode state machine + BLOOD_PRIME_FLUID_BOLUS_STATE, ///< Fluid Bolus state of the blood prime sub-mode state machine NUM_OF_BLOOD_PRIME_STATES ///< Number of blood prime sub-mode states }; /// Type for treatment end states enumeration. @@ -585,6 +614,7 @@ { TREATMENT_END_WAIT_FOR_RINSEBACK_STATE = 0, ///< Wait for rinseback state of the treatment end sub-mode state machine TREATMENT_END_PAUSED_STATE, ///< Paused state of the treatment end sub-mode state machine + TREATMENT_END_FLUID_BOLUS_STATE, ///< Fluid Bolus state of the treatment end sub-mode state machine NUM_OF_TREATMENT_END_STATES ///< Number of treatment end sub-mode states }; /// Type for treatment end states enumeration. @@ -640,12 +670,29 @@ }; typedef enum Treatment_Params TREATMENT_PARAM_T; ///< Type for treatment parameters enumeration +/// Enumeration of treatment set point parameter indices. +enum Treatment_Setpoint_Params +{ + TREATMENT_SETPOINT_BLOOD_FLOW = 0, ///< Blood flow rate (in mL/min) + TREATMENT_SETPOINT_DIALYSATE_FLOW, ///< Dialysate flow rate (in mL/min) + TREATMENT_SETPOINT_DIALYSATE_TEMPERATURE, ///< Dialysate temperature (in degC) + TREATMENT_SETPOINT_ACID_CONCENTRATE, ///< Acid concentrate type (enum) + TREATMENT_SETPOINT_ACID_CONVERSION_FACTOR, ///< Acid concentrate conversion factor + TREATMENT_SETPOINT_BICARB_CONCENTRATE, ///< Bicarbonate concentrate type (enum) + TREATMENT_SETPOINT_TREATMENT_MODALITY, ///< Treatment modality type (enum) + TREATMENT_SETPOINT_HEPATITIS_STATUS, ///< Hepatitis B status (enum) + TREATMENT_SETPOINT_SODIUM, ///< Sodium concentration (mEq/L) + TREATMENT_SETPOINT_BICARBONATE, ///< Bicarbonate concentration (mEq/L) + NUM_OF_TREATMENT_SETPOINT_PARAMS ///< Total number of treatment set point parameters +}; +typedef enum Treatment_Setpoint_Params TREATMENT_SETPOINT_PARAM_T; ///< Type for treatment set point parameter indices enumeration + /// Enumeration of system configured treatment parameters. enum System_Config_Treatment_Params { TREATMENT_PARAM_ART_PRES_LIMIT_WINDOW = 0, ///< Arterial pressure alarm limit window (in mmHg) - 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_VEN_PRES_HIGH_LIMIT_WINDOW, ///< Venous high pressure alarm limit window (in mmHg) + TREATMENT_PARAM_VEN_PRES_LOW_LIMIT_WINDOW, ///< Venous low pressure alarm limit asymmetric window (in mmHg) TREATMENT_PARAM_TMP_PRES_LIMIT_WINDOW, ///< TMP pressure alarm limit window (in mmHg) TREATMENT_PARAM_RINSEBACK_FLOW_RATE, ///< Rinseback flow rate (in mL/min) TREATMENT_PARAM_PRIME_DISCARD_VOLUME, ///< Prime discard volume (in mL) @@ -661,9 +708,10 @@ /// Enumeration of treatment modality type enum Treatment_Modality_Types { - TREATMENT_MODALITY_HD = 0, ///< Treatment modality Hemodialysis - TREATMENT_MODALITY_HDF, ///< Treatment modality Hemodiafiltration - //TREATMENT_MODALITY_ISOLATED_UF, ///< Treatment modality Isolated UF + TREATMENT_MODALITY_HD_SALINE_FLUID = 0, ///< Treatment modality Hemodialysis with saline fluid + TREATMENT_MODALITY_HDF_ONLINE_FLUID, ///< Treatment modality Hemodiafiltration online fluid + TREATMENT_MODALITY_HD_ONLINE_FLUID, ///< Treatment modality Hemodialysis with online fluid +// TREATMENT_MODALITY_ISOLATED_UF, ///< Treatment modality Isolated UF // TODO uncomment in phase 3 when ISO UF feature is required NUM_OF_TREATMENT_MODALITY_TYPES ///< Total number of treatment modality types }; typedef enum Treatment_Modality_Types TREATMENT_TYPE_T; ///< Type for treatment modality type enumeration @@ -748,7 +796,7 @@ 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 + FLUID_BOLUSES_CHANGE_EVENT, ///< Fluid boluses change 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 @@ -788,6 +836,7 @@ TD_EVENT_INSTIT_RECORD_UPDATE, ///< TD new institutional record has been updated. TD_EVENT_VALVE_POS_CHANGE, ///< TD pinch valve position change TD_EVENT_VALVE_HOMED_POS_SETTING, ///< TD pinch valve homed encoder positions for A/B/C. + TD_EVENT_SYRINGE_PUMP_STATE, ///< TD syringe pump state change event NUM_OF_TD_EVENT_IDS ///< Total number of TD events }; typedef enum TD_Event_List TD_EVENT_ID_T; ///< Type for TD event list enumeration @@ -839,6 +888,28 @@ }; typedef enum Confirmation_Status CONFIRMATION_REQUEST_STATUS_T; +///< Enumeration of tube set types. +enum Tube_Set_Types +{ + TUBE_SET_TYPE_UNKNOWN = 0, ///< Unknown tube set type + TUBE_SET_TYPE_HD, ///< HD tubing set + TUBE_SET_TYPE_HDF, ///< HDF tubing set + NUM_OF_TUBE_SET_TYPES ///< Number of tube set types +}; +///< Type for tube set types enumeration +typedef enum Tube_Set_Types TUBE_SET_TYPE_T; + +///< Enumeration of fluid types +enum Fluid_Types +{ + FLUID_TYPE_UNKNOWN = 0, ///< Unknown fluid type + FLUID_TYPE_SALINE, ///< Saline fluid type + FLUID_TYPE_SUBSTITUTE, ///< Substitution fluid type + NUM_OF_FLUID_TYPES +}; +///< Type for fluid types enumeration +typedef enum Fluid_Types FLUID_TYPE_T; + /**@}*/ #endif