From fe7412d4e44c0c16856244e36c5f75da32b863b6 Mon Sep 17 00:00:00 2001 From: Mark Jessop Date: Sat, 17 Jul 2021 22:55:44 +0930 Subject: [PATCH] Show heading and numSV data in chase car pane --- chasemapper/geometry.py | 2 +- horusmapper.py | 18 +++++++++++++----- static/js/balloon.js | 11 +++++++++++ templates/index.html | 8 ++++++++ 4 files changed, 33 insertions(+), 6 deletions(-) diff --git a/chasemapper/geometry.py b/chasemapper/geometry.py index 8b3a5ae..33e7bf3 100644 --- a/chasemapper/geometry.py +++ b/chasemapper/geometry.py @@ -109,7 +109,7 @@ class GenericTrack(object): "landing_rate": self.landing_rate, "heading": self.heading, "heading_valid": self.heading_valid, - "heading_status": "Unknown", + "heading_status": self.heading_status, "turn_rate": self.turn_rate, "speed": self.speed, } diff --git a/horusmapper.py b/horusmapper.py index 996daef..2656855 100644 --- a/horusmapper.py +++ b/horusmapper.py @@ -841,6 +841,7 @@ def udp_listener_car_callback(data): if "heading_status" in data: _car_position_update["heading_status"] = data["heading_status"] + car_track.add_telemetry(_car_position_update) @@ -850,10 +851,8 @@ def udp_listener_car_callback(data): _heading_valid = _state["heading_valid"] _speed = _state["speed"] - # Push the new car position to the web client - flask_emit_event( - "telemetry_event", - { + + _car_telem = { "callsign": "CAR", "position": [_lat, _lon, _alt], "vel_v": 0.0, @@ -861,7 +860,16 @@ def udp_listener_car_callback(data): "heading_valid": _heading_valid, "heading_status": _heading_status, "speed": _speed, - }, + } + + # Add in some additional status fields if we have them. + if 'numSV' in data: + _car_telem['numSV'] = data['numSV'] + + # Push the new car position to the web client + flask_emit_event( + "telemetry_event", + _car_telem ) # Update the Online Position Uploader, if one exists. diff --git a/static/js/balloon.js b/static/js/balloon.js index 81fc5e9..b798a77 100644 --- a/static/js/balloon.js +++ b/static/js/balloon.js @@ -245,6 +245,17 @@ function handleTelemetry(data){ // Update range rings, if they are enabled. recenterRangeRings(data.position); + // Update Detailed GPS / Heading Info + if(data.hasOwnProperty('heading_status')){ + $("#headingStatus").text(data.heading_status); + } + + if(data.hasOwnProperty('numSV')){ + $("#numSVStatus").text(data.numSV.toFixed(0)); + } + + console.log(data); + // Update Chase Car Speed if (document.getElementById("showCarSpeed").checked){ if (chase_config['unitselection'] == "imperial") { diff --git a/templates/index.html b/templates/index.html index fe604f7..2c66865 100644 --- a/templates/index.html +++ b/templates/index.html @@ -878,6 +878,14 @@ Show Chase Car Heading: +

GPS/Heading Status

+
+ SVs Tracked:
---
+
+
+ Heading:
---
+
+