Index: leahi_dialin/dd/modules/temperature_sensors.py =================================================================== diff -u -r80e3a4d6a11fc14c975740531b9cf2b825915781 -r256ffed682a9c78ee890a3f3132eb6c6518e7ee8 --- leahi_dialin/dd/modules/temperature_sensors.py (.../temperature_sensors.py) (revision 80e3a4d6a11fc14c975740531b9cf2b825915781) +++ leahi_dialin/dd/modules/temperature_sensors.py (.../temperature_sensors.py) (revision 256ffed682a9c78ee890a3f3132eb6c6518e7ee8) @@ -31,13 +31,17 @@ 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 ) - D16_TEMP = 6 # D16 temperature value - D28_TEMP = 7 # D28 temperature value - D30_TEMP = 8 # D30 temperature value + BRD_TEMP = 4 # Barometric temperature sensor + BARO_TEMP = 5 # DD board temperature sensor ( thermistor ) + D17_TEMP = 6 # D16 temperature value + D27_TEMP = 7 # D28 temperature value + D29_TEMP = 8 # D30 temperature value D44_TEMP = 9 # D44 temperature value D75_TEMP = 10 # D75 temperature value + D4_AVG_TEMP = 11 # D4 Filtered value + D50_AVG_TEMP = 12 # D50 Filtered value + D28_AVG_TEMP = 13 # D28 Filtered value + D30_AVG_TEMP = 14 # D30 Filtered value class DDTemperatureSensors(AbstractSubSystem): @@ -51,16 +55,20 @@ # Dictionary of the temperature sensors self.dd_temperatures_timestamp = 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.D16_TEMP.name: 0.0, - DDTemperaturesNames.D28_TEMP.name: 0.0, - DDTemperaturesNames.D30_TEMP.name: 0.0, - DDTemperaturesNames.D44_TEMP.name: 0.0, - DDTemperaturesNames.D75_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_TEMP.name: 0.0, + DDTemperaturesNames.D27_TEMP.name: 0.0, + DDTemperaturesNames.D29_TEMP.name: 0.0, + DDTemperaturesNames.D44_TEMP.name: 0.0, + DDTemperaturesNames.D75_TEMP.name: 0.0, + DDTemperaturesNames.D4_AVG_TEMP.name: 0.0, + DDTemperaturesNames.D50_AVG_TEMP.name: 0.0, + DDTemperaturesNames.D28_AVG_TEMP.name: 0.0, + DDTemperaturesNames.D30_AVG_TEMP.name: 0.0} if self.can_interface is not None: channel_id = DenaliChannels.dd_sync_broadcast_ch_id @@ -94,13 +102,13 @@ self.dd_temperatures[DDTemperaturesNames.BARO_TEMP.name] = struct.unpack('f', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_6:MsgFieldPositions.END_POS_FIELD_6]))[0] - self.dd_temperatures[DDTemperaturesNames.D16_TEMP.name] = struct.unpack('f', bytearray( + self.dd_temperatures[DDTemperaturesNames.D17_TEMP.name] = struct.unpack('f', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_7:MsgFieldPositions.END_POS_FIELD_7]))[0] - self.dd_temperatures[DDTemperaturesNames.D28_TEMP.name] = struct.unpack('f', bytearray( + self.dd_temperatures[DDTemperaturesNames.D27_TEMP.name] = struct.unpack('f', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_8:MsgFieldPositions.END_POS_FIELD_8]))[0] - self.dd_temperatures[DDTemperaturesNames.D30_TEMP.name] = struct.unpack('f', bytearray( + self.dd_temperatures[DDTemperaturesNames.D29_TEMP.name] = struct.unpack('f', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_9:MsgFieldPositions.END_POS_FIELD_9]))[0] self.dd_temperatures[DDTemperaturesNames.D44_TEMP.name] = struct.unpack('f', bytearray( @@ -109,6 +117,18 @@ self.dd_temperatures[DDTemperaturesNames.D75_TEMP.name] = struct.unpack('f', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_11:MsgFieldPositions.END_POS_FIELD_11]))[0] + self.dd_temperatures[DDTemperaturesNames.D4_AVG_TEMP.name] = struct.unpack('f', bytearray( + message['message'][MsgFieldPositions.START_POS_FIELD_12:MsgFieldPositions.END_POS_FIELD_12]))[0] + + self.dd_temperatures[DDTemperaturesNames.D50_AVG_TEMP.name] = struct.unpack('f', bytearray( + message['message'][MsgFieldPositions.START_POS_FIELD_13:MsgFieldPositions.END_POS_FIELD_13]))[0] + + self.dd_temperatures[DDTemperaturesNames.D28_AVG_TEMP.name] = struct.unpack('f', bytearray( + message['message'][MsgFieldPositions.START_POS_FIELD_14:MsgFieldPositions.END_POS_FIELD_14]))[0] + + self.dd_temperatures[DDTemperaturesNames.D30_AVG_TEMP.name] = struct.unpack('f', bytearray( + message['message'][MsgFieldPositions.START_POS_FIELD_15:MsgFieldPositions.END_POS_FIELD_15]))[0] + self.dd_temperatures_timestamp = timestamp def cmd_temperatures_data_broadcast_interval_override(self, ms: int, reset: int = NO_RESET) -> int: