Merge pull request #162 from paulmadejong/altitude_none_return
Properly return None if altitude could not be decoded
This commit is contained in:
@@ -311,7 +311,7 @@ cpdef int altitude(str binstr):
|
|||||||
|
|
||||||
if bin2int(binstr) == 0:
|
if bin2int(binstr) == 0:
|
||||||
# altitude unknown or invalid
|
# altitude unknown or invalid
|
||||||
alt = -9999
|
alt = -999999
|
||||||
|
|
||||||
elif Mbit == 48: # unit in ft, "0" -> 48
|
elif Mbit == 48: # unit in ft, "0" -> 48
|
||||||
if Qbit == 49: # 25ft interval, "1" -> 49
|
if Qbit == 49: # 25ft interval, "1" -> 49
|
||||||
|
|||||||
@@ -152,6 +152,11 @@ def altitude(msg: str) -> None | int:
|
|||||||
|
|
||||||
if tc < 19:
|
if tc < 19:
|
||||||
altcode = altbin[0:6] + "0" + altbin[6:]
|
altcode = altbin[0:6] + "0" + altbin[6:]
|
||||||
return common.altitude(altcode)
|
alt = common.altitude(altcode)
|
||||||
|
if alt != -999999:
|
||||||
|
return alt
|
||||||
|
else:
|
||||||
|
# return None if altitude is invalid
|
||||||
|
return None
|
||||||
else:
|
else:
|
||||||
return common.bin2int(altbin) * 3.28084 # type: ignore
|
return common.bin2int(altbin) * 3.28084 # type: ignore
|
||||||
|
|||||||
Reference in New Issue
Block a user