Index: leahi_dialin/dd/modules/temperature_sensors.py =================================================================== diff -u -r256ffed682a9c78ee890a3f3132eb6c6518e7ee8 -re64aa889e5068ea77967567a94e43e4058c84f8b --- leahi_dialin/dd/modules/temperature_sensors.py (.../temperature_sensors.py) (revision 256ffed682a9c78ee890a3f3132eb6c6518e7ee8) +++ leahi_dialin/dd/modules/temperature_sensors.py (.../temperature_sensors.py) (revision e64aa889e5068ea77967567a94e43e4058c84f8b) @@ -24,6 +24,7 @@ from leahi_dialin.utils.checks import check_broadcast_interval_override_ms from leahi_dialin.utils.conversions import integer_to_bytearray, float_to_bytearray +COND_SENSOR_INDEX_OFFSET = 5 @unique class DDTemperaturesNames(DialinEnum): @@ -46,6 +47,8 @@ class DDTemperatureSensors(AbstractSubSystem): + + def __init__(self, can_interface, logger: Logger): super().__init__() @@ -181,13 +184,20 @@ """ rst = integer_to_bytearray(reset) value = float_to_bytearray(sensor_value) - index = integer_to_bytearray(sensor_index) - payload = rst + value + index + if DDTemperaturesNames.D17_TEMP.value <= sensor_index <= DDTemperaturesNames.D75_TEMP.value: + index = integer_to_bytearray((sensor_index - COND_SENSOR_INDEX_OFFSET)) + payload = rst + value + index + message = DenaliMessage.build_message(channel_id=DenaliChannels.dialin_to_dd_ch_id, + message_id=MsgIds.MSG_ID_DD_CONDUCTIVITY_SENSOR_TEMPERATURE_OVERRIDE_REQUEST.value, + payload=payload) - message = DenaliMessage.build_message(channel_id=DenaliChannels.dialin_to_dd_ch_id, - message_id=MsgIds.MSG_ID_DD_TEMPERATURE_SENSOR_MEASURED_TEMPERATURE_OVERRIDE_REQUEST.value, - payload=payload) + else: + index = integer_to_bytearray(sensor_index) + payload = rst + value + index + message = DenaliMessage.build_message(channel_id=DenaliChannels.dialin_to_dd_ch_id, + message_id=MsgIds.MSG_ID_DD_TEMPERATURE_SENSOR_MEASURED_TEMPERATURE_OVERRIDE_REQUEST.value, + payload=payload) self.logger.debug("Setting sensor {} to {} C".format(sensor_index, sensor_value))