parse and show p_dop
This commit is contained in:
+11
-11
@@ -6,10 +6,10 @@ import socket
|
||||
import serial
|
||||
from PyQt5.QtCore import QThread, pyqtSignal
|
||||
|
||||
from ubx import UbxPacketizer, build_poll, UBX_CLASS_NAV, UBX_ID_NAV_SAT, extract_satellites
|
||||
from ubx import UbxPacketizer, build_poll, UBX_CLASS_NAV, UBX_ID_NAV_SAT, UBX_ID_NAV_DOP, extract_satellites
|
||||
|
||||
class GnssReader(QThread):
|
||||
satellites_updated = pyqtSignal(list)
|
||||
satellites_updated = pyqtSignal(dict)
|
||||
error_occurred = pyqtSignal(str)
|
||||
connected = pyqtSignal(str)
|
||||
|
||||
@@ -26,18 +26,18 @@ class GnssReader(QThread):
|
||||
try:
|
||||
self._transport = self._factory()
|
||||
self.connected.emit("Verbunden")
|
||||
poll_msg = build_poll(UBX_CLASS_NAV, UBX_ID_NAV_SAT)
|
||||
self._transport.write(poll_msg)
|
||||
|
||||
while self._running:
|
||||
poll_msg = build_poll(UBX_CLASS_NAV, UBX_ID_NAV_SAT)
|
||||
self._transport.write(poll_msg)
|
||||
poll_msg = build_poll(UBX_CLASS_NAV, UBX_ID_NAV_DOP)
|
||||
self._transport.write(poll_msg)
|
||||
chunk = self._transport.read(512)
|
||||
frames = self.packetizer.on_recv(chunk)
|
||||
sats = extract_satellites(frames)
|
||||
if sats:
|
||||
self.satellites_updated.emit(sats)
|
||||
else:
|
||||
# Kein Datum – erneut pollen
|
||||
self._transport.write(poll_msg)
|
||||
res = extract_satellites(frames)
|
||||
if 'sat' in res:
|
||||
self.satellites_updated.emit(res)
|
||||
if 'dop' in res:
|
||||
self.satellites_updated.emit(res)
|
||||
|
||||
except (serial.SerialException, OSError, ConnectionRefusedError,
|
||||
socket.timeout, socket.gaierror) as exc:
|
||||
|
||||
Reference in New Issue
Block a user