Index: leahi_dialin/fp/modules/temperatures.py =================================================================== diff -u -r5f783280400baab74941d3fd4d3e3d5a97bd06ee -rc5bfcf84ed942ca5841bf9de155aa0f495b4d28d --- leahi_dialin/fp/modules/temperatures.py (.../temperatures.py) (revision 5f783280400baab74941d3fd4d3e3d5a97bd06ee) +++ leahi_dialin/fp/modules/temperatures.py (.../temperatures.py) (revision c5bfcf84ed942ca5841bf9de155aa0f495b4d28d) @@ -18,7 +18,8 @@ from logging import Logger from leahi_dialin.common.constants import NO_RESET -from leahi_dialin.common.fp_defs import FPTemperaturesNames, BETA_IOFP_COND_SENSOR_OFFSET, BETA_IOFP_PRES_SENSOR_OFFSET +from leahi_dialin.common.fp_defs import fp_enum_repository, BETA_IOFP_COND_SENSOR_OFFSET, BETA_IOFP_PRES_SENSOR_OFFSET +from leahi_dialin.common.global_vars import GlobalVariables from leahi_dialin.common.msg_defs import MsgIds, MsgFieldPositions from leahi_dialin.common.override_templates import cmd_generic_broadcast_interval_override, cmd_generic_override from leahi_dialin.protocols.CAN import DenaliChannels @@ -41,15 +42,16 @@ self._handler_temperature_sensors_sync) self.fp_temperature_sensors_timestamp = 0 self.fp_temperatures = { - FPTemperaturesNames.M3_TEMP.name: 0.0, - FPTemperaturesNames.P10_TEMP.name: 0.0, - FPTemperaturesNames.P19_TEMP.name: 0.0, - FPTemperaturesNames.P8_TEMP.name: 0.0, - FPTemperaturesNames.P13_TEMP.name: 0.0, - FPTemperaturesNames.P17_TEMP.name: 0.0, - FPTemperaturesNames.P7_TEMP.name: 0.0, - FPTemperaturesNames.P16_TEMP.name: 0.0, - FPTemperaturesNames.P46_TEMP.name: 0.0 + fp_enum_repository.FPTemperatureSensorNames.M3_TEMP.name: 0.0, + fp_enum_repository.FPTemperatureSensorNames.P8_TEMP.name: 0.0, + fp_enum_repository.FPTemperatureSensorNames.P13_TEMP.name: 0.0, + fp_enum_repository.FPTemperatureSensorNames.P17_TEMP.name: 0.0, + fp_enum_repository.FPTemperatureSensorNames.P10_TEMP.name: 0.0, + fp_enum_repository.FPTemperatureSensorNames.P19_TEMP.name: 0.0, + fp_enum_repository.FPTemperatureSensorNames.P7_TEMP.name: 0.0, + fp_enum_repository.FPTemperatureSensorNames.P16_TEMP.name: 0.0, + fp_enum_repository.FPTemperatureSensorNames.P7_INTERNAL_TEMP.name: 0.0, + fp_enum_repository.FPTemperatureSensorNames.P16_INTERNAL_TEMP.name: 0.0 } @@ -61,33 +63,40 @@ @param message: published FP temperature sensors data message @returns none """ - self.fp_temperatures[FPTemperaturesNames.M3_TEMP.name] = struct.unpack('f', bytearray( + self.fp_temperatures[fp_enum_repository.FPTemperatureSensorNames.M3_TEMP.name] = struct.unpack('f', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_1:MsgFieldPositions.END_POS_FIELD_1]))[0] - self.fp_temperatures[FPTemperaturesNames.P10_TEMP.name] = struct.unpack('f', bytearray( + self.fp_temperatures[fp_enum_repository.FPTemperatureSensorNames.P10_TEMP.name] = struct.unpack('f', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_2:MsgFieldPositions.END_POS_FIELD_2]))[0] - self.fp_temperatures[FPTemperaturesNames.P19_TEMP.name] = struct.unpack('f', bytearray( + self.fp_temperatures[fp_enum_repository.FPTemperatureSensorNames.P19_TEMP.name] = struct.unpack('f', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_3:MsgFieldPositions.END_POS_FIELD_3]))[0] - self.fp_temperatures[FPTemperaturesNames.P8_TEMP.name] = struct.unpack('f', bytearray( + self.fp_temperatures[fp_enum_repository.FPTemperatureSensorNames.P8_TEMP.name] = struct.unpack('f', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_4:MsgFieldPositions.END_POS_FIELD_4]))[0] - self.fp_temperatures[FPTemperaturesNames.P13_TEMP.name] = struct.unpack('f', bytearray( + self.fp_temperatures[fp_enum_repository.FPTemperatureSensorNames.P13_TEMP.name] = struct.unpack('f', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_5:MsgFieldPositions.END_POS_FIELD_5]))[0] - self.fp_temperatures[FPTemperaturesNames.P17_TEMP.name] = struct.unpack('f', bytearray( + self.fp_temperatures[fp_enum_repository.FPTemperatureSensorNames.P17_TEMP.name] = struct.unpack('f', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_6:MsgFieldPositions.END_POS_FIELD_6]))[0] - self.fp_temperatures[FPTemperaturesNames.P7_TEMP.name] = struct.unpack('f', bytearray( + self.fp_temperatures[fp_enum_repository.FPTemperatureSensorNames.P7_TEMP.name] = struct.unpack('f', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_7:MsgFieldPositions.END_POS_FIELD_7]))[0] - self.fp_temperatures[FPTemperaturesNames.P16_TEMP.name] = struct.unpack('f', bytearray( + self.fp_temperatures[fp_enum_repository.FPTemperatureSensorNames.P16_TEMP.name] = struct.unpack('f', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_8:MsgFieldPositions.END_POS_FIELD_8]))[0] - self.fp_temperatures[FPTemperaturesNames.P46_TEMP.name] = struct.unpack('f', bytearray( - message['message'][MsgFieldPositions.START_POS_FIELD_9:MsgFieldPositions.END_POS_FIELD_9]))[0] + if GlobalVariables().HW_BETA_1_9: + self.fp_temperatures[fp_enum_repository.FPTemperatureSensorNames.P46_TEMP.name] = struct.unpack('f', bytearray( + message['message'][MsgFieldPositions.START_POS_FIELD_9:MsgFieldPositions.END_POS_FIELD_9]))[0] + self.fp_temperatures[fp_enum_repository.FPTemperatureSensorNames.P7_INTERNAL_TEMP.name] = struct.unpack('f', bytearray( + message['message'][MsgFieldPositions.START_POS_FIELD_10:MsgFieldPositions.END_POS_FIELD_10]))[0] + + self.fp_temperatures[fp_enum_repository.FPTemperatureSensorNames.P16_INTERNAL_TEMP.name] = struct.unpack('f', bytearray( + message['message'][MsgFieldPositions.START_POS_FIELD_11:MsgFieldPositions.END_POS_FIELD_11]))[0] + self.fp_temperature_sensors_timestamp = timestamp @@ -125,26 +134,26 @@ @returns 1 if successful, zero otherwise """ # FP Conductivity Sensors' Temperature Override - if FPTemperaturesNames.FIRST_CONDUCTIVITY_SENSOR.value <= sensor_index <= FPTemperaturesNames.LAST_CONDUCTIVITY_SENSOR.value: - modified_index = sensor_index - FPTemperaturesNames.FIRST_CONDUCTIVITY_SENSOR.value + BETA_IOFP_COND_SENSOR_OFFSET + if fp_enum_repository.FPTemperatureSensorNames.FIRST_CONDUCTIVITY_SENSOR.value <= sensor_index <= fp_enum_repository.FPTemperatureSensorNames.LAST_CONDUCTIVITY_SENSOR.value: + modified_index = sensor_index - fp_enum_repository.FPTemperatureSensorNames.FIRST_CONDUCTIVITY_SENSOR.value + BETA_IOFP_COND_SENSOR_OFFSET msg_id = MsgIds.MSG_ID_FP_CONDUCTIVITY_TEMP_OVERRIDE_REQUEST # FP Flow Sensors' Temperature Override - elif FPTemperaturesNames.FIRST_FLOW_SENSOR.value <= sensor_index <= FPTemperaturesNames.LAST_FLOW_SENSOR.value: - modified_index = sensor_index - FPTemperaturesNames.FIRST_FLOW_SENSOR.value + elif fp_enum_repository.FPTemperatureSensorNames.FIRST_FLOW_SENSOR.value <= sensor_index <= fp_enum_repository.FPTemperatureSensorNames.LAST_FLOW_SENSOR.value: + modified_index = sensor_index - fp_enum_repository.FPTemperatureSensorNames.FIRST_FLOW_SENSOR.value msg_id = MsgIds.MSG_ID_FP_FLOW_TEMP_OVERRIDE_REQUEST # FP Pressure Sensors' Temperature Override else: - modified_index = sensor_index - FPTemperaturesNames.FIRST_PRESSURE_SENSOR.value + BETA_IOFP_PRES_SENSOR_OFFSET + modified_index = sensor_index - fp_enum_repository.FPTemperatureSensorNames.FIRST_PRESSURE_SENSOR.value + BETA_IOFP_PRES_SENSOR_OFFSET msg_id = MsgIds.MSG_ID_FP_PRESSURE_TEMP_OVERRIDE_REQUEST index = integer_to_bytearray(modified_index) rst = integer_to_bytearray(reset) value = float_to_bytearray(sensor_value) payload = rst + value + index - sensor_name = FPTemperaturesNames(sensor_index).name.split('_')[0] + sensor_name = fp_enum_repository.FPTemperatureSensorNames(sensor_index).name.split('_')[0] return cmd_generic_override( payload = payload, reset = reset,