Index: leahi_dialin/dd/modules/conductivity_sensors.py =================================================================== diff -u -redccc0fd295ef1c384046edbcc3a83901bfc9bc9 -r12d52245d0633f60867e469db81193d6cebec3b2 --- leahi_dialin/dd/modules/conductivity_sensors.py (.../conductivity_sensors.py) (revision edccc0fd295ef1c384046edbcc3a83901bfc9bc9) +++ leahi_dialin/dd/modules/conductivity_sensors.py (.../conductivity_sensors.py) (revision 12d52245d0633f60867e469db81193d6cebec3b2) @@ -55,8 +55,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 @@ -71,24 +70,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