Index: leahi_dialin/dd/modules/pressure_sensors.py =================================================================== diff -u -r52aa7af16b98730ba59fc2577dbe8f73b5959775 -r00412d78bda4176d5c45a3778cb90ad907928965 --- leahi_dialin/dd/modules/pressure_sensors.py (.../pressure_sensors.py) (revision 52aa7af16b98730ba59fc2577dbe8f73b5959775) +++ leahi_dialin/dd/modules/pressure_sensors.py (.../pressure_sensors.py) (revision 00412d78bda4176d5c45a3778cb90ad907928965) @@ -19,7 +19,7 @@ from .constants import NO_RESET, RESET from leahi_dialin.common.msg_defs import MsgIds, MsgFieldPositions -from leahi_dialin.common.dd_defs import DDPressureNames, DDPressureAttributesEnum +from leahi_dialin.common.dd_defs import DDPressureNames from leahi_dialin.protocols.CAN import DenaliMessage, DenaliChannels from leahi_dialin.utils.base import AbstractSubSystem, publish, DialinEnum from leahi_dialin.utils.checks import check_broadcast_interval_override_ms @@ -44,44 +44,21 @@ if self.can_interface is not None: channel_id = DenaliChannels.dd_sync_broadcast_ch_id - msg_id = MsgIds.MSG_ID_DD_PRESSURES_DATA.value - self.can_interface.register_receiving_publication_function(channel_id, msg_id, + self.msg_id_dd_pressures_data = MsgIds.MSG_ID_DD_PRESSURES_DATA.value + self.can_interface.register_receiving_publication_function(channel_id, self.msg_id_dd_pressures_data, self._handler_pressures_sync) self.dd_pressures = { - DDPressureNames.M1_PRES.name: { - DDPressureAttributesEnum.PRES.name: 0.0, - DDPressureAttributesEnum.TEMP.name: 0.0 - }, - DDPressureNames.M3_PRES.name: { - DDPressureAttributesEnum.PRES.name: 0.0, - DDPressureAttributesEnum.TEMP.name: 0.0 - }, - DDPressureNames.D9_PRES.name: { - DDPressureAttributesEnum.PRES.name: 0.0, - DDPressureAttributesEnum.TEMP.name: 0.0 - }, - DDPressureNames.D66_PRES.name: { - DDPressureAttributesEnum.PRES.name: 0.0, - DDPressureAttributesEnum.TEMP.name: 0.0 - }, - DDPressureNames.D51_PRES.name: { - DDPressureAttributesEnum.PRES.name: 0.0, - DDPressureAttributesEnum.TEMP.name: 0.0 - }, - DDPressureNames.D18_PRES.name: { - DDPressureAttributesEnum.PRES.name: 0.0, - DDPressureAttributesEnum.TEMP.name: 0.0 - }, - DDPressureNames.D41_PRES.name: { - DDPressureAttributesEnum.PRES.name: 0.0, - DDPressureAttributesEnum.TEMP.name: 0.0 - } + DDPressureNames.D9_PRES.name: 0.0, + DDPressureNames.D66_PRES.name: 0.0, + DDPressureNames.D51_PRES.name: 0.0, + DDPressureNames.D18_PRES.name: 0.0, + DDPressureNames.D41_PRES.name: 0.0 } self.dd_pressures_timestamp = 0 - @publish(["dd_pressures_timestamp", "dd_pressures"]) + @publish(["msg_id_dd_pressures_data", "dd_pressures", "dd_pressures_timestamp"]) def _handler_pressures_sync(self, message,timestamp=0.0): """ Handles published DD pressure data messages. DD Pressure data are captured @@ -90,34 +67,16 @@ @param message: published DD pressure data message @return: none """ - self.dd_pressures[DDPressureNames.M1_PRES.name][DDPressureAttributesEnum.PRES.name] = struct.unpack('f', bytearray( + self.dd_pressures[DDPressureNames.D9_PRES.name] = struct.unpack('f', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_1:MsgFieldPositions.END_POS_FIELD_1]))[0] - self.dd_pressures[DDPressureNames.M3_PRES.name][DDPressureAttributesEnum.PRES.name] = struct.unpack('f', bytearray( + self.dd_pressures[DDPressureNames.D66_PRES.name] = struct.unpack('f', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_2:MsgFieldPositions.END_POS_FIELD_2]))[0] - self.dd_pressures[DDPressureNames.D9_PRES.name][DDPressureAttributesEnum.PRES.name] = struct.unpack('f', bytearray( + self.dd_pressures[DDPressureNames.D51_PRES.name] = struct.unpack('f', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_3:MsgFieldPositions.END_POS_FIELD_3]))[0] - self.dd_pressures[DDPressureNames.D66_PRES.name][DDPressureAttributesEnum.PRES.name] = struct.unpack('f', bytearray( + self.dd_pressures[DDPressureNames.D18_PRES.name] = struct.unpack('f', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_4:MsgFieldPositions.END_POS_FIELD_4]))[0] - self.dd_pressures[DDPressureNames.D51_PRES.name][DDPressureAttributesEnum.PRES.name]= struct.unpack('f', bytearray( + self.dd_pressures[DDPressureNames.D41_PRES.name] = struct.unpack('f', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_5:MsgFieldPositions.END_POS_FIELD_5]))[0] - self.dd_pressures[DDPressureNames.D18_PRES.name][DDPressureAttributesEnum.PRES.name] = struct.unpack('f', bytearray( - message['message'][MsgFieldPositions.START_POS_FIELD_6:MsgFieldPositions.END_POS_FIELD_6]))[0] - self.dd_pressures[DDPressureNames.D41_PRES.name][DDPressureAttributesEnum.PRES.name] = struct.unpack('f', bytearray( - message['message'][MsgFieldPositions.START_POS_FIELD_7:MsgFieldPositions.END_POS_FIELD_7]))[0] - self.dd_pressures[DDPressureNames.M1_PRES.name][DDPressureAttributesEnum.TEMP.name] = struct.unpack('f', bytearray( - message['message'][MsgFieldPositions.START_POS_FIELD_8:MsgFieldPositions.END_POS_FIELD_8]))[0] - self.dd_pressures[DDPressureNames.M3_PRES.name][DDPressureAttributesEnum.TEMP.name] = struct.unpack('f', bytearray( - message['message'][MsgFieldPositions.START_POS_FIELD_9:MsgFieldPositions.END_POS_FIELD_9]))[0] - self.dd_pressures[DDPressureNames.D9_PRES.name][DDPressureAttributesEnum.TEMP.name] = struct.unpack('f', bytearray( - message['message'][MsgFieldPositions.START_POS_FIELD_10:MsgFieldPositions.END_POS_FIELD_10]))[0] - self.dd_pressures[DDPressureNames.D66_PRES.name][DDPressureAttributesEnum.TEMP.name] = struct.unpack('f', bytearray( - message['message'][MsgFieldPositions.START_POS_FIELD_11:MsgFieldPositions.END_POS_FIELD_11]))[0] - self.dd_pressures[DDPressureNames.D51_PRES.name][DDPressureAttributesEnum.TEMP.name] = struct.unpack('f', bytearray( - message['message'][MsgFieldPositions.START_POS_FIELD_12:MsgFieldPositions.END_POS_FIELD_12]))[0] - self.dd_pressures[DDPressureNames.D18_PRES.name][DDPressureAttributesEnum.TEMP.name] = struct.unpack('f', bytearray( - message['message'][MsgFieldPositions.START_POS_FIELD_13:MsgFieldPositions.END_POS_FIELD_13]))[0] - self.dd_pressures[DDPressureNames.D41_PRES.name][DDPressureAttributesEnum.TEMP.name] = struct.unpack('f', bytearray( - message['message'][MsgFieldPositions.START_POS_FIELD_14:MsgFieldPositions.END_POS_FIELD_14]))[0] self.dd_pressures_timestamp = timestamp