summaryrefslogtreecommitdiff
path: root/xgps
diff options
context:
space:
mode:
authorGary E. Miller <gem@rellim.com>2018-02-14 16:41:17 -0800
committerGary E. Miller <gem@rellim.com>2018-02-14 16:41:17 -0800
commit7e0e8f02ff960e0f00ec3b1843334c594be8a963 (patch)
tree9afb5f6a730531a8ac7f4f43af2f361814e7b1d8 /xgps
parent647194f9090448ab861e8729ac032f02870eb44c (diff)
downloadgpsd-7e0e8f02ff960e0f00ec3b1843334c594be8a963.tar.gz
xgps: Add display of ECEF data.
Diffstat (limited to 'xgps')
-rwxr-xr-xxgps22
1 files changed, 20 insertions, 2 deletions
diff --git a/xgps b/xgps
index 78a08a0c..16086d95 100755
--- a/xgps
+++ b/xgps
@@ -496,6 +496,14 @@ class Base(object):
("EPS", lambda s, r: s.update_err_speed(r, "eps")),
("EPC", lambda s, r: s.update_err_speed(r, "epc")),
("EPD", lambda s, r: s.update_err_degrees(r, "epd")),
+ # third column
+ ("ECEF X", lambda s, r: s.update_ecef(r, "ecefx")),
+ ("ECEF Y", lambda s, r: s.update_ecef(r, "ecefy")),
+ ("ECEF Z", lambda s, r: s.update_ecef(r, "ecefz")),
+ ("ECEF VX", lambda s, r: s.update_ecef(r, "ecefvx", "/s")),
+ ("ECEF VY", lambda s, r: s.update_ecef(r, "ecefvy", "/s")),
+ ("ECEF VZ", lambda s, r: s.update_ecef(r, "ecefvz", "/s")),
+ ("ECEF pAcc", lambda s, r: s.update_ecef(r, "ecefpAcc")),
)
def __init__(self, deg_type, rotate=0.0, target=""):
@@ -780,6 +788,16 @@ class Base(object):
else:
return "n/a"
+ def update_ecef(self, data, eceftype, speedunit = ''):
+ # update a ECEF in the GPS Data window
+ if hasattr(data, eceftype):
+ val = getattr(data, eceftype)
+ return ("% 14.3f %s%s" %
+ (val * self.conversions.altfactor,
+ self.conversions.altunits, speedunit))
+ else:
+ return "n/a"
+
def update_err(self, data, errtype):
if hasattr(data, errtype):
return "%.3f %s" % (
@@ -819,8 +837,8 @@ class Base(object):
def update_gpsdata(self, tpv):
"Update the GPS data fields."
- # the first 14 fields are updated using TPV data
- for (hook, widget) in Base.gpsfields[:14]:
+ # the first 21 fields are updated using TPV data
+ for (hook, widget) in Base.gpsfields[:21]:
if hook: # Remove this guard when we have all hooks
widget.set_text(hook(self, tpv))
self.gsview.update(tpv)