Index: dialin/hd/alarms.py =================================================================== diff -u -r7599f1d9d052276275cd79bdae626e706539044d -rde84f2977320059c68913d3cd6bbeb7837433c0c --- dialin/hd/alarms.py (.../alarms.py) (revision 7599f1d9d052276275cd79bdae626e706539044d) +++ dialin/hd/alarms.py (.../alarms.py) (revision de84f2977320059c68913d3cd6bbeb7837433c0c) @@ -288,6 +288,10 @@ def cmd_alarm_state_override(self, state, alarm, reset=NO_RESET): """ Constructs and sends the alarm state override command + Constraints: + Must be logged into HD. + Given alarm must be valid. + If inactivating alarm, given alarm must be recoverable (clearable). @param state: integer - 1 for alarm active, 0 for alarm inactive @param alarm: integer - ID of alarm to override @@ -321,6 +325,9 @@ def cmd_alarm_time_override(self, time_ms, alarm, reset=NO_RESET): """ Constructs and sends the alarm time override command + Constraints: + Must be logged into HD. + Given alarm must be valid. @param time_ms: integer - time (in ms) since alarm was activated @param alarm: integer - ID of alarm to override @@ -360,6 +367,9 @@ def cmd_alarm_lamp_pattern_override(self, pattern, reset=NO_RESET): """ Constructs and sends the alarm lamp pattern override command. + Constraints: + Must be logged into HD. + Given pattern must be one of the patterns listed below. @param pattern: integer - ID of alarm lamp pattern to override with @param reset: integer - 1 to reset a previous override, 0 to override Index: dialin/hd/blood_flow.py =================================================================== diff -u -rae1e423f7cf68432e1e3daf01b50a162de4563e4 -rde84f2977320059c68913d3cd6bbeb7837433c0c --- dialin/hd/blood_flow.py (.../blood_flow.py) (revision ae1e423f7cf68432e1e3daf01b50a162de4563e4) +++ dialin/hd/blood_flow.py (.../blood_flow.py) (revision de84f2977320059c68913d3cd6bbeb7837433c0c) @@ -178,6 +178,9 @@ def cmd_blood_flow_set_point_override(self, flow, reset=NO_RESET): """ Constructs and sends the blood flow set point override command + Constraints: + Must be logged into HD. + Given flow rate must be valid (<= 500 mL/min). @param flow: integer - flow set point (in mL/min) to override with (negative for reverse direction) @param reset: integer - 1 to reset a previous override, 0 to override @@ -216,6 +219,8 @@ def cmd_blood_flow_measured_override(self, flow, reset=NO_RESET): """ Constructs and sends the measured blood flow override command + Constraints: + Must be logged into HD. @param flow: integer - measured flow (in mL/min) to override with @param reset: integer - 1 to reset a previous override, 0 to override @@ -254,6 +259,8 @@ """ Constructs and sends the measured blood pump motor controller speed \n override command. + Constraints: + Must be logged into HD. @param speed: integer - speed (in RPM) to override with @param reset: integer - 1 to reset a previous override, 0 to override @@ -291,6 +298,8 @@ def cmd_blood_pump_measured_current_override(self, curr, reset=NO_RESET): """ Constructs and sends the measured blood pump motor current override command + Constraints: + Must be logged into HD. @param curr: float - current (in mA) to override with @param reset: integer - 1 to reset a previous override, 0 to override @@ -329,6 +338,8 @@ """ Constructs and sends the measured blood pump motor speed override \n command. + Constraints: + Must be logged into HD. @param speed: integer - speed (in RPM) to override with @param reset: integer - 1 to reset a previous override, 0 to override @@ -365,12 +376,14 @@ def cmd_blood_pump_rotor_measured_speed_override(self, speed, reset=NO_RESET): """ - Constructs and sends the measured blood pump rotor speed override \n - command. + Constructs and sends the measured blood pump rotor speed override \n + command. + Constraints: + Must be logged into HD. - @param speed: integer - speed (in RPM) to override with - @param reset: integer - 1 to reset a previous override, 0 to override - @return: 1 if successful, zero otherwise + @param speed: integer - speed (in RPM) to override with + @param reset: integer - 1 to reset a previous override, 0 to override + @return: 1 if successful, zero otherwise """ rst = integer_to_bytearray(reset) @@ -404,6 +417,9 @@ def cmd_blood_flow_broadcast_interval_override(self, ms, reset=NO_RESET): """ Constructs and sends the measured blood flow broadcast interval override command + Constraints: + Must be logged into HD. + Given interval must be non-zero and a multiple of the HD priority task interval (10 ms). @param ms: integer - interval (in ms) to override with @param reset: integer - 1 to reset a previous override, 0 to override Index: dialin/hd/buttons.py =================================================================== diff -u -rca7f6eff65d988c19ccce8cde5efd1ef537e2095 -rde84f2977320059c68913d3cd6bbeb7837433c0c --- dialin/hd/buttons.py (.../buttons.py) (revision ca7f6eff65d988c19ccce8cde5efd1ef537e2095) +++ dialin/hd/buttons.py (.../buttons.py) (revision de84f2977320059c68913d3cd6bbeb7837433c0c) @@ -44,6 +44,9 @@ """ Constructs and sends the Off button override command See HD/App/Controllers/Buttons.c + Constraints: + Must be logged into HD. + Given state must be a 0 or 1. @param state: integer - 1 to override off button to "pressed", 0 to "released" @param reset: integer - 1 to reset a previous override, 0 to override @@ -82,6 +85,9 @@ """ Constructs and sends the Stop button override command See HD/App/Controllers/Buttons.c + Constraints: + Must be logged into HD. + Given state must be a 0 or 1. @param state: integer - 1 to override stop button to "pressed", 0 to "released" @param reset: integer - 1 to reset a previous override, 0 to override Index: dialin/hd/dialysate_inlet_flow.py =================================================================== diff -u -rae1e423f7cf68432e1e3daf01b50a162de4563e4 -rde84f2977320059c68913d3cd6bbeb7837433c0c --- dialin/hd/dialysate_inlet_flow.py (.../dialysate_inlet_flow.py) (revision ae1e423f7cf68432e1e3daf01b50a162de4563e4) +++ dialin/hd/dialysate_inlet_flow.py (.../dialysate_inlet_flow.py) (revision de84f2977320059c68913d3cd6bbeb7837433c0c) @@ -175,11 +175,14 @@ def cmd_dialysate_inlet_flow_set_point_override(self, flow, reset=NO_RESET): """ - Constructs and sends the dialysate flow set point override command + Constructs and sends the dialysate flow set point override command + Constraints: + Must be logged into HD. + Given flow must be valid (<= 600 mL/min). - @param flow: integer - flow set point (in mL/min) to override with - @param reset: integer - 1 to reset a previous override, 0 to override - @return: 1 if successful, zero otherwise + @param flow: integer - flow set point (in mL/min) to override with + @param reset: integer - 1 to reset a previous override, 0 to override + @return: 1 if successful, zero otherwise """ rst = integer_to_bytearray(reset) @@ -213,11 +216,13 @@ def cmd_dialysate_inlet_flow_measured_override(self, flow, reset=NO_RESET): """ - Constructs and sends the measured dialysate flow override command + Constructs and sends the measured dialysate flow override command + Constraints: + Must be logged into HD. - @param flow: integer - measured flow (in mL/min) to override with - @param reset: integer - 1 to reset a previous override, 0 to override - @return: 1 if successful, zero otherwise + @param flow: integer - measured flow (in mL/min) to override with + @param reset: integer - 1 to reset a previous override, 0 to override + @return: 1 if successful, zero otherwise """ rst = integer_to_bytearray(reset) @@ -250,12 +255,14 @@ def cmd_dialysate_inlet_pump_mc_measured_speed_override(self, speed, reset=NO_RESET): """ - Constructs and sends the measured dialysate inlet pump motor controller speed \n - override command. + Constructs and sends the measured dialysate inlet pump motor controller speed \n + override command. + Constraints: + Must be logged into HD. - @param speed: integer - speed (in RPM) to override with - @param reset: integer - 1 to reset a previous override, 0 to override - @return: 1 if successful, zero otherwise + @param speed: integer - speed (in RPM) to override with + @param reset: integer - 1 to reset a previous override, 0 to override + @return: 1 if successful, zero otherwise """ rst = integer_to_bytearray(reset) @@ -288,11 +295,13 @@ def cmd_dialysate_inlet_pump_measured_current_override(self, curr, reset=NO_RESET): """ - Constructs and sends the measured dialysate inlet pump motor current override command + Constructs and sends the measured dialysate inlet pump motor current override command + Constraints: + Must be logged into HD. - @param curr: integer - current (in mA) to override with - @param reset: integer - 1 to reset a previous override, 0 to override - @return: 1 if successful, zero otherwise + @param curr: integer - current (in mA) to override with + @param reset: integer - 1 to reset a previous override, 0 to override + @return: 1 if successful, zero otherwise """ rst = integer_to_bytearray(reset) @@ -325,12 +334,14 @@ def cmd_dialysate_inlet_pump_measured_speed_override(self, speed, reset=NO_RESET): """ - Constructs and sends the measured dialysate inlet pump motor speed override \n - command. + Constructs and sends the measured dialysate inlet pump motor speed override \n + command. + Constraints: + Must be logged into HD. - @param speed: integer - speed (in RPM) to override with - @param reset: integer - 1 to reset a previous override, 0 to override - @return: 1 if successful, zero otherwise + @param speed: integer - speed (in RPM) to override with + @param reset: integer - 1 to reset a previous override, 0 to override + @return: 1 if successful, zero otherwise """ rst = integer_to_bytearray(reset) @@ -363,12 +374,14 @@ def cmd_dialysate_inlet_pump_rotor_measured_speed_override(self, speed, reset=NO_RESET): """ - Constructs and sends the measured dialysate inlet pump rotor speed override \n - command. + Constructs and sends the measured dialysate inlet pump rotor speed override \n + command. + Constraints: + Must be logged into HD. - @param speed: integer - speed (in RPM) to override with - @param reset: integer - 1 to reset a previous override, 0 to override - @return: 1 if successful, zero otherwise + @param speed: integer - speed (in RPM) to override with + @param reset: integer - 1 to reset a previous override, 0 to override + @return: 1 if successful, zero otherwise """ rst = integer_to_bytearray(reset) @@ -401,11 +414,14 @@ def cmd_dialysate_inlet_flow_broadcast_interval_override(self, ms, reset=NO_RESET): """ - Constructs and sends the measured dialysate inlet flow broadcast interval override command + Constructs and sends the measured dialysate inlet flow broadcast interval override command + Constraints: + Must be logged into HD. + Given interval must be non-zero and a multiple of the HD priority task interval (10 ms). - @param ms: integer - interval (in ms) to override with - @param reset: integer - 1 to reset a previous override, 0 to override - @return: 1 if successful, zero otherwise + @param ms: integer - interval (in ms) to override with + @param reset: integer - 1 to reset a previous override, 0 to override + @return: 1 if successful, zero otherwise """ rst = integer_to_bytearray(reset) Index: dialin/hd/dialysate_outlet_flow.py =================================================================== diff -u -rae1e423f7cf68432e1e3daf01b50a162de4563e4 -rde84f2977320059c68913d3cd6bbeb7837433c0c --- dialin/hd/dialysate_outlet_flow.py (.../dialysate_outlet_flow.py) (revision ae1e423f7cf68432e1e3daf01b50a162de4563e4) +++ dialin/hd/dialysate_outlet_flow.py (.../dialysate_outlet_flow.py) (revision de84f2977320059c68913d3cd6bbeb7837433c0c) @@ -174,6 +174,8 @@ def cmd_dialysate_outlet_reference_uf_volume_override(self, refvol, reset=NO_RESET): """ Constructs and sends the UF reference volume override command + Constraints: + Must be logged into HD. @param refvol: float - reference UF volume (in mL) to override with @param reset: integer - 1 to reset a previous override, 0 to override @@ -212,6 +214,8 @@ def cmd_dialysate_outlet_measured_uf_volume_override(self, measvol, reset=NO_RESET): """ Constructs and sends the measured UF volume override command + Constraints: + Must be logged into HD. @param measvol: float - measured UF volume (in mL) to override with @param reset: integer - 1 to reset a previous override, 0 to override @@ -248,12 +252,14 @@ def cmd_dialysate_outlet_pump_mc_measured_speed_override(self, speed, reset=NO_RESET): """ - Constructs and sends the measured dialysate outlet pump motor controller speed \n - override command. + Constructs and sends the measured dialysate outlet pump motor controller speed \n + override command. + Constraints: + Must be logged into HD. - @param speed: float - speed (in RPM) to override with - @param reset: integer - 1 to reset a previous override, 0 to override - @return: 1 if successful, zero otherwise + @param speed: float - speed (in RPM) to override with + @param reset: integer - 1 to reset a previous override, 0 to override + @return: 1 if successful, zero otherwise """ rst = integer_to_bytearray(reset) @@ -287,6 +293,8 @@ def cmd_dialysate_outlet_pump_measured_current_override(self, curr, reset=NO_RESET): """ Constructs and sends the measured dialysate outlet pump motor current override command + Constraints: + Must be logged into HD. @param curr: float - current (in mA) to override with @param reset: integer - 1 to reset a previous override, 0 to override @@ -325,6 +333,8 @@ """ Constructs and sends the measured dialysate outlet pump motor speed override \n command. + Constraints: + Must be logged into HD. @param speed: float - speed (in RPM) to override with @param reset: integer - 1 to reset a previous override, 0 to override @@ -363,6 +373,8 @@ """ Constructs and sends the measured dialysate outlet pump rotor speed override \n command. + Constraints: + Must be logged into HD. @param speed: float - speed (in RPM) to override with @param reset: integer - 1 to reset a previous override, 0 to override @@ -400,6 +412,9 @@ def cmd_dialysate_outlet_flow_broadcast_interval_override(self, ms, reset=NO_RESET): """ Constructs and sends the measured dialysate outlet flow broadcast interval override command + Constraints: + Must be logged into HD. + Given interval must be non-zero and a multiple of the HD priority task interval (10 ms). @param ms: integer - interval (in ms) to override with @param reset: integer - 1 to reset a previous override, 0 to override @@ -437,6 +452,9 @@ def cmd_dialysate_outlet_pump_load_cell_weight_override(self, weight, sensor, reset=NO_RESET): """ Constructs and sends the measured load cell weight override command. + Constraints: + Must be logged into HD. + Given sensor must be one of the sensors listed below. @param weight: float - weight (in g) to override with @param sensor: integer - ID of load cell to override Index: dialin/hd/hemodialysis_device.py =================================================================== diff -u -r5d58d1eeb80237a7cafbb31bc800cb29e19615e0 -rde84f2977320059c68913d3cd6bbeb7837433c0c --- dialin/hd/hemodialysis_device.py (.../hemodialysis_device.py) (revision 5d58d1eeb80237a7cafbb31bc800cb29e19615e0) +++ dialin/hd/hemodialysis_device.py (.../hemodialysis_device.py) (revision de84f2977320059c68913d3cd6bbeb7837433c0c) @@ -154,20 +154,31 @@ print("Login Timeout!!!!") return False - def cmd_hd_safety_shutdown_override(self): + def cmd_hd_safety_shutdown_override(self, active=True, reset=NO_RESET): """ Constructs and sends an HD safety shutdown override command via CAN bus. + Constraints: + Must be logged into HD. \returns response message if received, False if no response received - @param msg: byte array - properly formatted HD message to insert - + @param active: boolean - True to activate safety shutdown, False to deactivate + @param reset: integer - 1 to reset a previous override, 0 to override @return: 1 if successful, zero otherwise """ + if active: + sft=1 + else: + sft=0 + rst = integer_to_bytearray(reset) + saf = integer_to_bytearray(sft) + payload = rst + saf + message = DenaliMessage.build_message(channel_id=DenaliChannels.dialin_to_hd_ch_id, - message_id=self.MSG_ID_HD_SAFETY_SHUTDOWN_OVERRIDE) + message_id=self.MSG_ID_HD_SAFETY_SHUTDOWN_OVERRIDE, + payload=payload) print("overriding HD safety shutdown") Index: dialin/hd/pressure_occlusion.py =================================================================== diff -u -rca7f6eff65d988c19ccce8cde5efd1ef537e2095 -rde84f2977320059c68913d3cd6bbeb7837433c0c --- dialin/hd/pressure_occlusion.py (.../pressure_occlusion.py) (revision ca7f6eff65d988c19ccce8cde5efd1ef537e2095) +++ dialin/hd/pressure_occlusion.py (.../pressure_occlusion.py) (revision de84f2977320059c68913d3cd6bbeb7837433c0c) @@ -144,6 +144,8 @@ def cmd_arterial_pressure_measured_override(self, pres, reset=NO_RESET): """ Constructs and sends the measured arterial pressure override command + Constraints: + Must be logged into HD. @param pres: float - measured arterial pressure (in mmHg) to override with @param reset: integer - 1 to reset a previous override, 0 to override @@ -181,6 +183,8 @@ """ Constructs and sends the measured venous pressure \n override command. + Constraints: + Must be logged into HD. @param pres: float - venous pressure (in mmHg) to override with @param reset: integer - 1 to reset a previous override, 0 to override @@ -217,6 +221,8 @@ def cmd_blood_pump_measured_occlusion_override(self, occl, reset=NO_RESET): """ Constructs and sends the measured blood pump occlusion pressure override command + Constraints: + Must be logged into HD. @param occl: float - pressure (in mmHg) to override with @param reset: integer - 1 to reset a previous override, 0 to override @@ -254,6 +260,8 @@ """ Constructs and sends the measured dialysate inlet pump occlusion pressure override \n command. + Constraints: + Must be logged into HD. @param occl: float - pressure (in mmHg) to override with @param reset: integer - 1 to reset a previous override, 0 to override @@ -291,6 +299,8 @@ """ Constructs and sends the measured dialysate outlet pump occlusion pressure override \n command. + Constraints: + Must be logged into HD. @param occl: float - pressure (in mmHg) to override with @param reset: integer - 1 to reset a previous override, 0 to override @@ -327,6 +337,9 @@ def cmd_pressure_occlusion_broadcast_interval_override(self, ms, reset=NO_RESET): """ Constructs and sends the pressure/occlusion broadcast interval override command + Constraints: + Must be logged into HD. + Given interval must be non-zero and a multiple of the DG general task interval (50 ms). @param ms: integer - interval (in ms) to override with @param reset: integer - 1 to reset a previous override, 0 to override Index: dialin/hd/watchdog.py =================================================================== diff -u -rca7f6eff65d988c19ccce8cde5efd1ef537e2095 -rde84f2977320059c68913d3cd6bbeb7837433c0c --- dialin/hd/watchdog.py (.../watchdog.py) (revision ca7f6eff65d988c19ccce8cde5efd1ef537e2095) +++ dialin/hd/watchdog.py (.../watchdog.py) (revision de84f2977320059c68913d3cd6bbeb7837433c0c) @@ -42,6 +42,10 @@ def cmd_watchdog_task_check_in_override(self, state, task, reset=NO_RESET): """ Constructs and sends the watchdog task check-in override command + Constraints: + Must be logged into HD. + Given task must be valid. + Given state must be a 0 or 1. @param state: integer - 1 for task checked in, 0 for task not checked in @param task: integer - ID of task to override