Index: leahi_dialin/common/msg_ids.py =================================================================== diff -u -r3e8c15745640db0568536912a36704a567bd73c2 -r0dae30ee2608053ac19508c8a71ead2d2f4518e1 --- leahi_dialin/common/msg_ids.py (.../msg_ids.py) (revision 3e8c15745640db0568536912a36704a567bd73c2) +++ leahi_dialin/common/msg_ids.py (.../msg_ids.py) (revision 0dae30ee2608053ac19508c8a71ead2d2f4518e1) @@ -459,6 +459,9 @@ MSG_ID_DD_MIXING_CONTROL_DATA = 0xA072 MSG_ID_DD_MIXING_CONTROL_DATA_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xA073 MSG_ID_DD_BICART_DEPRESSURISE_REQUEST_OVERRIDE_REQUEST = 0xA074 + MSG_ID_DD_MIXING_BICARB_CONTROL_INTERVAL_OVERRIDE_REQUEST = 0xA076 + MSG_ID_DD_MIXING_ACID_CONTROL_INTERVAL_OVERRIDE_REQUEST = 0xA077 + # Placeholder messages MSG_ID_DD_ALARM_STATE_OVERRIDE_REQUEST = 0xAF03 MSG_ID_DD_STOP_GEN_DIALYSATE_MODE_OVERRIDE_REQUEST = 0xAF04 Index: leahi_dialin/dd/modules/drybicart.py =================================================================== diff -u -r4fc29aead7deff5ba3ddb4c9e1290fc0d5b2b6e8 -r0dae30ee2608053ac19508c8a71ead2d2f4518e1 --- leahi_dialin/dd/modules/drybicart.py (.../drybicart.py) (revision 4fc29aead7deff5ba3ddb4c9e1290fc0d5b2b6e8) +++ leahi_dialin/dd/modules/drybicart.py (.../drybicart.py) (revision 0dae30ee2608053ac19508c8a71ead2d2f4518e1) @@ -54,12 +54,14 @@ self.dd_dry_bicart_timestamp = 0.0 #: The timestamp of the last message self.dd_dry_bicart_fill_execution_state = 0 #: The Dry Bicart fill execution state self.dd_bicarb_chamber_fill_execution_state = 0 #: The Bicarb chamber fill execution state - self.dd_dry_bicart_drain_execution_state = 0 #: The Dry Bicart drain execution state + self.dd_dry_bicart_drain_execution_state = 0 #: The Dry Bicart drain execution state + self.dd_dry_bicart_depressurize_execution_state = 0 #: The Dry Bicart depressurize execution state self.dd_dry_bicart_fill_cycle_counter = 0 #: The Dry Bicart fill cycle counter self.dd_dry_bicart_max_fill_cycle_count = 0 #: The Dry Bicart max fill cycle state self.dd_dry_bicart_fill_request = 0 #: Is fill requested for Dry Bicart or not self.dd_bicarb_chamber_fill_request = 0 #: Is fill requested for Bicarb Chamber or not self.dd_dry_bicart_drain_request = 0 #: Is drain requested for Dry Bicart or not + self.dd_dry_bicart_depressurize_request = 0 #: Is depressurize requested for Dry Bicart or not self.dd_dry_bicart_last_fill_time = 0 #: The Dry Bicart last fill time self.dd_dry_bicart_current_fill_time = 0 #: The Dry Bicart current fill time self.dd_dryBiCartType = 0 #: The Dry Bicart concentrate option index @@ -241,7 +243,7 @@ logger=self.logger, can_interface=self.can_interface) - def cmd_dry_bicart_depressurise_override(self, depressurise: int, reset: int = NO_RESET) -> int: + def cmd_dry_bicart_depressurize_override(self, depressurise: int, reset: int = NO_RESET) -> int: """ Constructs and sends the dry bicart depressurise override command Constraints: @@ -263,3 +265,49 @@ override_text=str(depressurise), logger=self.logger, can_interface=self.can_interface) + + def cmd_dry_bicart_lower_cart_pressure_override(self, lower_cart_pressure: int, reset: int = NO_RESET) -> int: + """ + Constructs and sends the dry bicart lower cart pressure override command + Constraints: + Must be logged into DD. + + @param lower_cart_pressure: int - value for lower cart pressure ( + @return: 1 if successful, zero otherwise + """ + lower_cart_pressure = integer_to_bytearray(lower_cart_pressure) + reset_byte_array = integer_to_bytearray(reset) + payload = reset_byte_array + lower_cart_pressure + + return cmd_generic_override( + payload=payload, + reset=reset, + channel_id=CanChannels.dialin_to_dd_ch_id, + msg_id=MsgIds.MSG_ID_DD_BICART_LOWER_PRESSURE_OVERRIDE_REQUEST, + entity_name='Bicart Lower Cart Pressure', + override_text=str(lower_cart_pressure), + logger=self.logger, + can_interface=self.can_interface) + + def cmd_dry_bicart_upper_cart_pressure_override(self, upper_cart_pressure: int, reset: int = NO_RESET) -> int: + """ + Constructs and sends the dry bicart upper cart pressure override command + Constraints: + Must be logged into DD. + + @param upper_cart_pressure: int - value for upper cart pressure ( + @return: 1 if successful, zero otherwise + """ + upper_cart_pressure = integer_to_bytearray(upper_cart_pressure) + reset_byte_array = integer_to_bytearray(reset) + payload = reset_byte_array + upper_cart_pressure + + return cmd_generic_override( + payload=payload, + reset=reset, + channel_id=CanChannels.dialin_to_dd_ch_id, + msg_id=MsgIds.MSG_ID_DD_BICART_UPPER_PRESSURE_OVERRIDE_REQUEST, + entity_name='Bicart Upper Cart Pressure', + override_text=str(upper_cart_pressure), + logger=self.logger, + can_interface=self.can_interface) Index: leahi_dialin/dd/modules/mixing_cntrl.py =================================================================== diff -u -re412f48fe7363639f8e729d2274501ec02d51aa9 -r0dae30ee2608053ac19508c8a71ead2d2f4518e1 --- leahi_dialin/dd/modules/mixing_cntrl.py (.../mixing_cntrl.py) (revision e412f48fe7363639f8e729d2274501ec02d51aa9) +++ leahi_dialin/dd/modules/mixing_cntrl.py (.../mixing_cntrl.py) (revision 0dae30ee2608053ac19508c8a71ead2d2f4518e1) @@ -347,7 +347,7 @@ Constraints: Must be logged into DD. - @param bicarb_conductivity: float - conductivity value to override target conductivity + @param bicarb_conductivity: float - conductivity value to override bicarb target conductivity @param reset: integer - 1 to reset a previous override, 0 to override @return: 1 if successful, zero otherwise """ @@ -368,11 +368,11 @@ def cmd_mixing_control_bicarb_delta_conductivity_override(self, bicarb_delta_conductivity: float, reset: int = NO_RESET) -> int: """ - Constructs and sends the Mixing Control bicart delta conductivity override command + Constructs and sends the Mixing Control bicarb delta conductivity override command Constraints: Must be logged into DD. - @param bicarb_delta_conductivity: float - bicarb delta conductivity value to override delta conductivity + @param bicarb_delta_conductivity: float - conductivity value to override bicarb delta conductivity @param reset: integer - 1 to reset a previous override, 0 to override @return: 1 if successful, zero otherwise """ @@ -389,3 +389,104 @@ override_text=str(bicarb_delta_conductivity), logger=self.logger, can_interface=self.can_interface) + + + def cmd_mixing_control_dialysate_target_conductivity_override(self, dialysate_conductivity: float, reset: int = NO_RESET) -> int: + """ + Constructs and sends the Mixing Control Dialysate target conductivity override command + Constraints: + Must be logged into DD. + + @param dialysate_conductivity: float - conductivity value to override Dialysate target conductivity + @param reset: integer - 1 to reset a previous override, 0 to override + @return: 1 if successful, zero otherwise + """ + target_conductivity = float_to_bytearray(dialysate_conductivity) + reset_byte_array = integer_to_bytearray(reset) + payload = reset_byte_array + target_conductivity + + return cmd_generic_override( + payload=payload, + reset=reset, + channel_id=CanChannels.dialin_to_dd_ch_id, + msg_id=MsgIds.MSG_ID_DD_BICARB_TARGET_CONDUCTIVITY_OVERRIDE_REQUEST, + entity_name='DD Dialysate Target Conductivity', + override_text=str(dialysate_conductivity), + logger=self.logger, + can_interface=self.can_interface) + + + def cmd_mixing_control_dialysate_delta_conductivity_override(self, dialysate_delta_conductivity: float, reset: int = NO_RESET) -> int: + """ + Constructs and sends the Mixing Control dialysate delta conductivity override command + Constraints: + Must be logged into DD. + + @param dialysate_delta_conductivity: float - conductivity value to override dialysate delta conductivity + @param reset: integer - 1 to reset a previous override, 0 to override + @return: 1 if successful, zero otherwise + """ + delta_conductivity = float_to_bytearray(dialysate_delta_conductivity) + reset_byte_array = integer_to_bytearray(reset) + payload = reset_byte_array + delta_conductivity + + return cmd_generic_override( + payload=payload, + reset=reset, + channel_id=CanChannels.dialin_to_dd_ch_id, + msg_id=MsgIds.MSG_ID_DD_BICARB_DELTA_CONDUCTIVITY_OVERRIDE_REQUEST, + entity_name='DD Dialysate Delta Conductivity', + override_text=str(dialysate_delta_conductivity), + logger=self.logger, + can_interface=self.can_interface) + + +def cmd_mixing_control_bicarb_volume_control_interval_override(self, bicarb_volume_control_interval: float, + reset: int = NO_RESET) -> int: + """ + Constructs and sends the Mixing Control bicarb volume control interval override command + Constraints: + Must be logged into DD. + + @param bicarb_volume_control_interval: float - bicarb volume control interval to override + @param reset: integer - 1 to reset a previous override, 0 to override + @return: 1 if successful, zero otherwise + """ + control_interval = float_to_bytearray(bicarb_volume_control_interval) + reset_byte_array = integer_to_bytearray(reset) + payload = reset_byte_array + control_interval + + return cmd_generic_override( + payload=payload, + reset=reset, + channel_id=CanChannels.dialin_to_dd_ch_id, + msg_id=MsgIds.MSG_ID_DD_MIXING_BICARB_CONTROL_INTERVAL_OVERRIDE_REQUEST, + entity_name='DD Bicarb Volume Control Interval', + override_text=str(bicarb_volume_control_interval), + logger=self.logger, + can_interface=self.can_interface) + +def cmd_mixing_control_acid_volume_control_interval_override(self, acid_volume_control_interval: float, + reset: int = NO_RESET) -> int: + """ + Constructs and sends the Mixing Control acid volume control interval override command + Constraints: + Must be logged into DD. + + @param acid_volume_control_interval: float - acid volume control interval to override + @param reset: integer - 1 to reset a previous override, 0 to override + @return: 1 if successful, zero otherwise + """ + control_interval = float_to_bytearray(acid_volume_control_interval) + reset_byte_array = integer_to_bytearray(reset) + payload = reset_byte_array + control_interval + + return cmd_generic_override( + payload=payload, + reset=reset, + channel_id=CanChannels.dialin_to_dd_ch_id, + msg_id=MsgIds.MSG_ID_DD_MIXING_ACID_CONTROL_INTERVAL_OVERRIDE_REQUEST, + entity_name='DD Acid Volume Control Interval', + override_text=str(acid_volume_control_interval), + logger=self.logger, + can_interface=self.can_interface)