From 4617dc6c4b6a869371f79ecee22242ae3e4172f0 Mon Sep 17 00:00:00 2001 From: "Gary E. Miller" Date: Mon, 1 Oct 2018 18:57:12 -0700 Subject: xgpsspeed: Add version checks. Output warnings to stderr. --- xgpsspeed | 21 +++++++++++++++++++-- 1 file 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 -- cgit v1.2.1