42 lines
1.5 KiB
Python
42 lines
1.5 KiB
Python
|
|
def update_gps_display(self):
|
|
"""Step 18: Update GPS display and center map"""
|
|
try:
|
|
while not self.gps_data_queue.empty():
|
|
gps_data = self.gps_data_queue.get_nowait()
|
|
self.current_gps = gps_data
|
|
|
|
# Update GPS label
|
|
self.gps_label.config(
|
|
text=f"GPS: Lat {gps_data.latitude:.6f}, Lon {gps_data.longitude:.6f}, Alt {gps_data.altitude:.1f}m")
|
|
|
|
# Update map
|
|
self.update_map_display(gps_data)
|
|
|
|
except queue.Empty:
|
|
pass
|
|
|
|
def update_map_display(self, gps_data):
|
|
"""Step 18: Update map display with current GPS position"""
|
|
try:
|
|
self.map_label.config(text=f"Radar Position: {gps_data.latitude:.6f}, {gps_data.longitude:.6f}\n"
|
|
f"Altitude: {gps_data.altitude:.1f}m\n"
|
|
f"Coverage: 50km radius\n"
|
|
f"Map centered on GPS coordinates")
|
|
|
|
except Exception as e:
|
|
logging.error(f"Error updating map display: {e}")
|
|
|
|
def main():
|
|
"""Main application entry point"""
|
|
try:
|
|
root = tk.Tk()
|
|
app = RadarGUI(root)
|
|
root.mainloop()
|
|
except Exception as e:
|
|
logging.error(f"Application error: {e}")
|
|
messagebox.showerror("Fatal Error", f"Application failed to start: {e}")
|
|
|
|
if __name__ == "__main__":
|
|
main()
|