Index: leahi_dialin/dd/modules/pressure_sensors.py =================================================================== diff -u -r71e513edcb6c315f0b890c23200289e17fd04efe -r71975b0c600fd9bd4b2a43cc707e6b0a2012f8b0 --- leahi_dialin/dd/modules/pressure_sensors.py (.../pressure_sensors.py) (revision 71e513edcb6c315f0b890c23200289e17fd04efe) +++ leahi_dialin/dd/modules/pressure_sensors.py (.../pressure_sensors.py) (revision 71975b0c600fd9bd4b2a43cc707e6b0a2012f8b0) @@ -19,7 +19,8 @@ from leahi_dialin.common.constants import NO_RESET, RESET from leahi_dialin.common.msg_defs import MsgIds, MsgFieldPositions -from leahi_dialin.common.dd_defs import DDPressureNames +from leahi_dialin.common.dd_defs import dd_enum_repository +from leahi_dialin.common.global_vars import GlobalVariables from leahi_dialin.common.override_templates import cmd_generic_broadcast_interval_override from leahi_dialin.protocols.CAN import DenaliMessage, DenaliChannels from leahi_dialin.utils.base import AbstractSubSystem, publish @@ -49,13 +50,14 @@ self._handler_pressures_sync) self.dd_pressures = { - 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, - DDPressureNames.D87_PRES.name: 0.0 + dd_enum_repository.DDPressureSensorNames.D9_PRES.name: 0.0, + dd_enum_repository.DDPressureSensorNames.D66_PRES.name: 0.0, + dd_enum_repository.DDPressureSensorNames.D51_PRES.name: 0.0, + dd_enum_repository.DDPressureSensorNames.D18_PRES.name: 0.0, + dd_enum_repository.DDPressureSensorNames.D41_PRES.name: 0.0 } + if GlobalVariables().HW_BETA_1_9: + self.dd_pressures[dd_enum_repository.DDPressureSensorNames.D87_PRES.name] = 0.0 self.dd_pressures_timestamp = 0 @@ -68,17 +70,22 @@ @param message: published DD pressure data message @return: none """ - self.dd_pressures[DDPressureNames.D9_PRES.name] = struct.unpack('f', bytearray( + self.dd_pressures[dd_enum_repository.DDPressureSensorNames.D9_PRES.name] = struct.unpack('f', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_1:MsgFieldPositions.END_POS_FIELD_1]))[0] - self.dd_pressures[DDPressureNames.D66_PRES.name] = struct.unpack('f', bytearray( + self.dd_pressures[dd_enum_repository.DDPressureSensorNames.D66_PRES.name] = struct.unpack('f', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_2:MsgFieldPositions.END_POS_FIELD_2]))[0] - self.dd_pressures[DDPressureNames.D51_PRES.name] = struct.unpack('f', bytearray( + self.dd_pressures[dd_enum_repository.DDPressureSensorNames.D51_PRES.name] = struct.unpack('f', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_3:MsgFieldPositions.END_POS_FIELD_3]))[0] - self.dd_pressures[DDPressureNames.D18_PRES.name] = struct.unpack('f', bytearray( + self.dd_pressures[dd_enum_repository.DDPressureSensorNames.D18_PRES.name] = struct.unpack('f', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_4:MsgFieldPositions.END_POS_FIELD_4]))[0] - self.dd_pressures[DDPressureNames.D41_PRES.name] = struct.unpack('f', bytearray( + self.dd_pressures[dd_enum_repository.DDPressureSensorNames.D41_PRES.name] = struct.unpack('f', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_5:MsgFieldPositions.END_POS_FIELD_5]))[0] - self.dd_pressures[DDPressureNames.D87_PRES.name] = struct.unpack('f', bytearray( + + if GlobalVariables().HW_BETA_1_9: + if dd_enum_repository.DDPressureSensorNames.D87_PRES.name not in self.dd_pressures: + self.dd_pressures[dd_enum_repository.DDPressureSensorNames.D87_PRES.name] = 0.0 + + self.dd_pressures[dd_enum_repository.DDPressureSensorNames.D87_PRES.name] = struct.unpack('f', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_6:MsgFieldPositions.END_POS_FIELD_6]))[0] self.dd_pressures_timestamp = timestamp