parse and show p_dop

This commit is contained in:
2026-05-19 10:38:41 +02:00
parent f0d49a3a7c
commit f3a3f9b5a3
4 changed files with 51 additions and 25 deletions
+11 -11
View File
@@ -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: