Index: leahi_dialin/dd/modules/pressure_sensors.py =================================================================== diff -u -r18c90a1b2b6c7339bdd192a2d2fac32f2b8a35df -r38e8dd31728056dbb7f9304c98ab16d7147b75a2 --- leahi_dialin/dd/modules/pressure_sensors.py (.../pressure_sensors.py) (revision 18c90a1b2b6c7339bdd192a2d2fac32f2b8a35df) +++ leahi_dialin/dd/modules/pressure_sensors.py (.../pressure_sensors.py) (revision 38e8dd31728056dbb7f9304c98ab16d7147b75a2) @@ -19,7 +19,8 @@ from logging import Logger from leahi_dialin.common.constants import NO_RESET -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.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 @@ -47,13 +48,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 @@ -67,17 +69,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 @@ -120,7 +127,7 @@ idx = integer_to_bytearray(sensor) payload = rst + prs + idx - sensor_name = DDPressureNames(sensor).name.split('_')[0] + sensor_name = dd_enum_repository.DDPressureSensorNames(sensor).name.split('_')[0] return cmd_generic_override( payload = payload, reset = reset, @@ -148,7 +155,7 @@ sensor_byte_array = integer_to_bytearray(sensor) payload = reset_byte_array + read_byte_array + sensor_byte_array - sensor_name = DDPressureNames(sensor).name.split('_')[0] + sensor_name = dd_enum_repository.DDPressureSensorNames(sensor).name.split('_')[0] return cmd_generic_override( payload = payload, reset = reset, @@ -176,7 +183,7 @@ sensor_byte_array = integer_to_bytearray(sensor) payload = reset_byte_array + error_byte_array + sensor_byte_array - sensor_name = DDPressureNames(sensor).name.split('_')[0] + sensor_name = dd_enum_repository.DDPressureSensorNames(sensor).name.split('_')[0] return cmd_generic_override( payload = payload, reset = reset, @@ -204,7 +211,7 @@ idx = integer_to_bytearray(sensor) payload = rst + prs + idx - sensor_name = DDPressureNames(sensor).name.split('_')[0] + sensor_name = dd_enum_repository.DDPressureSensorNames(sensor).name.split('_')[0] return cmd_generic_override( payload = payload, reset = reset,