Index: leahi_dialin/common/dd_defs.py =================================================================== diff -u -r956757fac807b52aec078e84127089db5dff069f -r6dcbbc4df1069665696caea1cb96cbc163ae69b0 --- leahi_dialin/common/dd_defs.py (.../dd_defs.py) (revision 956757fac807b52aec078e84127089db5dff069f) +++ leahi_dialin/common/dd_defs.py (.../dd_defs.py) (revision 6dcbbc4df1069665696caea1cb96cbc163ae69b0) @@ -128,6 +128,20 @@ NUM_OF_BAL_CHAMBER_SW = 2 # Number of balancing chamber states @unique +class BloodLeakStates(DialinEnum): + """ + DD blood leak embedded mode state machine states + """ + BLOOD_LEAK_WAIT_FOR_POST_STATE = 0 + BLOOD_LEAK_CHECK_SET_POINT_STATE = 1 + BLOOD_LEAK_INIT_STATE = 2 + BLOOD_LEAK_CHECK_ZERO_AND_SELF_TEST_STATE = 3 + BLOOD_LEAK_VERIFY_INTENSITY_AFTER_ZEROING_STATE = 4 + BLOOD_LEAK_NORMAL_STATE = 5 + BLOOD_LEAK_RECOVER_BLOOD_DETECT_STATE = 6 + NUM_OF_BLOOD_LEAK_STATES = 7 + +@unique class ConcentratePumpsEnum(DialinEnum): D11_CP1_ACID = 0 # Acid Concentrate Pump D10_CP2_BICARB = 1 # Bicarbonate Concentrate Pump @@ -315,4 +329,4 @@ D71_VALV = 25 # Ultrafiltration Valve 2 Inlet (D71) D70_VALV = 26 # Ultrafiltration Valve 1 Outlet (D70) D72_VALV = 27 # Ultrafiltration Valve 2 Outlet (D72) - NUM_OF_DD_VALVES = 28 # Number of Valves for the DD \ No newline at end of file + NUM_OF_DD_VALVES = 28 # Number of Valves for the DD Index: leahi_dialin/common/msg_ids.py =================================================================== diff -u -r4d55f49b2e3282cc0d5730eb50b5df497c952069 -r6dcbbc4df1069665696caea1cb96cbc163ae69b0 --- leahi_dialin/common/msg_ids.py (.../msg_ids.py) (revision 4d55f49b2e3282cc0d5730eb50b5df497c952069) +++ leahi_dialin/common/msg_ids.py (.../msg_ids.py) (revision 6dcbbc4df1069665696caea1cb96cbc163ae69b0) @@ -114,7 +114,9 @@ MSG_ID_DD_UF_DATA = 0x5C MSG_ID_FP_PERMEATE_TANK_DATA = 0x5D MSG_ID_DD_SPENT_CHAMBER_FILL_DATA = 0x5E - MSG_ID_DD_BLOOD_LEAK_DATA = 0x60 + MSG_ID_UI_SOLUTION_INFUSION_REQUEST = 0x5F + MSG_ID_TD_SOLUTION_INFUSION_RESPONSE = 0x60 + MSG_ID_DD_BLOOD_LEAK_DATA = 0x61 MSG_ID_DD_PISTON_PUMP_CONTROL_DATA = 0xF0 @@ -241,10 +243,19 @@ MSG_ID_DD_HEATERS_PWM_PERIOD_OVERRIDE_REQUEST = 0xA03C MSG_ID_DD_PRE_GEND_MODE_DATA_PUBLISH_OVERRIDE_REQUEST = 0xA03D MSG_ID_DD_POST_GEND_MODE_DATA_PUBLISH_OVERRIDE_REQUEST = 0xA03E - MSG_ID_DD_AVAILABLE_TO_USE_3 = 0xA03F + MSG_ID_DD_SEND_BLOOD_LEAK_EMB_MODE_RESPONSE = 0xA03F MSG_ID_DD_SPENT_CHAMB_FILL_DATA_PUBLISH_OVERRIDE_REQUEST = 0xA040 MSG_ID_DD_AVAILABLE_TO_USE_4 = 0xA041 MSG_ID_DD_SAFETY_SHUTDOWN_OVERRIDE_REQUEST = 0xA042 + MSG_ID_DD_ALARM_STATE_OVERRIDE_REQUEST = 0xA043 + MSG_ID_DD_BLOOD_LEAK_DATA_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xA047 + MSG_ID_DD_BLOOD_LEAK_STATUS_OVERRIDE_REQUEST = 0xA048 + MSG_ID_DD_BLOOD_LEAK_SET_TO_EMBEDDED_MODE_REQUEST = 0xA049 + MSG_ID_DD_BLOOD_LEAK_SET_EMBEDDED_MODE_CMD_REQUEST = 0xA04A + MSG_ID_DD_BLOOD_LEAK_EMBEDDED_MODE_INFO_OVERRIDE_REQUEST = 0xA04B + MSG_ID_DD_BLOOD_LEAK_INTENSITY_MOVING_AVERAGE_OVERRIDE_REQUEST = 0xA04C + MSG_ID_DD_BLOOD_LEAK_ZEROING_INTERVAL_IN_MS_OVERRIDE_REQUEST = 0xA04D + MSG_ID_DD_BLOOD_LEAK_ZERO_REQUEST = 0xA04E MSG_ID_DD_PISTON_PUMP_DATA_PUBLISH_OVERRIDE_REQUEST = 0xAF00 MSG_ID_DD_PISTON_PUMP_START_STOP_OVERRIDE_REQUEST = 0xAF01 Index: leahi_dialin/dd/dialysate_delivery.py =================================================================== diff -u -ra3651267a6d154abcece8b574eae9b4a8366e12f -r6dcbbc4df1069665696caea1cb96cbc163ae69b0 --- leahi_dialin/dd/dialysate_delivery.py (.../dialysate_delivery.py) (revision a3651267a6d154abcece8b574eae9b4a8366e12f) +++ leahi_dialin/dd/dialysate_delivery.py (.../dialysate_delivery.py) (revision 6dcbbc4df1069665696caea1cb96cbc163ae69b0) @@ -29,6 +29,7 @@ from .modules.post_gen_dialysate import DDPostGenDialysate from .modules.pressure_sensors import DDPressureSensors from .modules.pre_gen_dialysate import DDPreGenDialysate +from .modules.spent_chamber_fill import DDSpentChamberFill from .modules.temperature_sensors import DDTemperatureSensors from .modules.ultrafiltration import DDUltrafiltration from .modules.valves import DDValves @@ -123,6 +124,7 @@ self.post_gen_dialysate = DDPostGenDialysate(self.can_interface, self.logger) self.pressure_sensors = DDPressureSensors(self.can_interface, self.logger) self.pre_gen_dialysate = DDPreGenDialysate(self.can_interface, self.logger) + self.spent_chamber_fill = DDSpentChamberFill(self.can_interface, self.logger) self.temperature_sensors = DDTemperatureSensors(self.can_interface, self.logger) self.ultrafiltration = DDUltrafiltration(self.can_interface, self.logger) self.valves = DDValves(self.can_interface, self.logger) Index: leahi_dialin/dd/modules/blood_leak.py =================================================================== diff -u -rc04ab61e78056eb15d71ed1d2f5b1f49611c9252 -r6dcbbc4df1069665696caea1cb96cbc163ae69b0 --- leahi_dialin/dd/modules/blood_leak.py (.../blood_leak.py) (revision c04ab61e78056eb15d71ed1d2f5b1f49611c9252) +++ leahi_dialin/dd/modules/blood_leak.py (.../blood_leak.py) (revision 6dcbbc4df1069665696caea1cb96cbc163ae69b0) @@ -5,6 +5,7 @@ from .constants import RESET, NO_RESET from leahi_dialin.common.msg_defs import MsgIds, MsgFieldPositions +from leahi_dialin.common.dd_defs import BloodLeakStates from leahi_dialin.protocols.CAN import DenaliMessage, DenaliChannels from leahi_dialin.utils.base import AbstractSubSystem, publish, DialinEnum from leahi_dialin.utils.conversions import integer_to_bytearray, bytearray_to_byte, bytearray_to_integer, \