mirror of
https://github.com/liberatedsystems/Sideband_CE.git
synced 2024-09-03 04:13:27 +02:00
Added angle-to-horizon calculation
This commit is contained in:
parent
ec5814f906
commit
ecb5f0c38b
@ -5,7 +5,7 @@ import struct
|
|||||||
import threading
|
import threading
|
||||||
|
|
||||||
from RNS.vendor import umsgpack as umsgpack
|
from RNS.vendor import umsgpack as umsgpack
|
||||||
from .geo import orthodromic_distance, euclidian_distance, azalt
|
from .geo import orthodromic_distance, euclidian_distance, azalt, angle_to_horizon, radio_horizon
|
||||||
|
|
||||||
class Telemeter():
|
class Telemeter():
|
||||||
@staticmethod
|
@staticmethod
|
||||||
@ -95,6 +95,7 @@ class Telemeter():
|
|||||||
def stop_all(self):
|
def stop_all(self):
|
||||||
if not self.from_packed:
|
if not self.from_packed:
|
||||||
for sensor in self.sensors:
|
for sensor in self.sensors:
|
||||||
|
if not sensor == "time":
|
||||||
self.sensors[sensor].stop()
|
self.sensors[sensor].stop()
|
||||||
|
|
||||||
def read(self, sensor):
|
def read(self, sensor):
|
||||||
@ -632,9 +633,17 @@ class Location(Sensor):
|
|||||||
ed = euclidian_distance(cs, cr)
|
ed = euclidian_distance(cs, cr)
|
||||||
od = orthodromic_distance(cs, cr)
|
od = orthodromic_distance(cs, cr)
|
||||||
aa = azalt(cs, cr)
|
aa = azalt(cs, cr)
|
||||||
|
ath = angle_to_horizon(cr)
|
||||||
|
rh = radio_horizon(cs, cr)
|
||||||
|
above_horizon = None
|
||||||
|
if aa[1] != None:
|
||||||
|
if aa[1] > ath:
|
||||||
|
above_horizon = True
|
||||||
|
else:
|
||||||
|
above_horizon = False
|
||||||
rendered["distance"] = {"euclidian": ed, "orthodromic": od}
|
rendered["distance"] = {"euclidian": ed, "orthodromic": od}
|
||||||
rendered["azalt"] = {"azimuth": aa[0], "altitude": aa[1]}
|
rendered["azalt"] = {"azimuth": aa[0], "altitude": aa[1], "above_horizon": above_horizon}
|
||||||
|
rendered["radio_horizon"] = {"object_range": rh[0], "related_range": rh[1], "combined_range": rh[2], "within_range": rh[3]}
|
||||||
|
|
||||||
return rendered
|
return rendered
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user