Index: leahi_dialin/dd/modules/temperature_sensors.py =================================================================== diff -u -recd89ae316cd2afa695dd4e93ac18b6004975efb -rb5aa0da384c5cc177f83d59aa221ae28881cd26a --- leahi_dialin/dd/modules/temperature_sensors.py (.../temperature_sensors.py) (revision ecd89ae316cd2afa695dd4e93ac18b6004975efb) +++ leahi_dialin/dd/modules/temperature_sensors.py (.../temperature_sensors.py) (revision b5aa0da384c5cc177f83d59aa221ae28881cd26a) @@ -27,12 +27,16 @@ @unique class DDTemperaturesNames(DialinEnum): - INLET_HEAT_EXCHANGER = 0 - OUTLET_HEAT_EXCHANGER = 1 - HYDRAULICS_PRIMARY_HEATER = 2 - TRIMMER_HEATER = 3 - BOARD_TEMP = 4 - BARO_TEMP_SENSOR = 5 + D1_TEMP = 0 # Heat exchanger Inlet temperature sensor + X6_TEMP = 1 # Heat exchanger Outlet temperature sensor + D4_TEMP = 2 # Hydraulics primary heater temperature sensor + D50_TEMP = 3 # Trimmer heater temperature sensor + BARO_TEMP = 4 # Barometric temperature sensor + BRD_TEMP = 5 # DD board temperature sensor ( thermistor ) + D17_COND = 6 # Bicarb only conductivity sensor temp + D27_COND = 7 # Acid and Bicarb mix conductivity sensor - 1 temp + D29_COND = 8 # Acid and Bicarb mix conductivity sensor - 2 temp + D43_COND = 9 # Spent dialysate conductivity sensor temp class DDTemperatureSensors(AbstractSubSystem): @@ -45,12 +49,16 @@ self.logger = logger # Dictionary of the temperature sensors self.dd_temperatures_timestamp = 0.0 - self.dd_temperatures = {DDTemperaturesNames.INLET_HEAT_EXCHANGER.name: 0.0, - DDTemperaturesNames.OUTLET_HEAT_EXCHANGER.name: 0.0, - DDTemperaturesNames.HYDRAULICS_PRIMARY_HEATER.name: 0.0, - DDTemperaturesNames.TRIMMER_HEATER.name: 0.0, - DDTemperaturesNames.BOARD_TEMP.name: 0.0, - DDTemperaturesNames.BARO_TEMP_SENSOR.name: 0.0,} + self.dd_temperatures = {DDTemperaturesNames.D1_TEMP.name: 0.0, + DDTemperaturesNames.X6_TEMP.name: 0.0, + DDTemperaturesNames.D4_TEMP.name: 0.0, + DDTemperaturesNames.D50_TEMP.name: 0.0, + DDTemperaturesNames.BARO_TEMP.name: 0.0, + DDTemperaturesNames.BRD_TEMP.name: 0.0, + DDTemperaturesNames.D17_COND.name: 0.0, + DDTemperaturesNames.D27_COND.name: 0.0, + DDTemperaturesNames.D29_COND.name: 0.0, + DDTemperaturesNames.D43_COND.name: 0.0,} if self.can_interface is not None: channel_id = DenaliChannels.dd_sync_broadcast_ch_id @@ -66,26 +74,38 @@ @param message: published temperature sensors data message @returns none """ - self.dd_temperatures[DDTemperaturesNames.INLET_HEAT_EXCHANGER.name] = struct.unpack('f', bytearray( + self.dd_temperatures[DDTemperaturesNames.D1_TEMP.name] = struct.unpack('f', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_1:MsgFieldPositions.END_POS_FIELD_1]))[0] - self.dd_temperatures[DDTemperaturesNames.OUTLET_HEAT_EXCHANGER.name] = struct.unpack('f', bytearray( + self.dd_temperatures[DDTemperaturesNames.X6_TEMP.name] = struct.unpack('f', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_2:MsgFieldPositions.END_POS_FIELD_2]))[0] - self.dd_temperatures[DDTemperaturesNames.HYDRAULICS_PRIMARY_HEATER.name] = struct.unpack('f', bytearray( + self.dd_temperatures[DDTemperaturesNames.D4_TEMP.name] = struct.unpack('f', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_3:MsgFieldPositions.END_POS_FIELD_3]))[0] - self.dd_temperatures[DDTemperaturesNames.TRIMMER_HEATER.name] = struct.unpack('f', bytearray( + self.dd_temperatures[DDTemperaturesNames.D50_TEMP.name] = struct.unpack('f', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_4:MsgFieldPositions.END_POS_FIELD_4]))[0] - self.dd_temperatures[DDTemperaturesNames.BOARD_TEMP.name] = struct.unpack('f', bytearray( + self.dd_temperatures[DDTemperaturesNames.BARO_TEMP.name] = struct.unpack('f', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_5:MsgFieldPositions.END_POS_FIELD_5]))[0] - self.dd_temperatures[DDTemperaturesNames.BARO_TEMP_SENSOR.name] = struct.unpack('f', bytearray( + self.dd_temperatures[DDTemperaturesNames.BRD_TEMP.name] = struct.unpack('f', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_6:MsgFieldPositions.END_POS_FIELD_6]))[0] - self.dg_temperatures_timestamp = timestamp + self.dd_temperatures[DDTemperaturesNames.D17_COND.name] = struct.unpack('f', bytearray( + message['message'][MsgFieldPositions.START_POS_FIELD_7:MsgFieldPositions.END_POS_FIELD_7]))[0] + self.dd_temperatures[DDTemperaturesNames.D27_COND.name] = struct.unpack('f', bytearray( + message['message'][MsgFieldPositions.START_POS_FIELD_8:MsgFieldPositions.END_POS_FIELD_8]))[0] + + self.dd_temperatures[DDTemperaturesNames.D29_COND.name] = struct.unpack('f', bytearray( + message['message'][MsgFieldPositions.START_POS_FIELD_9:MsgFieldPositions.END_POS_FIELD_9]))[0] + + self.dd_temperatures[DDTemperaturesNames.D43_COND.name] = struct.unpack('f', bytearray( + message['message'][MsgFieldPositions.START_POS_FIELD_10:MsgFieldPositions.END_POS_FIELD_10]))[0] + + self.dd_temperatures_timestamp = timestamp + def cmd_temperatures_data_broadcast_interval_override(self, ms: int, reset: int = NO_RESET) -> int: """ Constructs and sends broadcast time interval. @@ -196,10 +216,9 @@ def cmd_baro_sensor_read_counter_override(self, counter: int, reset: int = NO_RESET) -> int: """ - Constructs and sends the temperature value override command + Constructs and sends the barometer sensor read counter override command - @param sensor: unsigned int - sensor ID - @param counter: float - temperature value to override sensor with + @param counter: int - barometer sensor read counter value to override sensor with @param reset: integer - 1 to reset a previous override, 0 to override @return: 1 if successful, zero otherwise @@ -232,10 +251,9 @@ def cmd_baro_sensor_crc_override(self, crc: int, reset: int = NO_RESET) -> int: """ - Constructs and sends the temperature value override command + Constructs and sends the barometer sensor CRC override command - @param sensor: unsigned int - sensor ID - @param counter: float - temperature value to override sensor with + @param crc: int - the crc value to override sensor with @param reset: integer - 1 to reset a previous override, 0 to override @return: 1 if successful, zero otherwise