Index: leahi_dialin/dd/modules/conductivity_sensors.py =================================================================== diff -u -r2ceefb8e83a86f153df1f8a8faf0aa37cfc0c088 -r8f6f5505aa923057e686bd3fbef4af8b518e349e --- leahi_dialin/dd/modules/conductivity_sensors.py (.../conductivity_sensors.py) (revision 2ceefb8e83a86f153df1f8a8faf0aa37cfc0c088) +++ leahi_dialin/dd/modules/conductivity_sensors.py (.../conductivity_sensors.py) (revision 8f6f5505aa923057e686bd3fbef4af8b518e349e) @@ -54,8 +54,7 @@ dd_enum_repository.DDConductivitySensorNames.D27_COND.name: 0.0, dd_enum_repository.DDConductivitySensorNames.D29_COND.name: 0.0, dd_enum_repository.DDConductivitySensorNames.D43_COND.name: 0.0, - dd_enum_repository.DDConductivitySensorNames.D74_COND.name: 0.0, - dd_enum_repository.DDConductivitySensorNames.D98_COND.name: 0.0 + dd_enum_repository.DDConductivitySensorNames.D74_COND.name: 0.0 } self.dd_conductivity_timestamp = 0.0 @@ -70,24 +69,20 @@ @param message: published DD conductivity sensor data message @return: None """ - self.dd_conductivity[dd_enum_repository.DDConductivitySensorNames.D17_COND.name] = struct.unpack('f', bytearray( - message['message'][MsgFieldPositions.START_POS_FIELD_1:MsgFieldPositions.END_POS_FIELD_1]))[0] + sensor_list =[] + sensor_list.append((dd_enum_repository.DDConductivitySensorNames.D17_COND, 'f')) + sensor_list.append((dd_enum_repository.DDConductivitySensorNames.D27_COND, 'f')) + sensor_list.append((dd_enum_repository.DDConductivitySensorNames.D29_COND, 'f')) + sensor_list.append((dd_enum_repository.DDConductivitySensorNames.D43_COND, 'f')) + sensor_list.append((dd_enum_repository.DDConductivitySensorNames.D74_COND, 'f')) - self.dd_conductivity[dd_enum_repository.DDConductivitySensorNames.D27_COND.name] = struct.unpack('f', bytearray( - message['message'][MsgFieldPositions.START_POS_FIELD_2:MsgFieldPositions.END_POS_FIELD_2]))[0] + 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}') + self.dd_conductivity[sensor[0].name] = struct.unpack(sensor[1],bytearray(message['message'][start_pos:end_pos]))[0] + i += 1 - self.dd_conductivity[dd_enum_repository.DDConductivitySensorNames.D29_COND.name] = struct.unpack('f', bytearray( - message['message'][MsgFieldPositions.START_POS_FIELD_3:MsgFieldPositions.END_POS_FIELD_3]))[0] - - self.dd_conductivity[dd_enum_repository.DDConductivitySensorNames.D43_COND.name] = struct.unpack('f', bytearray( - message['message'][MsgFieldPositions.START_POS_FIELD_4:MsgFieldPositions.END_POS_FIELD_4]))[0] - - self.dd_conductivity[dd_enum_repository.DDConductivitySensorNames.D74_COND.name] = struct.unpack('f', bytearray( - message['message'][MsgFieldPositions.START_POS_FIELD_5:MsgFieldPositions.END_POS_FIELD_5]))[0] - - self.dd_conductivity[dd_enum_repository.DDConductivitySensorNames.D98_COND.name] = struct.unpack('f', bytearray( - message['message'][MsgFieldPositions.START_POS_FIELD_6:MsgFieldPositions.END_POS_FIELD_6]))[0] - self.dd_conductivity_timestamp = timestamp