From a849277d3bd54aacf22df6c3ea1bf3b1c3054e6d Mon Sep 17 00:00:00 2001 From: Fred Wright Date: Thu, 19 Jan 2017 18:50:38 -0800 Subject: Increases MAXCHANNELS in xgps. The current MAXCHANNELS value in xgps, obtained from gps.py, has been observed to be inadequate. The value in gps.py is an outdated value that was never updated when the C value was changed, but using the new value of 72 in xgps would result in a huge window. This change defines a local MAXCHANNELS in xgps, which does not need to match the value in gps.py. It's currently set to 28, based on having observed a case with 25 visible satellites. It would be better to make it dynamic, but that would require reworking some of the Gtk setup code. TESTED: Ran against a receiver reporting 25 visible satellites, seeing all satellites reported and no console error messages. --- xgps | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'xgps') diff --git a/xgps b/xgps index d27b273c..078788a3 100755 --- a/xgps +++ b/xgps @@ -34,6 +34,10 @@ import cairo import gps import gps.clienthelpers +# Use our own MAXCHANNELS value, due to the tradeoff between max sats and +# the window size. Ideally, this should be dynamic. +MAXCHANNELS = 28 + # how to sort the Satellite List # some of ("PRN","el","az","ss","used") with optional '-' to reverse sort # by default, used at the top, then sort PRN @@ -574,7 +578,7 @@ class Base(object): view.append_column(column) self.row_iters = [] - for i in range(gps.MAXCHANNELS): + for i in range(MAXCHANNELS): self.satlist.append(["", "", "", "", ""]) self.row_iters.append(self.satlist.get_iter(i)) @@ -669,7 +673,7 @@ class Base(object): try: self.satlist.set_value(self.row_iters[row], column, str(value)) except IndexError: - sys.stderr.write("xgps: channel = %d, MAXCHANNELS = %d\n" % (row, gps.MAXCHANNELS)) + sys.stderr.write("xgps: channel = %d, MAXCHANNELS = %d\n" % (row, MAXCHANNELS)) def delete_event(self, _widget, _event, _data=None): Gtk.main_quit() @@ -802,7 +806,7 @@ class Base(object): if satellite.used: yesno = 'Y' self.set_satlist_field(i, 4, yesno) - for i in range(len(satellites), gps.MAXCHANNELS): + for i in range(len(satellites), MAXCHANNELS): for j in range(0, 5): self.set_satlist_field(i, j, "") self.skyview.redraw(satellites) -- cgit v1.2.1