fix vertical rate
This commit is contained in:
@@ -621,7 +621,7 @@ def rtrk50(msg):
|
|||||||
if d[36:45] == "111111111":
|
if d[36:45] == "111111111":
|
||||||
return None
|
return None
|
||||||
|
|
||||||
sign = int(d[35]) # 1 -> minus
|
sign = int(d[35]) # 1 -> negative value, two's complement
|
||||||
value = util.bin2int(d[36:45])
|
value = util.bin2int(d[36:45])
|
||||||
if sign:
|
if sign:
|
||||||
value = value - 512
|
value = value - 512
|
||||||
@@ -794,12 +794,15 @@ def vr53(msg):
|
|||||||
if d[46] == '0':
|
if d[46] == '0':
|
||||||
return None
|
return None
|
||||||
|
|
||||||
sign = int(d[47]) # 1 -> minus
|
sign = int(d[47]) # 1 -> negative value, two's complement
|
||||||
value = util.bin2int(d[48:56])
|
value = util.bin2int(d[48:56])
|
||||||
|
|
||||||
if sign:
|
if value == 0 or value == 255: # all zeros or all ones
|
||||||
value = value - 256
|
return 0
|
||||||
|
|
||||||
|
value = value - 256 if sign else value
|
||||||
roc = value * 64 # feet/min
|
roc = value * 64 # feet/min
|
||||||
|
|
||||||
return roc
|
return roc
|
||||||
|
|
||||||
|
|
||||||
@@ -925,11 +928,13 @@ def vr60baro(msg):
|
|||||||
if d[34] == '0':
|
if d[34] == '0':
|
||||||
return None
|
return None
|
||||||
|
|
||||||
sign = int(d[35]) # 1 -> minus
|
sign = int(d[35]) # 1 -> negative value, two's complement
|
||||||
value = util.bin2int(d[36:45])
|
value = util.bin2int(d[36:45])
|
||||||
|
|
||||||
if sign:
|
if value == 0 or value == 511: # all zeros or all ones
|
||||||
value = value - 512
|
return 0
|
||||||
|
|
||||||
|
value = value - 512 if sign else value
|
||||||
|
|
||||||
roc = value * 32 # feet/min
|
roc = value * 32 # feet/min
|
||||||
return roc
|
return roc
|
||||||
@@ -949,11 +954,13 @@ def vr60ins(msg):
|
|||||||
if d[45] == '0':
|
if d[45] == '0':
|
||||||
return None
|
return None
|
||||||
|
|
||||||
sign = int(d[46]) # 1 -> minus
|
sign = int(d[46]) # 1 -> negative value, two's complement
|
||||||
value = util.bin2int(d[47:56])
|
value = util.bin2int(d[47:56])
|
||||||
|
|
||||||
if sign:
|
if value == 0 or value == 511: # all zeros or all ones
|
||||||
value = value - 512
|
return 0
|
||||||
|
|
||||||
|
value = value - 512 if sign else value
|
||||||
|
|
||||||
roc = value * 32 # feet/min
|
roc = value * 32 # feet/min
|
||||||
return roc
|
return roc
|
||||||
|
|||||||
Reference in New Issue
Block a user