add parsing for telemetry report
This commit is contained in:
parent
ef88e3493a
commit
3841e1a574
|
|
@ -57,7 +57,6 @@ unsupported_formats = {
|
|||
'.':'reserved',
|
||||
'<':'station capabilities',
|
||||
'?':'general query format',
|
||||
'T':'telemetry report',
|
||||
'[':'maidenhead locator beacon',
|
||||
'\\':'unused',
|
||||
']':'unused',
|
||||
|
|
@ -208,6 +207,12 @@ def _try_toparse_body(packet_type, body, parsed):
|
|||
|
||||
body, result = parse_position(packet_type, body)
|
||||
|
||||
# Telemetry report
|
||||
elif packet_type == 'T':
|
||||
logger.debug("Packet is a telemetry report")
|
||||
|
||||
body, result = parse_telemetry_report(body)
|
||||
|
||||
# we are done
|
||||
parsed.update(result)
|
||||
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ from aprslib.parsing import logger
|
|||
__all__ = [
|
||||
'parse_comment_telemetry',
|
||||
'parse_telemetry_config',
|
||||
'parse_telemetry_report',
|
||||
]
|
||||
|
||||
|
||||
|
|
@ -98,3 +99,20 @@ def parse_telemetry_config(body):
|
|||
|
||||
return (body, parsed)
|
||||
|
||||
def parse_telemetry_report(body):
|
||||
parsed = {}
|
||||
|
||||
match = re.findall(r"^#(MIC,?|[0-9]+,)(.*)$", body)
|
||||
if match:
|
||||
logger.debug("Attempting to parse telemetry-report packet")
|
||||
|
||||
parsed.update({'format': 'telemetry-report'})
|
||||
|
||||
seq, data = match[0]
|
||||
seq = seq[:-1] if (seq.endswith(",")) else seq
|
||||
data = data.split(",")
|
||||
parsed.update({
|
||||
'tValues': ([seq] + data),
|
||||
})
|
||||
|
||||
return (body, parsed)
|
||||
|
|
|
|||
Loading…
Reference in New Issue