示例#1
0
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)
示例#2
0
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
示例#3
0
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)
示例#4
0
 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.")
示例#5
0
 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.")
示例#6
0
 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.")
示例#7
0
 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.")
示例#8
0
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)
示例#9
0
def interrupt_instrument(instrument, interface):
    interface_status_msg(interface, "Esperando")
    interface_error_msg(interface, "Interrompido")
    instrument.close()
    raise Interrupt_Error
示例#10
0
    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)
示例#11
0
    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)