def retornar(interface, commander, indiceX, indiceY): if interface.check_return.isChecked(): interface_status_msg(interface, "Voltando...") if (indiceY % 2 == 0): ## Se o numero de linhas for par, então já está no final. commander.move_X(-indiceX) commander.move_Y(indiceY)
def instrument_setup(Instrument, freq, interface): instrument = Instrument( extrair_recurso(interface.box_instrumento.currentText())) instrument.activate_mode_receiver() instrument.write('RMOD:FREQ {}'.format(freq)) time.sleep(0.5) ### interface_status_msg(interface, "Escaneando...") return instrument
def instrument_clean_up( instrument, interface, detector, error_msg=" ", ): instrument.close() interface_status_msg(interface, "Esperando") interface_error_msg(interface, error_msg) detector.release() interface_scan_finished(interface)
def left(): interface_status_msg(self.wid, "MOVENDO -X") try: self.cmdr.move_X(-1, self.wid.box_stepX.value()) interface_status_msg(self.wid, "Conectado.") except Exception: interface_status_msg(self.wid, "Algo deu errado.")
def down(): interface_status_msg(self.wid, "MOVENDO -Y") try: self.cmdr.move_Y(-1, self.wid.box_stepY.value()) interface_status_msg(self.wid, "Conectado.") except Exception: interface_status_msg(self.wid, "Algo deu errado.")
def left(): interface_status_msg(self.mvr, "MOVENDO -X") try: self.cmdr.move_X(-self.mvr.box_unidadeX.value()) interface_status_msg(self.mvr, "Conectado.") except Exception: interface_status_msg(self.mvr, "Algo deu errado.")
def down(): interface_status_msg(self.mvr, "MOVENDO -Y") try: self.cmdr.move_Y(-self.mvr.box_unidadeY.value()) interface_status_msg(self.mvr, "Conectado.") except Exception: interface_status_msg(self.mvr, "Algo deu errado.")
def scan(interface, running, interrupt, semafaro, detector, model): from scpiinterface import Instrument while (True): semafaro.acquire() if running.is_set() is False: return try: freq = get_frequency(interface) indiceX = get_X(interface) indiceY = get_Y(interface) fname = get_filename(interface) interface_scan_start(interface) #### header = [chr(x + 65) for x in range(0, indiceX)] data_list = [dim_gen(indiceX, '?') for Y in range(0, indiceY)] model.update_header(header) model.update_data(data_list) direcao = 1 instrument = instrument_setup(Instrument, freq, interface) commander = commander_setup(Commander, interface) print("total:{}".format(indiceX * indiceY)) for i in range(0, indiceY): if (i != 0): commander.move_Y(-1) if running.is_set() is False: return if interrupt.is_set(): interrupt_instrument(instrument, interface) if indiceX == 1: data_list[i][j] = str(val) model.update_data(data_list) for j in range(0, indiceX): if running.is_set() is False: return if interrupt.is_set() is False: val = instrument.receiver_level if (i % 2 == 0): data_list[i][j] = str(val) direcao = 1 else: # Se esta linha for impar, faça de tras pra frente data_list[i][-(j + 1)] = str(val) direcao = -1 model.update_data(data_list) if (j != indiceX - 1): ## Se for o ultimo da coluna, nao mova commander.move_X(direcao) else: interrupt_instrument(instrument, interface) print(instrument.hello) retornar(interface, commander, j, i) commander_cleanup(commander, interface) instrument_clean_up(instrument, interface, detector) model_to_csv(model, fname) interface_error_msg(interface, "Salvo: " + fname + ".csv") except (KeyboardInterrupt, Interrupt_Error) as e: print("Something went wrong: " + str(e)) try: if running.is_set() is False: return commander_cleanup(commander, interface) instrument_clean_up(instrument, interface, detector, "Erro: Interrompido.") except Exception: interface_error_msg(interface, "Erro: Cheque Conexão.") interface_status_msg(interface, "Esperando...") if running.is_set() is False: return except Exception as e: print("Something went wrong: " + str(e)) try: if running.is_set() is False: return commander_cleanup(commander, interface) instrument_clean_up(instrument, interface, detector, "Erro: Desconhecido. Cheque conexão.") except Exception: interface_error_msg(interface, "Erro: Cheque Conexão.") interface_status_msg(interface, "Esperando...") if running.is_set() is False: return interface_scan_finished(interface)
def interrupt_instrument(instrument, interface): interface_status_msg(interface, "Esperando") interface_error_msg(interface, "Interrompido") instrument.close() raise Interrupt_Error
def mover(self): loader = QUiLoader() interface_matrix_start(self.interface) ui_file = QFile("mover.ui") ui_file.open(QFile.ReadOnly) self.mvr = loader.load(ui_file) ui_file.close() self.mvr.setWindowTitle('Mover') self.mvr.show() self.mvr.installEventFilter(self) try: self.cmdr = cmdrinterface.Commander( get_commander_port(self.interface)) self.cmdr.connect() interface_status_msg(self.mvr, "Conectado.") except Exception: interface_status_msg(self.mvr, "Algo deu errado.") @Slot() def up(): interface_status_msg(self.mvr, "MOVENDO +Y") try: self.cmdr.move_Y(self.mvr.box_unidadeY.value()) interface_status_msg(self.mvr, "Conectado.") except Exception: interface_status_msg(self.mvr, "Algo deu errado.") @Slot() def down(): interface_status_msg(self.mvr, "MOVENDO -Y") try: self.cmdr.move_Y(-self.mvr.box_unidadeY.value()) interface_status_msg(self.mvr, "Conectado.") except Exception: interface_status_msg(self.mvr, "Algo deu errado.") @Slot() def right(): interface_status_msg(self.mvr, "MOVENDO +X") try: self.cmdr.move_X(self.mvr.box_unidadeX.value()) interface_status_msg(self.mvr, "Conectado.") except Exception: interface_status_msg(self.mvr, "Algo deu errado.") @Slot() def left(): interface_status_msg(self.mvr, "MOVENDO -X") try: self.cmdr.move_X(-self.mvr.box_unidadeX.value()) interface_status_msg(self.mvr, "Conectado.") except Exception: interface_status_msg(self.mvr, "Algo deu errado.") @Slot() def done(): self.cmdr.close() self.mvr.close() self.mvr.botao_up.clicked.connect(up) self.mvr.botao_right.clicked.connect(right) self.mvr.botao_left.clicked.connect(left) self.mvr.botao_down.clicked.connect(down) self.mvr.botao_ok.clicked.connect(done)
def programmer(self): loader = QUiLoader() interface_matrix_start(self.interface) ui_file = QFile("program.ui") ui_file.open(QFile.ReadOnly) self.wid = loader.load(ui_file) ui_file.close() self.wid.setWindowTitle('Calibrador') self.wid.show() self.wid.installEventFilter(self) try: self.cmdr = cmdrinterface.Commander( get_commander_port(self.interface)) self.cmdr.connect() interface_status_msg(self.wid, "Conectado.") self.stepX = self.cmdr.stepX self.stepY = self.cmdr.stepY self.wid.box_stepX.setValue(self.stepX) self.wid.box_stepY.setValue(self.stepY) except Exception: interface_status_msg(self.wid, "Algo deu errado.") @Slot() def up(): interface_status_msg(self.wid, "MOVENDO +Y") try: self.cmdr.move_Y(1, self.wid.box_stepY.value()) interface_status_msg(self.wid, "Conectado.") except Exception: interface_status_msg(self.wid, "Algo deu errado.") @Slot() def down(): interface_status_msg(self.wid, "MOVENDO -Y") try: self.cmdr.move_Y(-1, self.wid.box_stepY.value()) interface_status_msg(self.wid, "Conectado.") except Exception: interface_status_msg(self.wid, "Algo deu errado.") @Slot() def right(): interface_status_msg(self.wid, "MOVENDO +X") try: self.cmdr.move_X(1, self.wid.box_stepX.value()) interface_status_msg(self.wid, "Conectado.") except Exception: interface_status_msg(self.wid, "Algo deu errado.") @Slot() def left(): interface_status_msg(self.wid, "MOVENDO -X") try: self.cmdr.move_X(-1, self.wid.box_stepX.value()) interface_status_msg(self.wid, "Conectado.") except Exception: interface_status_msg(self.wid, "Algo deu errado.") @Slot() def done(): self.cmdr.set_stepX(self.wid.box_stepX.value()) self.cmdr.set_stepY(self.wid.box_stepY.value()) self.cmdr.close() self.wid.close() @Slot() def cancelar(): ### Resetar para os valores antes da programação. self.cmdr.set_stepX(self.stepX) self.cmdr.set_stepY(self.stepY) self.cmdr.close() self.wid.close() self.wid.botao_up.clicked.connect(up) self.wid.botao_right.clicked.connect(right) self.wid.botao_left.clicked.connect(left) self.wid.botao_down.clicked.connect(down) self.wid.botao_ok.clicked.connect(done) self.wid.botao_cancelar.clicked.connect(done)