Index: HDDefs.h =================================================================== diff -u -r65f127cc7574a46ab0cc1036d92a0b082d3aa83b -r9c2c83abdb0d088cd8c01eeb302107020c5cfeb3 --- HDDefs.h (.../HDDefs.h) (revision 65f127cc7574a46ab0cc1036d92a0b082d3aa83b) +++ HDDefs.h (.../HDDefs.h) (revision 9c2c83abdb0d088cd8c01eeb302107020c5cfeb3) @@ -28,18 +28,18 @@ /// 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 illegale mode transition occurred - NUM_OF_MODES ///< Number of HD operation 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 illegale mode transition occurred + NUM_OF_MODES ///< Number of HD operation modes }; -typedef enum HD_Op_Modes HD_OP_MODE_T; +typedef enum HD_Op_Modes HD_OP_MODE_T; ///< Type for HD operation modes enumeration /**@}*/ @@ -66,7 +66,7 @@ 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; +typedef enum HD_POST_States HD_POST_STATE_T; ///< Type for HD POST states enumeration /**@}*/ @@ -81,7 +81,7 @@ 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; +typedef enum HD_Fault_States HD_FAULT_STATE_T; ///< Type for HD fault states enumeration /**@}*/ @@ -94,14 +94,14 @@ enum HD_Standby_States { STANDBY_START_STATE = 0, ///< Start standby - STANDBY_FLUSH_DG_LINES_STATE, ///< - STANDBY_DRAIN_RESERVOIR_STATE, ///< - STANDBY_WAIT_FOR_PRIME_STATE, ///< - STANDBY_FILL_RESERVOIR_STATE, ///< - STANDBY_WAIT_FOR_TREATMENT_STATE, ///< + STANDBY_FLUSH_DG_LINES_STATE, ///< Flush DG lines + STANDBY_DRAIN_RESERVOIR_STATE, ///< Drain reservoirs + STANDBY_WAIT_FOR_PRIME_STATE, ///< Wait for prime + STANDBY_FILL_RESERVOIR_STATE, ///< Fill reservoir + STANDBY_WAIT_FOR_TREATMENT_STATE, ///< Wait for treatment NUM_OF_STANDBY_STATES ///< Number of standby states (sub-modes) }; -typedef enum HD_Standby_States HD_STANDBY_STATE_T; +typedef enum HD_Standby_States HD_STANDBY_STATE_T; ///< Type for HD standby states enumeration /**@}*/ @@ -113,12 +113,12 @@ /// 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 + 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; +typedef enum HD_Treatment_Parameters_Mode_States HD_TREATMENT_PARAMS_MODE_STATE_T; ///< Type for HD treatment parameters mode states enumeration /**@}*/ @@ -130,10 +130,10 @@ /// Enumeration of pre-treatment mode states. enum HD_Pre_Treatment_Mode_States { - HD_PRE_TREATMENT_STATE_START = 0, ///< Start pre-treatment mode state - NUM_OF_HD_PRE_TREATMENT_STATES ///< Number of pre-treatment mode states + HD_PRE_TREATMENT_STATE_START = 0, ///< Start pre-treatment mode state + 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; +typedef enum HD_Pre_Treatment_Mode_States HD_PRE_TREATMENT_MODE_STATE_T; ///< Type for HD pre-treatment mode states enumeration /**@}*/ @@ -145,20 +145,20 @@ /// Sub-mode states while in treatment mode enum Treatment_States { - TREATMENT_START_STATE = 0, ///< Start treatment, prime blood side with gradual ramp for 1 min. while dialyzer is bypassed. No dialysis or UF taking place. - 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_RINSEBACK_PAUSE_STATE, ///< Rinseback paused. Blood pump off. Dialyzer bypassed. Dialysate recirculating. - TREATMENT_RECIRC_SETUP_STATE, ///< Rinseback complete. Blood pump off. Blood lines closed. User to disconnect and shunt blood lines. - TREATMENT_RECIRC_STATE, ///< Recirculate saline and dialysate while patient disconnected. Blood lines open and shunted. Dialyzer is bypassed. - TREATMENT_RECIRC_PAUSE_STATE, ///< Recirculate paused. Blood pump off. Blood lines closed and shunted. Dialyzer is bypassed. - TREATMENT_RECIRC_STOP_STATE, ///< Recirculate stopped. Blood pump off. Blood lines open. Waiting for patient to unshunt and connect and resume treatment. - TREATMENT_DIALYSIS_END_STATE, ///< Dialysis has ended. Blood pump slowed. Dialyzer is bypassed. Dialysate is recirculated. User can rinseback. - TREATMENT_END_STATE, ///< Treatment has ended. All pumps off. Dialyzer is bypassed. Blood lines are closed. User to disconnect. - NUM_OF_TREATMENT_STATES ///< Number of treatment states (sub-modes). + TREATMENT_START_STATE = 0, ///< Start treatment, prime blood side with gradual ramp for 1 min. while dialyzer is bypassed. No dialysis or UF taking place + 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_RINSEBACK_PAUSE_STATE, ///< Rinseback paused. Blood pump off. Dialyzer bypassed. Dialysate recirculating + TREATMENT_RECIRC_SETUP_STATE, ///< Rinseback complete. Blood pump off. Blood lines closed. User to disconnect and shunt blood lines + TREATMENT_RECIRC_STATE, ///< Recirculate saline and dialysate while patient disconnected. Blood lines open and shunted. Dialyzer is bypassed + TREATMENT_RECIRC_PAUSE_STATE, ///< Recirculate paused. Blood pump off. Blood lines closed and shunted. Dialyzer is bypassed + TREATMENT_RECIRC_STOP_STATE, ///< Recirculate stopped. Blood pump off. Blood lines open. Waiting for patient to unshunt and connect and resume treatment + TREATMENT_DIALYSIS_END_STATE, ///< Dialysis has ended. Blood pump slowed. Dialyzer is bypassed. Dialysate is recirculated. User can rinseback + TREATMENT_END_STATE, ///< Treatment has ended. All pumps off. Dialyzer is bypassed. Blood lines are closed. User to disconnect + NUM_OF_TREATMENT_STATES ///< Number of treatment states (sub-modes) }; -typedef enum Treatment_States TREATMENT_STATE_T; +typedef enum Treatment_States TREATMENT_STATE_T; ///< Type for treatment states enumeration /**@}*/ @@ -170,10 +170,10 @@ /// Enumeration of post-treatment mode states. enum HD_Post_Treatment_Mode_States { - HD_POST_TREATMENT_STATE_START = 0, ///< Start post-treatment mode state - NUM_OF_HD_POST_TREATMENT_STATES ///< Number of post-treatment mode states + HD_POST_TREATMENT_STATE_START = 0, ///< Start post-treatment mode 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; +typedef enum HD_Post_Treatment_Mode_States HD_POST_TREATMENT_STATE_T; ///< Type for HD post treatment mode states enumeration /**@}*/ @@ -188,7 +188,7 @@ 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; +typedef enum HD_Service_States HD_SERVICE_STATE_T; ///< Type for HD services states enumeration /**@}*/ @@ -202,10 +202,10 @@ { 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_SOLUTION_INFUSION_STATE, ///< Solution infusion 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; +typedef enum Dialysis_States DIALYSIS_STATE_T; ///< Type for dialysis states enumeration /// Enumeration of ultrafiltration states. enum UF_States @@ -217,26 +217,102 @@ UF_COMPLETED_STATE, ///< Completed state of ultrafiltration state machine NUM_OF_UF_STATES ///< Number of ultrafiltration states }; -typedef enum UF_States UF_STATE_T; +typedef enum UF_States UF_STATE_T; ///< Type for ultrafiltration states enumeration + +/// Enumeration of saline bolus states. +enum Saline_Bolus_States +{ + SALINE_BOLUS_STATE_IDLE = 0, ///< No saline bolus delivery is in progress + SALINE_BOLUS_STATE_IN_PROGRESS, ///< A saline bolus delivery is in progress + 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 -/// Enumeration of system message IDs. +/// 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; +typedef enum UF_Commands UF_CMD_T; ///< Type for UF command IDs enumeration -/// Enumeration of system message IDs. +/// 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; +typedef enum UF_Adjustments UF_ADJ_T; ///< Type for UF adjustments IDs enumeration +/**@}*/ + +/** + * @addtogroup HDTreatmentParamsMode + * @{ + */ + +/// Enumeration of treatment parameters. +enum Treatment_Params +{ + TREATMENT_PARAM_BLOOD_FLOW = 0, ///< Blood flow rate (in mL/min) + TREATMENT_PARAM_FIRST_UINT = TREATMENT_PARAM_BLOOD_FLOW, ///< First unsigned integer treatment parameter + TREATMENT_PARAM_DIALYSATE_FLOW, ///< Dialysate flow rate (in mL/min) + TREATMENT_PARAM_TREATMENT_DURATION, ///< Treatment duration (in minutes) + TREATMENT_PARAM_HEPARIN_PRE_STOP_TIME, ///< Heparin pre-stop time (in minutes) + TREATMENT_PARAM_SALINE_BOLUS_VOLUME, ///< Saline bolus volume (in mL) + 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_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_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) + TREATMENT_PARAM_DIALYSATE_TEMPERATURE, ///< Dialysate temperature (in degC) + TREATMENT_PARAM_UF_VOLUME, ///< Ultrafiltration volume (in liters) - provided separately by UI + NUM_OF_TREATMENT_PARAMS ///< Total number of treatment parameters +}; +typedef enum Treatment_Params TREATMENT_PARAM_T; ///< Type for treatment parameters enumeration + +/// Enumeration of dialyzer types. +enum Dialyzer_Types +{ + DIALYZER_TYPE_NIPRO_ELISIO_H_17 = 0, ///< Nipro Elisio H17 dialyzer + DIALYZER_TYPE_NIPRO_ELISIO_H_19, ///< Nipro Elisio H19 dialyzer + DIALYZER_TYPE_FRESENIUS_OPTIFLUX_F160NRE, ///< Fresenius Optiflux F160NRe + DIALYZER_TYPE_FRESENIUS_OPTIFLUX_F180NRE, ///< Fresenius Optiflux F180NRe + NUM_OF_DIALYZER_TYPES ///< Number of dialyzer types +}; +typedef enum Dialyzer_Types DIALYZER_TYPE_T; ///< Type for dialyzer types enumeration + +/// Enumeration of acid concentrates. +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 + NUM_OF_ACID_CONC_TYPES ///< Number of acid concentrates +}; +typedef enum Acid_Concentrates ACID_CONCENTRATE_TYPE_T; ///< Type for acid concentrates enumeration + +/// Enumeration of bicarbonate concentrates. +enum Bicarb_Concentrates +{ + BICARB_CONC_TYPE_FRESENIUS_CENTRISOL = 0, ///< Fresenius Centrisol Liquid Bicarbonate + NUM_OF_BICARB_CONC_TYPES ///< Number of bicarbonate concentrates +}; +typedef enum Bicarb_Concentrates BICARB_CONCENTRATE_TYPE_T; ///< Type for bicarbonate concentrates enumeration + /**@}*/ #endif