Index: leahi_dialin/fp/modules/temperatures.py =================================================================== diff -u -ra0520ee656b58da05b3eafad2eb278308f9f49b0 -r5d5363c270d5bc6c45f9d3cc4f0b141c90ef5cbb --- leahi_dialin/fp/modules/temperatures.py (.../temperatures.py) (revision a0520ee656b58da05b3eafad2eb278308f9f49b0) +++ leahi_dialin/fp/modules/temperatures.py (.../temperatures.py) (revision 5d5363c270d5bc6c45f9d3cc4f0b141c90ef5cbb) @@ -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,28 +141,41 @@ """ rst = integer_to_bytearray(reset) value = float_to_bytearray(sensor_value) - index = integer_to_bytearray(sensor_index) - payload = rst + value + index - # FP Conductivity Sensor Temperature Override + # 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 Sensor Temperature Override + # 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 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) - self.logger.debug("Setting sensor {} to {} C".format(FPTemperaturesNames[str(sensor_index)].name, sensor_value)) + # 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 received_message = self.can_interface.send(message)