Beispiel #1
0
    def run(self):
        while not self.stop:
            if not self.wait:
                muxing_params = MuxingParams()
                muxing_params.index = self.job_index
                muxing_params.progress = 0
                with open(GlobalFiles.LogFilePath, "a+") as log_file:
                    for line in next_line(log_file):
                        if line.find('Done.') != -1 or line.find(
                                'No changes were made') != -1:
                            muxing_params.progress = 100
                            self.send_muxing_progress_data_signal.emit(
                                muxing_params)
                            break
                        elif line.find('Error:') != -1:
                            muxing_params.error = True
                            muxing_params.message = line
                            self.send_muxing_progress_data_signal.emit(
                                muxing_params)
                            break
                self.finished_job_signal.emit()
                self.wait = True
            else:
                QThread.msleep(50)

        self.all_finished.emit()
Beispiel #2
0
    def run(self):
        self.manager.connection.core.ChangeWindowAttributesChecked(
            self.manager.screen.root,
            xcffib.xproto.CW.EventMask,
            [
                xcffib.xproto.EventMask.PropertyChange
                | xcffib.xproto.EventMask.SubstructureNotify,
            ],
        ).check()
        current_thread = QThread.currentThread()

        while True:
            if current_thread.isInterruptionRequested():
                return

            evt = self.manager.connection.poll_for_event()
            if evt is None:
                QThread.msleep(10)
                continue

            for wanted_type, handler in self.handlers.items():
                if isinstance(evt, wanted_type):
                    try:
                        handler(evt)
                    except:
                        self.logger.error(
                            "Error handling event %s", repr(evt), exc_info=True
                        )
Beispiel #3
0
    def run(self):
        while True:
            try:
                string = self.sock.recv(flags=zmq.NOBLOCK)
                topic, data = string.split()
                values = data.decode().split(',')
                values = {
                    key: float(value)
                    for key, value in zip([
                        "V_BIAS_LNA_CHX", "V_BIAS_LNA_CHY", "V_BIAS_LNA_CHZ",
                        "M_CHX", "M_CHY", "M_CHZ", "VDD_CHX", "VDD_CHY",
                        "VDD_CHZ", "I_CHX", "I_CHY", "I_CHZ", "V_CHX", "V_CHY",
                        "V_CHZ"
                    ], values[1:])
                }
                self.updateVoltages.emit(values)

                limit = Q_(config.asic_current_limit.get())
                if any([
                        ureg.milliampere * 1e-3 * value > limit for value in
                    [values["I_CHX"], values["I_CHY"], values["I_CHZ"]]
                ]):
                    log.critical(
                        f'Reached current limit {limit}, CHX:{ureg.milliampere * 1e-3 * values["I_CHX"]}  CHY:{ureg.milliampere * 1e-3 * values["I_CHY"]}  CHZ:{ureg.milliampere * 1e-3 * values["I_CHZ"]}'
                    )
                    self.restartDisco.emit()
            except zmq.ZMQError:
                pass
            if self.isInterruptionRequested():
                return
            QThread.msleep(10)
    def run(self):
        try:
            while not self.stop:
                if not self.wait:
                    muxing_params = MuxingParams()
                    muxing_params.index = self.job_index
                    muxing_params.progress = 0
                    with open(GlobalFiles.MuxingLogFilePath,
                              "a+",
                              encoding="UTF-8") as log_file:
                        for line in next_line(log_file):
                            if line.find('Done.') != -1 or line.find(
                                    'No changes were made') != -1:
                                muxing_params.progress = 100
                                self.send_muxing_progress_data_signal.emit(
                                    muxing_params)
                                break
                            elif line.find('Error:') != -1:
                                muxing_params.error = True
                                muxing_params.message = line
                                self.send_muxing_progress_data_signal.emit(
                                    muxing_params)
                                break
                    self.finished_job_signal.emit()
                    self.wait = True
                else:
                    QThread.msleep(50)

            self.all_finished.emit()
        except Exception as e:
            write_to_log_file(traceback.format_exc())
Beispiel #5
0
    def run(self):
        while True:
            try:
                string = self.sock.recv(
                    flags=zmq.NOBLOCK)  #Recieve the Voltages
                topic, data = string.split()
                values = data.decode().split(',')
                values = {  #??? damn tricky
                    key: float(value)
                    for key, value in zip([
                        "VDD_CHX", "M_CHX", "V_BIAS_LNA_CHX", "S_CHX",
                        "RTN_CHX", "VDD_CHY", "M_CHY", "V_BIAS_LNA_CHY",
                        "S_CHY", "RTN_CHY", "VDD_CHZ", "M_CHZ",
                        "V_BIAS_LNA_CHZ", "S_CHZ", "RTN_CHZ", "ADC_VDD_CHX",
                        "ADC_M_CHX", "ADC_V_BIAS_LNA_CHX", "ADC_S_CHX",
                        "ADC_RTN_CHX", "ADC_VDD_CHY", "ADC_M_CHY",
                        "ADC_V_BIAS_LNA_CHY", "ADC_S_CHY", "ADC_RTN_CHY",
                        "ADC_VDD_CHZ", "ADC_M_CHZ", "ADC_V_BIAS_LNA_CHZ",
                        "ADC_S_CHZ", "ADC_RTN_CHZ", "CONSO_CHX", "CONSO_CHY",
                        "CONSO_CHZ", "ALIM_CHX", "ALIM_CHY", "ALIM_CHZ"
                    ], values[1:])
                }
                for key, value in values.items():
                    if "VDD" in key:
                        if "ADC" in key:
                            values[key] = (6.0 + 0.023) / 4096. * value
                        else:
                            values[key] = (6.0 + 0.023) / 1024. * value

                    elif "CONSO" in key:
                        values[key] = value / 1000.

                    elif "ALIM" in key:
                        values[key] = value / 1000.
                    else:
                        if "ADC" in key:
                            values[key] = 5. / 4096. * value
                        else:
                            values[key] = 5. / 1024. * value

                for ch in ["X", "Y", "Z"]:
                    values[f"Offset_S_CH{ch}"] = values[f"S_CH{ch}"] - values[
                        f"M_CH{ch}"]
                    values[f"Offset_RTN_CH{ch}"] = values[
                        f"RTN_CH{ch}"] - values[f"M_CH{ch}"]
                    values[f"ADC_Offset_S_CH{ch}"] = values[
                        f"ADC_S_CH{ch}"] - values[f"ADC_M_CH{ch}"]
                    values[f"ADC_Offset_RTN_CH{ch}"] = values[
                        f"ADC_RTN_CH{ch}"] - values[f"ADC_M_CH{ch}"]

                self.updateVoltages.emit(values)  #MAJ Voltages

            except zmq.ZMQError:
                pass
            if self.isInterruptionRequested():
                return
            QThread.msleep(10)
            QApplication.processEvents()
Beispiel #6
0
    def __del__(self):
        for thr in [self.arduinoStatusWorker, self.voltagesWorker]:
            thr.requestInterruption()
            while thr.isRunning():
                QThread.msleep(10)
#        del self.discoWorker
        del self.arduinoStatusWorker
        #        del self.tempWorker
        del self.voltagesWorker
        self.close()
Beispiel #7
0
 def request_stop(self):
     """
     Called by external client to stop timer.
     """
     LOGGER.info("Requesting VoiceRecognitionService to stop timer.")
     self.stop_timer.emit()
     QThread.msleep(self.interval * 3)
     while self.timer.isActive():
         QThread.msleep(self.interval * 3)
     LOGGER.info("Requested VoiceRecognitionService to stop timer.")
 def run(self):
     while not self.stop:
         if not self.wait:
             with open(GlobalFiles.LogFilePath, "a+") as log_file:
                 mux_process = subprocess.run(self.command,
                                              shell=True,
                                              stdout=log_file)
             self.finished_job_signal.emit(mux_process.returncode)
             self.wait = True
         else:
             QThread.msleep(50)
     self.all_finished.emit()
Beispiel #9
0
 def run(self):
     while True:
         try:
             string = self.sock.recv(flags=zmq.NOBLOCK)  #recieve msgs
             topic, data = string.split()
             self.updateStatus.emit("Temperatures and Voltages monitor: " +
                                    data.decode())
         except zmq.ZMQError:
             pass
         if self.isInterruptionRequested():
             self.stop()
             return
         QThread.msleep(10)
Beispiel #10
0
 def run(self):
     while True:
         try:
             string = self.sock.recv(flags=zmq.NOBLOCK)
             topic, data = string.split()
             t, tempA, tempB, tempC = data.decode().split(',')
             self.updateTemperatures.emit(float(tempA), float(tempB),
                                          float(tempC))
         except zmq.ZMQError:
             pass
         if self.isInterruptionRequested():
             return
         QThread.msleep(10)
Beispiel #11
0
 def run(self):
     try:
         while not self.stop:
             if not self.wait:
                 with open(GlobalFiles.MuxingLogFilePath,
                           "a+",
                           encoding="UTF-8") as log_file:
                     mux_process = subprocess.run(self.command,
                                                  shell=True,
                                                  stdout=log_file)
                 self.finished_job_signal.emit(mux_process.returncode)
                 self.wait = True
             else:
                 QThread.msleep(50)
         self.all_finished.emit()
     except Exception as e:
         write_to_log_file(traceback.format_exc())
    def run(self):
        try:
            while not self.stop:
                if not self.wait:
                    muxing_params = MuxingParams()
                    muxing_params.index = self.job_index
                    muxing_params.progress = 0
                    with open(GlobalFiles.MuxingLogFilePath,
                              "a+",
                              encoding="UTF-8") as log_file:
                        for line in next_line(log_file):
                            if line.find('Progress:') != -1:
                                new_progress = get_int_from_string(line)
                                muxing_params.progress = new_progress
                                self.send_muxing_progress_data_signal.emit(
                                    muxing_params)
                            elif line.find(
                                    'Error in the Matroska file structure'
                            ) != -1:
                                muxing_params.error = True
                                muxing_params.message = line
                                self.send_muxing_progress_data_signal.emit(
                                    muxing_params)
                            elif line.find('Multiplexing took') != -1:
                                muxing_params.progress = 100
                                self.send_muxing_progress_data_signal.emit(
                                    muxing_params)
                                break
                            elif line.find("Error: ") != -1:
                                muxing_params.error = True
                                muxing_params.message = line
                                self.send_muxing_progress_data_signal.emit(
                                    muxing_params)
                                break
                    self.finished_job_signal.emit(muxing_params)
                    self.wait = True

                else:
                    QThread.msleep(50)
            self.all_finished.emit()
        except Exception as e:
            write_to_log_file(traceback.format_exc())
    def run(self):
        while not self.stop:
            if not self.wait:
                muxing_params = MuxingParams()
                muxing_params.index = self.job_index
                muxing_params.progress = 0
                with open(GlobalFiles.LogFilePath, "a+") as log_file:
                    for line in next_line(log_file):
                        if line.find('Progress:') != -1:
                            new_progress = get_int_from_string(line)
                            muxing_params.progress = new_progress
                            self.send_muxing_progress_data_signal.emit(
                                muxing_params)
                        elif line.find(
                                'Error in the Matroska file structure') != -1:
                            muxing_params.error = True
                            muxing_params.message = line
                            self.send_muxing_progress_data_signal.emit(
                                muxing_params)
                        elif line.find('Multiplexing took') != -1:
                            muxing_params.progress = 100
                            self.send_muxing_progress_data_signal.emit(
                                muxing_params)
                            break
                        elif line.find("Error: ") != -1:
                            muxing_params.error = True
                            muxing_params.message = line
                            self.send_muxing_progress_data_signal.emit(
                                muxing_params)
                            break
                self.finished_job_signal.emit(muxing_params)
                self.wait = True

            else:
                QThread.msleep(50)
                # print("LOG :"+str(self.wait))
        self.all_finished.emit()
Beispiel #14
0
 def __stop(self):
     LOGGER.info("Stopping VoiceRecognitionService timer.")
     self.timer.stop()
     QThread.msleep(self.interval * 3)
     LOGGER.info("Stopped VoiceRecognitionService timer.")
Beispiel #15
0
 def run(self):
     while(True):
         QThread.msleep(100)
         npQDraw = np.array(Image.open(io.BytesIO(self.pWindow.buffer.data())))