def __init__(self, title, pool): self.pool = pool self.lock = threading.Lock() self.sdr = None self.threadScan = None self.threadUpdate = None self.threadLocation = None self.serverLocation = None self.isNewScan = True self.isScanning = False self.stopAtEnd = False self.stopScan = False self.dlgCal = None self.dlgSats = None self.dlgLog = None self.menuMain = None self.menuPopup = None self.graph = None self.toolbar = None self.canvas = None self.buttonStart = None self.buttonStop = None self.controlGain = None self.choiceMode = None self.choiceDwell = None self.choiceNfft = None self.spinCtrlStart = None self.spinCtrlStop = None self.choiceDisplay = None self.spectrum = OrderedDict() self.scanInfo = ScanInfo() self.locations = OrderedDict() self.lastLocation = [None] * 4 self.isSaved = True self.settings = Settings() self.devicesRtl = get_devices_rtl(self.settings.devicesRtl) self.settings.indexRtl = limit(self.settings.indexRtl, 0, len(self.devicesRtl) - 1) self.filename = "" self.oldCal = 0 self.remoteControl = None self.log = Log() self.pageConfig = wx.PageSetupDialogData() self.pageConfig.GetPrintData().SetOrientation(wx.LANDSCAPE) self.pageConfig.SetMarginTopLeft((20, 20)) self.pageConfig.SetMarginBottomRight((20, 20)) self.printConfig = wx.PrintDialogData(self.pageConfig.GetPrintData()) self.printConfig.EnableSelection(False) self.printConfig.EnablePageNumbers(False) wx.Frame.__init__(self, None, title=title) self.timerGpsRetry = wx.Timer(self) self.Bind(wx.EVT_TIMER, self.__on_gps_retry, self.timerGpsRetry) self.Bind(wx.EVT_CLOSE, self.__on_exit) self.status = Statusbar(self, self.log) self.status.set_info(title) self.SetStatusBar(self.status) add_colours() self.__create_widgets() self.__create_menu() self.__create_popup_menu() self.__set_control_state(True) self.Show() displaySize = wx.DisplaySize() toolbarSize = self.toolbar.GetBestSize() self.SetClientSize((toolbarSize[0] + 10, displaySize[1] / 2)) self.SetMinSize((displaySize[0] / 4, displaySize[1] / 4)) self.Connect(-1, -1, EVENT_THREAD, self.__on_event) self.SetDropTarget(DropTarget(self)) self.SetIcon(load_icon('rtlsdr_scan')) self.steps = 0 self.stepsTotal = 0 self.__start_gps() self.__start_location_server()