Index: leahi_dialin/common/dd_defs.py =================================================================== diff -u -r611187f2d0918fb5fef0c8aa4e34768a2093b97c -ra2aad87f17d5f85922b458ca2b73d20fb4f49c3a --- leahi_dialin/common/dd_defs.py (.../dd_defs.py) (revision 611187f2d0918fb5fef0c8aa4e34768a2093b97c) +++ leahi_dialin/common/dd_defs.py (.../dd_defs.py) (revision a2aad87f17d5f85922b458ca2b73d20fb4f49c3a) @@ -294,7 +294,8 @@ class DDROPermeateStates(DialinEnum): NUM_OF_RO_PERMEATE_STATES = 0 # TODO: populate with RO Permeate states -COND_SENSOR_INDEX_OFFSET = 6 # Conductivity Sensor Index Offset for the Temperature Sensors +COND_SENSOR_INDEX_OFFSET = 6 # Conductivity Sensor Index Offset for the Temperature Readings +PRES_SENSOR_INDEX_OFFSET = 15 # Pressure Sensors Offset for Temperature Readings @unique class DDTemperaturesNames(DialinEnum): @@ -313,11 +314,12 @@ D50_AVG_TEMP = 12 # D50 Filtered value D28_AVG_TEMP = 13 # D28 Filtered value D30_AVG_TEMP = 14 # D30 Filtered value - D66_TEMP = 15 # D66 Pressure sensor temperature value - D51_TEMP = 16 # D51 Pressure sensor temperature value - D18_TEMP = 17 # D18 Pressure sensor temperature value - D41_TEMP = 18 # D41 Pressure sensor temperature value - NUM_OF_TEMP_SENSORS = 19 # Number of Temperature Sensors + D9_TEMP = 15 # D9 Pressure sensor temperature value + D66_TEMP = 16 # D66 Pressure sensor temperature value + D51_TEMP = 17 # D51 Pressure sensor temperature value + D18_TEMP = 18 # D18 Pressure sensor temperature value + D41_TEMP = 19 # D41 Pressure sensor temperature value + NUM_OF_TEMP_SENSORS = 20 # Number of Temperature Sensors @unique class DDValveStates(DialinEnum): @@ -345,10 +347,10 @@ D23_VALV = 16 # Balancing chamber Valve 1 (D23) D19_VALV = 17 # Balancing chamber Valve 2 (D19) D25_VALV = 18 # Balancing chamber Valve 3 (D25) - D21_VALV = 19 # Balancing chamber Valve 7 (D26) + D21_VALV = 19 # Balancing chamber Valve 4 (D21) D24_VALV = 20 # Balancing chamber Valve 5 (D24) D20_VALV = 21 # Balancing chamber Valve 6 (D20) - D26_VALV = 22 # Balancing chamber Valve 4 (D21) + D26_VALV = 22 # Balancing chamber Valve 7 (D26) D22_VALV = 23 # Balancing chamber Valve 8 (D22) D79_PMP_VALV = 24 # D79 pump mapped to spare valve 0 SPARE1_VALV = 25 # Spare Valve 1 Index: leahi_dialin/common/fp_defs.py =================================================================== diff -u -ra0e7107b30e4d6fc631784e249f59038aefeb04f -ra2aad87f17d5f85922b458ca2b73d20fb4f49c3a --- leahi_dialin/common/fp_defs.py (.../fp_defs.py) (revision a0e7107b30e4d6fc631784e249f59038aefeb04f) +++ leahi_dialin/common/fp_defs.py (.../fp_defs.py) (revision a2aad87f17d5f85922b458ca2b73d20fb4f49c3a) @@ -133,12 +133,6 @@ NUM_OF_FP_FLOW_SENSORS = 2 # Number of FP Flow Sensors @unique -class FPFlowSensorAttributesEnum(DialinEnum): - FLOW = 0 # Flow attribute for FP Flow Sensors - TEMP = 1 # Temperature attribute for FP Flow Sensors - NUM_OF_FP_FLOW_ATTRIBUTES = 2 # Number of FP Flow Sensor attributes - -@unique class FPFloaterLevels(DialinEnum): LEVEL_STATE_LOW = 0 # Low level for the FP Floater Level Sensors LEVEL_STATE_MEDIUM = 1 # Medium level for the FP Floater Level Sensors @@ -178,6 +172,11 @@ FB_DUTY_CYCLE_PCT = 8 # Feedback Duty Cycle Percentage attribute for pumps NUM_OF_RO_PUMP_ATTRIBUTES = 9 # Number of pump attributes +BETA_CONDUCTIVITY_SENSOR_OFFSET = 3 # Offset to translate Dialin FPTemperaturesNames to DD firmware ConductivitySensors enum +BETA_FLOW_SENSOR_OFFSET = 7 # Offset to translate Dialin FPTemperaturesNames to DD firmware FlowSensors enum +BETA_IO_PRES_SENSOR_OFFSET = 5 # Offset to translate Dialin FPTemperaturesNames to DD firmware PressureSensors enum +BETA_FP_PRES_SENSOR_OFFSET = 3 # Offset to translate Dialin FPTemperaturesNames to DD firmware PressureSensors enum + @unique class FPTemperaturesNames(DialinEnum): M1_TEMP = 0 # Temperature before pressure regulator (M1) Index: leahi_dialin/common/msg_ids.py =================================================================== diff -u -r611187f2d0918fb5fef0c8aa4e34768a2093b97c -ra2aad87f17d5f85922b458ca2b73d20fb4f49c3a --- leahi_dialin/common/msg_ids.py (.../msg_ids.py) (revision 611187f2d0918fb5fef0c8aa4e34768a2093b97c) +++ leahi_dialin/common/msg_ids.py (.../msg_ids.py) (revision a2aad87f17d5f85922b458ca2b73d20fb4f49c3a) @@ -126,11 +126,6 @@ MSG_ID_DD_VOLTAGES_DATA = 0x68 MSG_ID_DD_RINSE_PUMP_DATA = 0x69 - - - MSG_ID_DD_PISTON_PUMP_CONTROL_DATA = 0xF0 - - MSG_ID_TD_TESTER_LOGIN_REQUEST = 0x8000 MSG_ID_TD_SOFTWARE_RESET_REQUEST = 0x8001 MSG_ID_TD_SEND_TEST_CONFIGURATION = 0x8002 @@ -281,10 +276,7 @@ MSG_ID_DD_MONITORED_VOLTAGE_OVERRIDE_REQUEST = 0xA052 MSG_ID_DD_RINSE_PUMP_DATA_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xA053 - MSG_ID_DD_PISTON_PUMP_DATA_PUBLISH_OVERRIDE_REQUEST = 0xAF00 - MSG_ID_DD_PISTON_PUMP_START_STOP_OVERRIDE_REQUEST = 0xAF01 - MSG_ID_DD_PISTON_PUMP_FILL_AFTER_DISPENSE_OVERRIDE_REQUEST = 0xAF02 - # Placeholder message + # Placeholder messages MSG_ID_DD_ALARM_STATE_OVERRIDE_REQUEST = 0xAF03 MSG_ID_DD_STOP_GEN_DIALYSATE_MODE_OVERRIDE_REQUEST = 0xAF04 Index: leahi_dialin/dd/dialysate_delivery.py =================================================================== diff -u -ra407ca3aee42efe94cf8d2fe41ef2804175b992b -ra2aad87f17d5f85922b458ca2b73d20fb4f49c3a --- leahi_dialin/dd/dialysate_delivery.py (.../dialysate_delivery.py) (revision a407ca3aee42efe94cf8d2fe41ef2804175b992b) +++ leahi_dialin/dd/dialysate_delivery.py (.../dialysate_delivery.py) (revision a2aad87f17d5f85922b458ca2b73d20fb4f49c3a) @@ -26,7 +26,6 @@ from .modules.gen_dialysate import DDGenDialysate from .modules.heaters import DDHeaters from .modules.levels import DDLevels -from .modules.piston_pump import DDPistonPumps from .modules.post_gen_dialysate import DDPostGenDialysate from .modules.pressure_sensors import DDPressureSensors from .modules.pre_gen_dialysate import DDPreGenDialysate @@ -127,7 +126,6 @@ self.gen_dialysate = DDGenDialysate(self.can_interface, self.logger) self.heaters = DDHeaters(self.can_interface, self.logger) self.levels = DDLevels(self.can_interface, self.logger) - self.piston_pumps = DDPistonPumps(self.can_interface, self.logger) 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) Index: leahi_dialin/fp/modules/temperatures.py =================================================================== diff -u -r4c41400037a9da1afe303601bd960b30de3d79da -ra2aad87f17d5f85922b458ca2b73d20fb4f49c3a --- leahi_dialin/fp/modules/temperatures.py (.../temperatures.py) (revision 4c41400037a9da1afe303601bd960b30de3d79da) +++ leahi_dialin/fp/modules/temperatures.py (.../temperatures.py) (revision a2aad87f17d5f85922b458ca2b73d20fb4f49c3a) @@ -18,7 +18,7 @@ from logging import Logger from .constants import NO_RESET, RESET -from leahi_dialin.common.fp_defs import FPTemperaturesNames +from leahi_dialin.common.fp_defs import FPTemperaturesNames, BETA_CONDUCTIVITY_SENSOR_OFFSET, BETA_FLOW_SENSOR_OFFSET, BETA_IO_PRES_SENSOR_OFFSET, BETA_FP_PRES_SENSOR_OFFSET from leahi_dialin.common.msg_defs import MsgIds, MsgFieldPositions from leahi_dialin.protocols.CAN import DenaliMessage, DenaliChannels from leahi_dialin.utils.base import AbstractSubSystem, publish, DialinEnum @@ -141,24 +141,39 @@ """ rst = integer_to_bytearray(reset) value = float_to_bytearray(sensor_value) - index = integer_to_bytearray(sensor_index) - payload = rst + value + index - if sensor_index <= FPTemperaturesNames.P19_TEMP.value: + # FP Conductivity Sensors' Temperature Override + if FPTemperaturesNames.P10_TEMP.value <= sensor_index <= FPTemperaturesNames.P19_TEMP.value: + index = integer_to_bytearray(sensor_index + BETA_CONDUCTIVITY_SENSOR_OFFSET) + payload = rst + value + index message = DenaliMessage.build_message(channel_id=DenaliChannels.dialin_to_fp_ch_id, message_id=MsgIds.MSG_ID_FP_CONDUCTIVITY_TEMP_OVERRIDE_REQUEST.value, payload=payload) + # FP Flow Sensors' Temperature Override elif FPTemperaturesNames.P7_TEMP.value <= sensor_index < FPTemperaturesNames.NUM_OF_TEMPERATURE_SENSORS.value: + index = integer_to_bytearray(sensor_index - BETA_FLOW_SENSOR_OFFSET) + payload = rst + value + index message = DenaliMessage.build_message(channel_id=DenaliChannels.dialin_to_fp_ch_id, message_id=MsgIds.MSG_ID_FP_FLOW_TEMP_OVERRIDE_REQUEST.value, payload=payload) - else: # the remaining sensors are sent to the pressure temp override + # IO Pressure Sensors' Temperature Override + elif FPTemperaturesNames.M1_TEMP.value <= sensor_index <= FPTemperaturesNames.M3_TEMP.value: + index = integer_to_bytearray(sensor_index + BETA_IO_PRES_SENSOR_OFFSET) + payload = rst + value + index message = DenaliMessage.build_message(channel_id=DenaliChannels.dialin_to_fp_ch_id, message_id=MsgIds.MSG_ID_FP_PRESSURE_TEMP_OVERRIDE_REQUEST.value, payload=payload) + # FP Pressure Sensors' Temperature Override + else: + index = integer_to_bytearray(sensor_index + BETA_FP_PRES_SENSOR_OFFSET) + payload = rst + value + index + message = DenaliMessage.build_message(channel_id=DenaliChannels.dialin_to_fp_ch_id, + message_id=MsgIds.MSG_ID_FP_PRESSURE_TEMP_OVERRIDE_REQUEST.value, + payload=payload) + self.logger.debug("Setting sensor {} to {} C".format(list(self.fp_temperatures.keys())[sensor_index], sensor_value)) # Send message