From 7514c0ce552a4f38430e5f544bb5872ac55d0ac4 Mon Sep 17 00:00:00 2001 From: Rossen Georgiev Date: Tue, 30 Dec 2014 18:02:42 +0000 Subject: [PATCH] comment telemetry bits should always have 8bits --- aprslib/parse.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/aprslib/parse.py b/aprslib/parse.py index a74fa3e..c68b54d 100644 --- a/aprslib/parse.py +++ b/aprslib/parse.py @@ -757,7 +757,9 @@ def _parse_comment_telemetry(text): Looks for base91 telemetry found in comment field Returns [remaining_text, telemetry] """ + parsed = {} match = re.findall(r"^(.*?)\|([!-{]{4,14})\|(.*)$", text) + if match and len(match[0][1]) % 2 == 0: text, telemetry, post = match[0] text += post @@ -766,18 +768,16 @@ def _parse_comment_telemetry(text): for i in range(7): temp[i] = base91.to_decimal(telemetry[i*2:i*2+2]) - parsed = { + parsed.update({ 'telemetry': { 'seq': temp[0], 'vals': temp[1:6] } - } + }) if temp[6] != '': parsed['telemetry'].update({ - 'bits': "{0:08b}".format(int(temp[6])) + 'bits': "{0:08b}".format(temp[6] & 0xFF) }) - return (text, parsed) - else: - return (text, {}) + return (text, parsed)