Index: leahi_dialin/fp/modules/temperatures.py =================================================================== diff -u -r66d171f4704fd77835314e6024e508587f001e8f -redccc0fd295ef1c384046edbcc3a83901bfc9bc9 --- leahi_dialin/fp/modules/temperatures.py (.../temperatures.py) (revision 66d171f4704fd77835314e6024e508587f001e8f) +++ leahi_dialin/fp/modules/temperatures.py (.../temperatures.py) (revision edccc0fd295ef1c384046edbcc3a83901bfc9bc9) @@ -50,9 +50,9 @@ fp_enum_repository.FPTemperatureSensorNames.P19_TEMP.name: 0.0, fp_enum_repository.FPTemperatureSensorNames.P7_TEMP.name: 0.0, fp_enum_repository.FPTemperatureSensorNames.P16_TEMP.name: 0.0, - fp_enum_repository.FPTemperatureSensorNames.P46_TEMP.name: 0.0, fp_enum_repository.FPTemperatureSensorNames.P7_INTERNAL_TEMP.name: 0.0, - fp_enum_repository.FPTemperatureSensorNames.P16_INTERNAL_TEMP.name: 0.0 + fp_enum_repository.FPTemperatureSensorNames.P16_INTERNAL_TEMP.name: 0.0, + fp_enum_repository.FPTemperatureSensorNames.P46_TEMP.name: 0.0 } @@ -77,36 +77,13 @@ sensor_list.append((fp_enum_repository.FPTemperatureSensorNames.P7_INTERNAL_TEMP, 'f')) sensor_list.append((fp_enum_repository.FPTemperatureSensorNames.P16_INTERNAL_TEMP, 'f')) - self.fp_temperatures[fp_enum_repository.FPTemperatureSensorNames.P10_TEMP.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.fp_temperatures[sensor[0].name] = struct.unpack(sensor[1], bytearray(message['message'][start_pos:end_pos]))[0] + i += 1 - self.fp_temperatures[fp_enum_repository.FPTemperatureSensorNames.P19_TEMP.name] = struct.unpack('f', bytearray( - message['message'][MsgFieldPositions.START_POS_FIELD_3:MsgFieldPositions.END_POS_FIELD_3]))[0] - - self.fp_temperatures[fp_enum_repository.FPTemperatureSensorNames.P8_TEMP.name] = struct.unpack('f', bytearray( - message['message'][MsgFieldPositions.START_POS_FIELD_4:MsgFieldPositions.END_POS_FIELD_4]))[0] - - self.fp_temperatures[fp_enum_repository.FPTemperatureSensorNames.P13_TEMP.name] = struct.unpack('f', bytearray( - message['message'][MsgFieldPositions.START_POS_FIELD_5:MsgFieldPositions.END_POS_FIELD_5]))[0] - - self.fp_temperatures[fp_enum_repository.FPTemperatureSensorNames.P17_TEMP.name] = struct.unpack('f', bytearray( - message['message'][MsgFieldPositions.START_POS_FIELD_6:MsgFieldPositions.END_POS_FIELD_6]))[0] - - self.fp_temperatures[fp_enum_repository.FPTemperatureSensorNames.P7_TEMP.name] = struct.unpack('f', bytearray( - message['message'][MsgFieldPositions.START_POS_FIELD_7:MsgFieldPositions.END_POS_FIELD_7]))[0] - - self.fp_temperatures[fp_enum_repository.FPTemperatureSensorNames.P16_TEMP.name] = struct.unpack('f', bytearray( - message['message'][MsgFieldPositions.START_POS_FIELD_8:MsgFieldPositions.END_POS_FIELD_8]))[0] - - self.fp_temperatures[fp_enum_repository.FPTemperatureSensorNames.P46_TEMP.name] = struct.unpack('f', bytearray( - message['message'][MsgFieldPositions.START_POS_FIELD_9:MsgFieldPositions.END_POS_FIELD_9]))[0] - - self.fp_temperatures[fp_enum_repository.FPTemperatureSensorNames.P7_INTERNAL_TEMP.name] = struct.unpack('f', bytearray( - message['message'][MsgFieldPositions.START_POS_FIELD_10:MsgFieldPositions.END_POS_FIELD_10]))[0] - - self.fp_temperatures[fp_enum_repository.FPTemperatureSensorNames.P16_INTERNAL_TEMP.name] = struct.unpack('f', bytearray( - message['message'][MsgFieldPositions.START_POS_FIELD_11:MsgFieldPositions.END_POS_FIELD_11]))[0] - self.fp_temperature_sensors_timestamp = timestamp @@ -143,7 +120,10 @@ @param reset: (int) whether to reset the override value. The default is NO_RESET @returns 1 if successful, zero otherwise """ - # FP Conductivity Sensors' Temperature Override + rst = integer_to_bytearray(reset) + value = float_to_bytearray(sensor_value) + + # FP Conductivity Sensors' Temperature Override if fp_enum_repository.FPTemperatureSensorNames.FIRST_CONDUCTIVITY_SENSOR.value <= sensor_index <= fp_enum_repository.FPTemperatureSensorNames.LAST_CONDUCTIVITY_SENSOR.value: modified_index = sensor_index - fp_enum_repository.FPTemperatureSensorNames.FIRST_CONDUCTIVITY_SENSOR.value + BETA_IOFP_COND_SENSOR_OFFSET msg_id = MsgIds.MSG_ID_FP_CONDUCTIVITY_TEMP_OVERRIDE_REQUEST