def __post_location(self, lat, lon, alt): utc = time.time() post_event(self._notify, EventThread(Event.LOC, 0, [lat, lon, alt, utc]))
def __serial_timeout(self): self.stop() post_event(self._notify, EventThread(Event.LOC_ERR, 0, 'GPS timed out'))
def run(self): tuner = self.__rtl_setup() if self.sdr is None: return post_event(self.notify, EventThread(Event.INFO, None, tuner)) freq = self.__f_start() timeStamp = math.floor(time.time()) while freq <= self.__f_stop(): if self.cancel: post_event(self.notify, EventThread(Event.STOPPED)) self.rtl_close() return try: scan = self.rtl_scan(freq) if len(scan): self.queue.put([freq, (timeStamp, scan)]) post_event(self.notify, EventThread(Event.DATA)) else: post_event( self.notify, EventThread(Event.ERROR, 0, 'No samples returned')) return except (AttributeError, MemoryError, TypeError) as error: post_event(self.notify, EventThread(Event.ERROR, 0, error.message)) return except (IOError, OSError) as error: if self.sdr is not None: self.rtl_close() post_event(self.notify, EventThread(Event.ERROR, 0, error.message)) return freq += self.__f_step() post_event(self.notify, EventThread(Event.FINISHED, 0, None)) if self.isCal: post_event(self.notify, EventThread(Event.CAL))
def redraw_plot(self): if self.figure is not None: post_event(self.notify, EventThread(Event.DRAW))
def __gpsd_sats(self, satData): sats = {} for sat in satData: sats[sat['PRN']] = [sat['ss'], sat['used']] post_event(self._notify, EventThread(Event.LOC_SAT, None, sats))