def __scan_start(self, isCal=False):
        if self.isNewScan and self.__save_warn(Warn.SCAN):
            return False

        if not self.threadScan:
            self.__set_control_state(False)
            samples = calc_samples(self.settings.dwell)
            if self.isNewScan:
                self.spectrum.clear()
                self.locations.clear()
                self.graph.clear_plots()

                self.isNewScan = False
                self.status.set_info('', level=None)
                self.scanInfo.set_from_settings(self.settings)
                self.scanInfo.time = format_iso_time(time.time())
                self.scanInfo.lat = None
                self.scanInfo.lon = None
                self.scanInfo.desc = ''

            self.stopAtEnd = False
            self.stopScan = False
            self.threadScan = ThreadScan(self, self.sdr, self.settings,
                                         self.settings.indexRtl, samples,
                                         isCal)
            self.filename = "Scan {0:.1f}-{1:.1f}MHz".format(
                self.settings.start, self.settings.stop)
            self.graph.set_plot_title()

            self.__start_gps()

            return True
Example #2
0
 def __scan(self, sweeps, settings, index, pool):
     samples = settings.dwell * SAMPLE_RATE
     samples = next_2_to_pow(int(samples))
     for sweep in range(0, sweeps):
         print '\nSweep {}:'.format(sweep)
         threadScan = ThreadScan(self.queue, None, settings, index, samples,
                                 False)
         while threadScan.isAlive() or self.steps > 0:
             if not self.queue.empty():
                 self.__process_event(self.queue, pool)
         print ""
     print ""
Example #3
0
 def __scan(self, sweeps, settings, index, pool):
     samples = settings.dwell * SAMPLE_RATE
     samples = next_2_to_pow(int(samples))
     for sweep in range(0, sweeps):
         print '\nSweep {}:'.format(sweep + 1)
         threadScan = ThreadScan(self.queueNotify, self.queueScan, None,
                                 settings, index, samples, False)
         while threadScan.isAlive() or self.steps > 0:
             if not self.queueNotify.empty():
                 self.__process_event(self.queueNotify, pool)
         if self.settings.scanDelay > 0:
             print '\nDelaying {}s'.format(self.settings.scanDelay)
             time.sleep(self.settings.scanDelay)
         print ""
     print ""