Index: dialin/common/hd_defs.py =================================================================== diff -u -r77f757df822e74058abe3e146f6a8d4c3678e049 -rf4ac9d2d75508ce99de083ec0aa32b057aab3a38 --- dialin/common/hd_defs.py (.../hd_defs.py) (revision 77f757df822e74058abe3e146f6a8d4c3678e049) +++ dialin/common/hd_defs.py (.../hd_defs.py) (revision f4ac9d2d75508ce99de083ec0aa32b057aab3a38) @@ -17,17 +17,16 @@ from ..utils.base import DialinEnum @unique -class HDDefs(DialinEnum): - MODE_FAUL = 0 # Fault mode - MODE_SERV = 1 # Service mode - MODE_INIT = 2 # Initialization & POST mode - MODE_STAN = 3 # Standby mode - MODE_TPAR = 4 # Treatment Parameters mode - MODE_PRET = 5 # Pre-Treatment mode - MODE_TREA = 6 # Treatment mode - MODE_POST = 7 # Post-Treatment mode - MODE_NLEG = 8 # Not legal - an illegale mode transition occurred - NUM_OF_MODES = 9 # Number of HD operation modes +class HDOpModes(DialinEnum): + MODE_FAUL = 0 # Fault mode + MODE_SERV = 1 # Service mode + MODE_INIT = 2 # Initialization & POST mode + MODE_STAN = 3 # Standby mode + MODE_TPAR = 4 # Treatment Parameters mode + MODE_PRET = 5 # Pre-Treatment mode + MODE_TREA = 6 # Treatment mode + MODE_POST = 7 # Post-Treatment mode + NUM_OF_MODES = 8 # Number of HD operation modes @unique class PreTreatmentSubModes(DialinEnum): @@ -104,7 +103,40 @@ PRE_TREATMENT_RECIRC_STATE = 0 PRE_TREATMENT_RECIRC_STOPPED_STATE = 1 +# Heparin states @unique +class HeparinStates(DialinEnum): + HEPARIN_STATE_OFF = 0 # Heparin treatment parameters set to zero or not yet set + HEPARIN_STATE_STOPPED = 1 # Heparin delivery is stopped because treatment paused or not yet started + HEPARIN_STATE_PAUSED = 2 # Heparin delivery is paused by user + HEPARIN_STATE_INITIAL_BOLUS = 3 # Heparin bolus is currently being delivered + HEPARIN_STATE_DISPENSING = 4 # Heparin continuous delivery is in progress + HEPARIN_STATE_COMPLETED = 5 # Heparin delivery is completed + HEPARIN_STATE_EMPTY = 6 # Heparin syringe is empty + +# Syringe pump states +@unique +class SyringePumpStates(DialinEnum): + SYRINGE_PUMP_INIT_STATE = 0 # Syringe pump initialize state + SYRINGE_PUMP_OFF_STATE = 1 # Syringe pump off state + SYRINGE_PUMP_RETRACT_STATE = 2 # Syringe pump retract state + SYRINGE_PUMP_SEEK_STATE = 3 # Syringe pump seek state + SYRINGE_PUMP_PRIME_STATE = 4 # Syringe pump prime state + SYRINGE_PUMP_HEP_BOLUS_STATE = 5 # Syringe pump bolus state + SYRINGE_PUMP_HEP_CONTINUOUS_STATE = 6 # Syringe pump continuous state + SYRINGE_PUMP_CONFIG_FORCE_SENSOR_STATE = 7 # Syringe pump configure force sensor state + +# Syringe pump operations +@unique +class SyringePumpOperations(DialinEnum): + SYRINGE_PUMP_OP_STOP = 0 # Stop syringe pump + SYRINGE_PUMP_OP_RETRACT = 1 # Retract syringe pump + SYRINGE_PUMP_OP_SEEK = 2 # Seek plunger + SYRINGE_PUMP_OP_PRIME = 3 # Prime Heparin line + SYRINGE_PUMP_OP_BOLUS = 4 # Deliver Heparin bolus of set volume over 5 minutes + SYRINGE_PUMP_OP_CONTINUOUS = 5 # Continuous dispense of Heparin at set rate + +@unique class PostTreatmentStates(DialinEnum): HD_POST_TREATMENT_PATIENT_DISCONNECTION_STATE = 0 HD_POST_TREATMENT_DRAIN_RESERVOIRS_STATE = 1 Index: dialin/common/msg_defs.py =================================================================== diff -u -r77f757df822e74058abe3e146f6a8d4c3678e049 -rf4ac9d2d75508ce99de083ec0aa32b057aab3a38 --- dialin/common/msg_defs.py (.../msg_defs.py) (revision 77f757df822e74058abe3e146f6a8d4c3678e049) +++ dialin/common/msg_defs.py (.../msg_defs.py) (revision f4ac9d2d75508ce99de083ec0aa32b057aab3a38) @@ -91,8 +91,8 @@ MSG_ID_UI_PRESSURE_LIMITS_CHANGE_REQUEST = 0x46 # UI request to change pressure limits MSG_ID_HD_PRESSURE_LIMITS_CHANGE_RESPONSE = 0x47 # HD response to change pressure limits request MSG_ID_DG_FANS_DATA = 0x48 # DG broadcast fans data - MSG_ID_HD_CALIBRATION_DATA = 0x49 # HD broadcast calibration data - MSG_ID_DG_CALIBRATION_DATA = 0x4A # DG broadcast calibration data + MSG_ID_HD_TREATMENT_STOP_TIMER_DATA = 0x49 # HD broadcast of treatment stop timer (countdown to treatment stop - no rinseback alarm) + MSG_ID_UI_PATIENT_DISCONNECTION_CONFIRM = 0x4A # UI patient disconnection confirm MSG_ID_UI_HEPARIN_PAUSE_RESUME_REQUEST = 0x4B # UI request to pause/resume Heparin delivery MSG_ID_HD_HEPARIN_PAUSE_RESUME_RESPONSE = 0x4C # HD Heparin Pause/Resume Response MSG_ID_HD_HEPARIN_DATA = 0x4D # HD Broadcast heparin data @@ -123,6 +123,14 @@ MSG_ID_UI_PATIENT_CONNECTION_CONFIRM = 0x66 # UI user has confirmed patient connection completed MSG_ID_HD_PATIENT_CONNECTION_CONFIRM_RESPONSE = 0x67 # HD response to user confirmation of patient connection MSG_ID_UI_CONSUMABLE_INSTALL_CONFIRM = 0x68 # UI user has confirmed consumable install + MSG_ID_HD_SYRINGE_PUMP_DATA = 0x69 # HD broadcast of syringe pump data + MSG_ID_HD_FLUID_LEAK_STATE = 0x6A # HD broadcast of fluid leak state + MSG_ID_DG_FLUID_LEAK_STATE = 0x6B # DG broadcast of fluid leak state + MSG_ID_HD_BLOOD_LEAK_STATE = 0x6C # HD broadcast of blood leak state + MSG_ID_UI_HD_SET_RTC_REQUEST = 0x6D # UI to DG Request to set RTC Request + MSG_ID_HD_UI_SET_RTC_RESPONSE = 0x6E # DG to UI set RTC Response + MSG_ID_UI_DG_SET_RTC_REQUEST = 0x6F # UI to HD request to set RTC Request + MSG_ID_DG_UI_SET_RTC_RESPONSE = 0x70 # HD to UI Set RTC Response MSG_ID_UI_START_TREATMENT_REQUEST = 0x71 # UI user has requested to start treatment MSG_ID_HD_START_TREATMENT_RESPONSE = 0x72 # response to user request to start treatment MSG_ID_UI_DISPOSABLE_REMOVAL_CONFIRM = 0x73 # UI user has confirmed disposable removal @@ -173,9 +181,9 @@ 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_ACCEL_SET_CALIBRATION = 0x802A # HD accelerometer set calibration factors request - MSG_ID_HD_BLOOD_FLOW_SET_CALIBRATION = 0x802B # Blood flow set calibration factors request - MSG_ID_HD_DIALYSATE_FLOW_SET_CALIBRATION = 0x802C # Dialysate flow set calibration factors 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 MSG_ID_HD_VALVES_POSITION_OVERRIDE = 0x802F # Set an HD valve to a position in counts @@ -190,8 +198,8 @@ 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 MSG_ID_SUPER_CLEAR_ALARMS_CMD = 0x803A # Clears all alarms (even if non-recoverable or fault) - MSG_ID_HD_REQUEST_CALIBRATION_DATA = 0x803B # Requests calibration data from HD - MSG_ID_HD_ERASE_CALIBRATION_DATA = 0x803C # Requests calibration data on HD be erased + MSG_ID_HD_SYRINGE_PUMP_MEASURED_FORCE_OVERRIDE = 0x803B # HD syringe pump measured force override request + MSG_ID_HD_SYRINGE_PUMP_SYRINGE_DETECT_OVERRIDE = 0x803C # HD syringe pump measured syringe detection override request MSG_ID_HD_SET_CALIBRATION_RECORD = 0x803D # HD set calibration record that is received from Dialin MSG_ID_HD_GET_CALIBRATION_RECORD = 0x803E # HD get calibration record that is requested from Dialin MSG_ID_HD_SEND_CALIBRATION_RECORD = 0x803F # HD send calibration record to CAN bus to be received in Dialin (equivalent to publish) @@ -202,6 +210,11 @@ MSG_ID_HD_SET_SERVICE_RECORD = 0x8044 # HD set service record that is received from Dialin MSG_ID_HD_SEND_SERVICE_RECORD = 0x8045 # HD send service record to CAN bus to be received in Dialin (equivalent to publish) MSG_ID_HD_SET_OP_MODE_REQUEST = 0x8046 # HD set operation mode request + MSG_ID_HD_FLUID_LEAK_SEND_INTERVAL_OVERRIDE = 0x8047 # HD fluid leak state broadcast interval override request + MSG_ID_HD_FLUID_LEAK_STATE_DETECTOR_OVERRIDE = 0x8048 # HD fluid leak state detector override request + MSG_ID_HD_SYRINGE_PUMP_MEASURED_HOME_OVERRIDE = 0x8049 # HD syringe pump measured home override request + MSG_ID_HD_SYRINGE_PUMP_MEASURED_POSITION_OVERRIDE = 0x804A # HD syringe pump measured position override request + MSG_ID_HD_SYRINGE_PUMP_MEASURED_VOLUME_OVERRIDE = 0x804B # HD syringe pump measured volume delivered override request MSG_ID_DG_TESTER_LOGIN_REQUEST = 0XA000 # DG tester log-in MSG_ID_DG_ALARM_STATE_OVERRIDE = 0xA001 # DG alarm state override message ID @@ -228,7 +241,7 @@ 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_ACCEL_SET_CALIBRATION = 0xA01A # DG accelerometer set calibration factors request + MSG_ID___AVAILABLE_11 = 0xA01A # This msg ID is available for use MSG_ID_RO_PUMP_SET_PWM = 0xA01B # RO pump set PWM for open loop MSG_ID_DRAIN_PUMP_SET_DELTA_PRESSURE_OVERRIDE = 0xA01C # Drain pump set delta pressure override MSG_ID_HEAT_DISINFECT_RECIRC_PATH_DURATION_MINS = 0xA01D # Heat disinfection recirculation path duration in minutes @@ -243,7 +256,7 @@ MSG_ID_CONCENTRATE_PUMP_STATE_CHANGE_REQUEST = 0xA026 # Concentrate pumps' state change request (on / off) MSG_ID_CONCENTRATE_PUMP_PUBLISH_INTERVAL_OVERRIDE = 0xA027 # Concentrate pumps' data publish interval override request MSG_ID_DG_START_STOP_INLET_UV_REACTOR = 0xA028 # DG start/stop inlet UV reactor - MSG_ID_DG_REQUEST_CALIBRATION_DATA = 0xA029 # Requests calibration data from DG + MSG_ID_DG_REQUEST_CALIBRATION_DATA = 0xA029 # Requests calibration_record data from DG MSG_ID_DG_FANS_DATA_PUBLISH_OVERRIDE = 0xA02A # Fans data publish interval override request MSG_ID_DG_START_STOP_OUTLET_UV_REACTOR = 0xA02B # DG start/stop outlet UV reactor MSG_ID_DG_UV_REACTORS_HEALTH_OVERRIDE = 0xA02C # DG UV reactors health override request @@ -253,7 +266,18 @@ 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_RO_PUMP_TARGET_PRESSURE_OVERRIDE = 0xA032 # DG RO pump target pressure override - MSG_ID_DG_SET_CALIBRATION_DATA = 0xA033 # DG set calibration data + MSG_ID_DG_SET_CALIBRATION_RECORD = 0xA033 # DG set calibration_record record + MSG_ID_DG_GET_CALIBRATION_RECORD = 0xA034 # DG get calibration_record record + MSG_ID_DG_SEND_CALIBRATION_RECORD = 0xA035 # DG send calibration_record record from firmware + MSG_ID_DG_SET_SYSTEM_RECORD = 0xA036 # DG send system record + MSG_ID_DG_GET_SYSTEM_RECORD = 0xA037 # DG get system record + MSG_ID_DG_SEND_SYSTEM_RECORD = 0xA038 # DG send system record from firmware + MSG_ID_DG_SET_SERVICE_RECORD = 0xA03A # DG set service record that is sent from Dialin + MSG_ID_DG_GET_SERVICE_RECORD = 0xA039 # DG get service record that is requested from Dialin + MSG_ID_DG_SEND_SERVICE_RECORD = 0xA03B # DG send service record that is requested from Dialin + MSG_ID_DG_GET_SCHEDULED_RUNS_RECORD = 0xA03C # DG get scheduled runs that is requested from Dialin + MSG_ID_DG_SET_SCHEDULED_RUNS_RECORD = 0xA03D # DG set scheduled runs that is received from Dialin + MSG_ID_DG_SEND_SCHEDULED_RUNS_RECORD = 0xA03E # DG send scheduled runs to CAN bus to be received in Dialin (equivalent to publish) 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