def update_motor_tree(self, baud_for_ids): self.window.motor_tree.clear() for b, ids in baud_for_ids.items(): baud_root = QTreeWidgetItem(self.window.motor_tree, [str(b)]) baud_root.setExpanded(True) f = int(baud_root.flags()) - int(QtCore.Qt.ItemIsSelectable) baud_root.setFlags(QtCore.Qt.ItemFlags(f)) dxl_io = get_dxl_connection(self.port, b, self.protocol) models = dxl_io.get_model(ids) release_dxl_connection() for id, model in zip(ids, models): QTreeWidgetItem(baud_root, ['', str(id), model])
def run(self): for b in self.baudrates: baud_root = QTreeWidgetItem(self.motor_tree, [str(b)]) baud_root.setExpanded(True) f = int(baud_root.flags()) - int(QtCore.Qt.ItemIsSelectable) baud_root.setFlags(QtCore.Qt.ItemFlags(f)) dxl_io = get_dxl_connection(self.port, b, self.protocol) for id in self.id_range: if not self.running.is_set(): break if dxl_io.ping(id): model = dxl_io.get_model((id, ))[0] QTreeWidgetItem(baud_root, ['', str(id), model]) self.part_done.emit(self.scan_progress.value() + 1) release_dxl_connection() self.done.emit()