From eb3e8ca856524200264c651d7cf9e35ec71e57d8 Mon Sep 17 00:00:00 2001 From: "Gary E. Miller" Date: Tue, 21 May 2019 12:35:18 -0700 Subject: ubxtool: Add index_s() where flag_s() fails. index_s() takes an indext of text. flag_s() takes a bitmap. --- ubxtool | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/ubxtool b/ubxtool index 84784abb..a1f7548b 100755 --- a/ubxtool +++ b/ubxtool @@ -125,8 +125,7 @@ opts = { def flag_s(flag, descs): - """Decode flag using dec, return a string. -Ignores unknown bits.""" + """Decode flag using descsc, return a string. Ignores unknown bits.""" s = '' for key, value in sorted(descs.items()): @@ -136,6 +135,16 @@ Ignores unknown bits.""" return s.strip() +def index_s(index, descs): + """Decode flag using descs, return a string. Otherwise Unk""" + + if index in descs: + s = descs[index] + else: + s = 'Unk' + + return s + class ubx(object): """class to hold u-blox stuff""" @@ -2102,7 +2111,7 @@ class ubx(object): s = ' version %u layer %#x transaction %#x reserved %u\n' % u s += (' layers (%s) transaction (%s)' % (flag_s(u[1], self.cfg_valdel_layers), - flag_s(u[2], self.cfg_valxxx_trans))) + index_s(u[2], self.cfg_valxxx_trans))) m_len -= 4 i = 0 @@ -2125,7 +2134,7 @@ class ubx(object): u = struct.unpack_from('