Merge pull request #162 from paulmadejong/altitude_none_return

Properly return None if altitude could not be decoded
This commit is contained in:
Junzi Sun 2023-12-18 23:00:38 +01:00 committed by GitHub
commit 4cf024f144
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 2 deletions

View File

@ -311,7 +311,7 @@ cpdef int altitude(str binstr):
if bin2int(binstr) == 0:
# altitude unknown or invalid
alt = -9999
alt = -999999
elif Mbit == 48: # unit in ft, "0" -> 48
if Qbit == 49: # 25ft interval, "1" -> 49

View File

@ -152,6 +152,11 @@ def altitude(msg: str) -> None | int:
if tc < 19:
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:
return common.bin2int(altbin) * 3.28084 # type: ignore