Index: leahi_dialin/td/modules/pressure_sensors.py =================================================================== diff -u -rd864e0c1d88eb80c093137100b667d41f2de2443 -rdcb0ff38b7904e7327643804446f2f834d6732fd --- leahi_dialin/td/modules/pressure_sensors.py (.../pressure_sensors.py) (revision d864e0c1d88eb80c093137100b667d41f2de2443) +++ leahi_dialin/td/modules/pressure_sensors.py (.../pressure_sensors.py) (revision dcb0ff38b7904e7327643804446f2f834d6732fd) @@ -89,28 +89,30 @@ @return: none """ sensor_list =[] - sensor_list.append((self.td_pressure_sensors[td_enum_repository.TDPressureSensorNames.H2_PRES.name][td_enum_repository.TDPressureSensorAttributes.PRES.name], 'f')) - sensor_list.append((self.td_pressure_sensors[td_enum_repository.TDPressureSensorNames.H14_PRES.name][td_enum_repository.TDPressureSensorAttributes.PRES.name], 'f')) - sensor_list.append((self.pressure_limits_state, 'f')) - sensor_list.append((self.td_pressure_sensors[td_enum_repository.TDPressureSensorNames.H2_PRES.name][td_enum_repository.TDPressureSensorAttributes.PRES_LIMIT_MIN.name], 'f')) - sensor_list.append((self.td_pressure_sensors[td_enum_repository.TDPressureSensorNames.H2_PRES.name][td_enum_repository.TDPressureSensorAttributes.PRES_LIMIT_MAX.name], 'f')) - sensor_list.append((self.td_pressure_sensors[td_enum_repository.TDPressureSensorNames.H14_PRES.name][td_enum_repository.TDPressureSensorAttributes.PRES_LIMIT_MIN.name], 'f')) - sensor_list.append((self.td_pressure_sensors[td_enum_repository.TDPressureSensorNames.H14_PRES.name][td_enum_repository.TDPressureSensorAttributes.PRES_LIMIT_MAX.name], 'f')) - sensor_list.append((self.td_pressure_sensors[td_enum_repository.TDPressureSensorNames.H2_PRES.name][td_enum_repository.TDPressureSensorAttributes.LONG_FILTERED_PRESSURE.name], 'f')) - sensor_list.append((self.td_pressure_sensors[td_enum_repository.TDPressureSensorNames.H14_PRES.name][td_enum_repository.TDPressureSensorAttributes.LONG_FILTERED_PRESSURE.name], 'f')) - sensor_list.append((self.tmp_pressure, 'f')) - sensor_list.append((self.tmp_long_filtered_pressure, 'f')) - sensor_list.append((self.tmp_min_limit, 'f')) - sensor_list.append((self.tmp_max_limit, 'f')) - sensor_list.append((self.td_pressure_sensors[td_enum_repository.TDPressureSensorNames.H23_PRES.name][td_enum_repository.TDPressureSensorAttributes.PRES.name], 'f')) + sensor_list.append(['self.td_pressure_sensors[td_enum_repository.TDPressureSensorNames.H2_PRES.name][td_enum_repository.TDPressureSensorAttributes.PRES.name]', 'f']) + sensor_list.append(['self.td_pressure_sensors[td_enum_repository.TDPressureSensorNames.H14_PRES.name][td_enum_repository.TDPressureSensorAttributes.PRES.name]', 'f']) + sensor_list.append(['self.pressure_limits_state', 'f']) + sensor_list.append(['self.td_pressure_sensors[td_enum_repository.TDPressureSensorNames.H2_PRES.name][td_enum_repository.TDPressureSensorAttributes.PRES_LIMIT_MIN.name]', 'f']) + sensor_list.append(['self.td_pressure_sensors[td_enum_repository.TDPressureSensorNames.H2_PRES.name][td_enum_repository.TDPressureSensorAttributes.PRES_LIMIT_MAX.name]', 'f']) + sensor_list.append(['self.td_pressure_sensors[td_enum_repository.TDPressureSensorNames.H14_PRES.name][td_enum_repository.TDPressureSensorAttributes.PRES_LIMIT_MIN.name]', 'f']) + sensor_list.append(['self.td_pressure_sensors[td_enum_repository.TDPressureSensorNames.H14_PRES.name][td_enum_repository.TDPressureSensorAttributes.PRES_LIMIT_MAX.name]', 'f']) + sensor_list.append(['self.td_pressure_sensors[td_enum_repository.TDPressureSensorNames.H2_PRES.name][td_enum_repository.TDPressureSensorAttributes.LONG_FILTERED_PRESSURE.name]', 'f']) + sensor_list.append(['self.td_pressure_sensors[td_enum_repository.TDPressureSensorNames.H14_PRES.name][td_enum_repository.TDPressureSensorAttributes.LONG_FILTERED_PRESSURE.name]', 'f']) + sensor_list.append(['self.tmp_pressure', 'f']) + sensor_list.append(['self.tmp_long_filtered_pressure', 'f']) + sensor_list.append(['self.tmp_min_limit', 'f']) + sensor_list.append(['self.tmp_max_limit', 'f']) + sensor_list.append(['self.td_pressure_sensors[td_enum_repository.TDPressureSensorNames.H23_PRES.name][td_enum_repository.TDPressureSensorAttributes.PRES.name]', 'f']) i = 1 for sensor in sensor_list: start_pos = eval(f'MsgFieldPositions.START_POS_FIELD_{i}') end_pos = eval(f'MsgFieldPositions.END_POS_FIELD_{i}') - sensor[0] = struct.unpack(sensor[1],bytearray(message['message'][start_pos:end_pos]))[0] + value = struct.unpack(sensor[1],bytearray(message['message'][start_pos:end_pos]))[0] + if 'nan' in str(value).lower(): + value = None + exec(f'{sensor[0]} = {value}') i += 1 - self.td_pressure_timestamp = timestamp