Sample run of EHS decoding has been fixed.

This commit is contained in:
forta
2018-05-16 19:09:02 +02:00
parent b7afd841ff
commit 14a537030d
2 changed files with 16 additions and 9 deletions

View File

@@ -2,8 +2,13 @@ from __future__ import absolute_import, print_function, division
import warnings
warnings.simplefilter('once', DeprecationWarning)
from pyModeS.decoder.bds.bds10 import *
from pyModeS.decoder.bds.bds17 import *
from pyModeS.decoder.bds.bds20 import *
from pyModeS.decoder.bds.bds40 import *
from pyModeS.decoder.bds.bds44 import *
from pyModeS.decoder.bds.bds50 import *
from pyModeS.decoder.bds.bds53 import *
from pyModeS.decoder.bds.bds60 import *
from pyModeS.decoder.bds import infer

View File

@@ -1,15 +1,17 @@
from __future__ import print_function
from pyModeS import adsb, ehs, common
from pyModeS import adsb, ehs, common, bds as _bds
# === Decode sample data file ===
def bds_info(BDS, m):
if BDS == "BDS17":
if BDS == "BDS10":
info = [ehs.ovc10(m)]
elif BDS == "BDS17":
info = ([i[-2:] for i in ehs.cap17(m)])
elif BDS == "BDS20":
info = ehs.callsign(m)
info = [ehs.cs20(m)]
elif BDS == "BDS40":
info = (ehs.alt40mcp(m), ehs.alt40fms(m), ehs.p40baro(m))
@@ -52,20 +54,20 @@ def ehs_decode_all(df, n=None):
df = common.df(m)
icao = ehs.icao(m)
BDS = ehs.BDS(m)
BDS = _bds.infer(m)
code = common.altcode(m) if df == 20 else common.idcode(m)
if not BDS:
print(ts, m, icao, df, '%5s'%code, 'UNKNOWN')
continue
if isinstance(BDS, list):
print(ts, m, icao, df, '%5s'%code, end=' ')
for i, bds in enumerate(BDS):
if len(BDS.split(",")) > 1:
print(ts, m, icao, df, '%5s' % code, end=' ')
for i, bds in enumerate(BDS.split(",")):
if i == 0:
print(bds, *bds_info(bds, m))
else:
print(' '*55, bds, *bds_info(bds, m))
print(' ' * 55, bds, *bds_info(bds, m))
else:
print(ts, m, icao, df, '%5s'%code, BDS, *bds_info(BDS, m))