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