c_common.py: return -999999 (extremely low, physically impossible) altitude in case altitude is unknown or invalid, bds04.py: convert -999999 altitude to None to better signal an invalid/unknown decoded altitude to the user
This commit is contained in:
parent
77273153cb
commit
eea09227b0
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user