summaryrefslogtreecommitdiff
path: root/xgpsspeed
diff options
context:
space:
mode:
authorGary E. Miller <gem@rellim.com>2018-10-01 18:57:12 -0700
committerGary E. Miller <gem@rellim.com>2018-10-01 18:57:12 -0700
commit4617dc6c4b6a869371f79ecee22242ae3e4172f0 (patch)
tree0b8826bcade11ffba6ba19fb475341a0d55a74cf /xgpsspeed
parent3e8836d1d58c6bbce4bae069295d867e4378fbd2 (diff)
downloadgpsd-4617dc6c4b6a869371f79ecee22242ae3e4172f0.tar.gz
xgpsspeed: Add version checks. Output warnings to stderr.
Diffstat (limited to 'xgpsspeed')
-rwxr-xr-xxgpsspeed21
1 files changed, 19 insertions, 2 deletions
diff --git a/xgpsspeed b/xgpsspeed
index b17294d1..b0757b71 100755
--- a/xgpsspeed
+++ b/xgpsspeed
@@ -636,9 +636,11 @@ class Main(object):
def handle_response(self, source, condition):
if self.daemon.read() == -1:
self.handle_hangup(source, condition)
- if self.daemon.data['class'] == 'TPV':
+ if self.daemon.data['class'] == 'VERSION':
+ self.update_version(self.daemon.version)
+ elif self.daemon.data['class'] == 'TPV':
self.update_speed(self.daemon.data)
- if self.nautical and self.daemon.data['class'] == 'SKY':
+ elif self.nautical and self.daemon.data['class'] == 'SKY':
self.update_skyview(self.daemon.data)
return True
@@ -672,6 +674,21 @@ class Main(object):
self.widget.satellites = data.satellites
self.widget.queue_draw()
+ def update_version(self, ver):
+ "Update the Version"
+
+ if ver.release != gps_version:
+ sys.stderr.write("%s: WARNING gpsd version %s different than "
+ "expected %s\n" %
+ (sys.argv[0], ver.release, gps_version))
+
+ if ((ver.proto_major != gps.api_major_version or
+ ver.proto_minor != gps.api_minor_version)):
+ sys.stderr.write("%s: WARNING API version %s.%s different than "
+ "expected %s.%s\n" %
+ (sys.argv[0], ver.proto_major, ver.proto_minor,
+ gps.api_major_version, gps.api_minor_version))
+
def delete_event(self, _widget, _event, _data=None):
# Someday, handle all cleanup operations here
return False