46 def update_loop(self):
47 print("Serial port opened. Waiting for data...")
48
49 try:
50 while self.running:
51 if self.ser.in_waiting > 0:
52
53
54
55 data = self.ser.readline().decode().strip()
56
57 if data:
58 if data.find('GGA') > 0:
59 try:
60 msg = pynmea2.parse(data)
61 '''
62 print(msg.timestamp, 'Lat:', round(msg.latitude, 6), 'Lon:', round(msg.longitude, 6),
63 'Alt:', msg.altitude, 'Sats:', msg.num_sats)
64 '''
65
66
67 self.latitude = msg.latitude
68 self.longitude = msg.longitude
69 self.altitude = msg.altitude
70 self.new_data = True
71
72 except Exception as e:
73 print(e)
74
75 else:
76 print("No data recieved")
77
78
79 except Exception as e:
80 print(f"An error occurred: {e}")
81