kopia lustrzana https://github.com/projecthorus/chasemapper
Cast all incoming lat/lon/alt data to float before processing.
rodzic
37bed6b70e
commit
210b5870a5
|
@ -573,9 +573,9 @@ def ozi_listener_callback(data):
|
||||||
# OziMux message contains:
|
# OziMux message contains:
|
||||||
# {'lat': -34.87915, 'comment': 'Telemetry Data', 'alt': 26493.0, 'lon': 139.11883, 'time': datetime.datetime(2018, 7, 16, 10, 55, 49, tzinfo=tzutc())}
|
# {'lat': -34.87915, 'comment': 'Telemetry Data', 'alt': 26493.0, 'lon': 139.11883, 'time': datetime.datetime(2018, 7, 16, 10, 55, 49, tzinfo=tzutc())}
|
||||||
output = {}
|
output = {}
|
||||||
output['lat'] = data['lat']
|
output['lat'] = float(data['lat'])
|
||||||
output['lon'] = data['lon']
|
output['lon'] = float(data['lon'])
|
||||||
output['alt'] = data['alt']
|
output['alt'] = float(data['alt'])
|
||||||
output['callsign'] = "Payload"
|
output['callsign'] = "Payload"
|
||||||
output['time_dt'] = data['time']
|
output['time_dt'] = data['time']
|
||||||
|
|
||||||
|
@ -602,9 +602,9 @@ def udp_listener_summary_callback(data):
|
||||||
# Extract the fields we need.
|
# Extract the fields we need.
|
||||||
# Convert to something generic we can pass onwards.
|
# Convert to something generic we can pass onwards.
|
||||||
output = {}
|
output = {}
|
||||||
output['lat'] = data['latitude']
|
output['lat'] = float(data['latitude'])
|
||||||
output['lon'] = data['longitude']
|
output['lon'] = float(data['longitude'])
|
||||||
output['alt'] = data['altitude']
|
output['alt'] = float(data['altitude'])
|
||||||
output['callsign'] = data['callsign']
|
output['callsign'] = data['callsign']
|
||||||
|
|
||||||
logging.info("Horus UDP Data: %.5f, %.5f, %.1f" % (output['lat'], output['lon'], output['alt']))
|
logging.info("Horus UDP Data: %.5f, %.5f, %.1f" % (output['lat'], output['lon'], output['alt']))
|
||||||
|
@ -635,11 +635,11 @@ def udp_listener_car_callback(data):
|
||||||
# TODO: Make a generic car position function, and have this function pass data into it
|
# TODO: Make a generic car position function, and have this function pass data into it
|
||||||
# so we can add support for other chase car position inputs.
|
# so we can add support for other chase car position inputs.
|
||||||
global car_track, habitat_uploader, bearing_store
|
global car_track, habitat_uploader, bearing_store
|
||||||
_lat = data['latitude']
|
_lat = float(data['latitude'])
|
||||||
_lon = data['longitude']
|
_lon = float(data['longitude'])
|
||||||
_alt = data['altitude']
|
_alt = float(data['altitude'])
|
||||||
_comment = "CAR"
|
_comment = "CAR"
|
||||||
_time_dt = pytz.utc.localize(datetime.utcnow())#datetime.utcnow()
|
_time_dt = pytz.utc.localize(datetime.utcnow())
|
||||||
|
|
||||||
logging.debug("Car Position: %.5f, %.5f" % (_lat, _lon))
|
logging.debug("Car Position: %.5f, %.5f" % (_lat, _lon))
|
||||||
|
|
||||||
|
|
|
@ -147,7 +147,7 @@ def send_balloon_telemetry(json_data, udp_port=55672):
|
||||||
s.sendto(json.dumps(packet), ('127.0.0.1', udp_port))
|
s.sendto(json.dumps(packet), ('127.0.0.1', udp_port))
|
||||||
|
|
||||||
|
|
||||||
def playback_json(filename, udp_port=55672, speed=1.0):
|
def playback_json(filename, udp_port=55672, speed=1.0, start_time = 0):
|
||||||
""" Read in a JSON log file and play it back in real-time, or with a speed factor """
|
""" Read in a JSON log file and play it back in real-time, or with a speed factor """
|
||||||
|
|
||||||
with open(filename, 'r') as _log_file:
|
with open(filename, 'r') as _log_file:
|
||||||
|
@ -173,6 +173,9 @@ def playback_json(filename, udp_port=55672, speed=1.0):
|
||||||
# Running timer
|
# Running timer
|
||||||
_run_time = (_new_time - _first_time).total_seconds()
|
_run_time = (_new_time - _first_time).total_seconds()
|
||||||
|
|
||||||
|
if _run_time < start_time:
|
||||||
|
continue
|
||||||
|
|
||||||
_time_min = int(_run_time)//60
|
_time_min = int(_run_time)//60
|
||||||
_time_sec = _run_time%60.0
|
_time_sec = _run_time%60.0
|
||||||
|
|
||||||
|
@ -181,7 +184,6 @@ def playback_json(filename, udp_port=55672, speed=1.0):
|
||||||
if _log_data['log_type'] == 'CAR POSITION':
|
if _log_data['log_type'] == 'CAR POSITION':
|
||||||
send_car_position(_log_data, udp_port)
|
send_car_position(_log_data, udp_port)
|
||||||
print("%02d:%.2f - Car Position" % (_time_min, _time_sec))
|
print("%02d:%.2f - Car Position" % (_time_min, _time_sec))
|
||||||
|
|
||||||
|
|
||||||
elif _log_data['log_type'] == 'BEARING':
|
elif _log_data['log_type'] == 'BEARING':
|
||||||
send_bearing(_log_data, udp_port)
|
send_bearing(_log_data, udp_port)
|
||||||
|
@ -208,6 +210,7 @@ if __name__ == '__main__':
|
||||||
|
|
||||||
filename = ""
|
filename = ""
|
||||||
speed = 1.0
|
speed = 1.0
|
||||||
|
start_time = 0
|
||||||
hostname = 'localhost'
|
hostname = 'localhost'
|
||||||
udp_port = 55672
|
udp_port = 55672
|
||||||
|
|
||||||
|
@ -216,6 +219,10 @@ if __name__ == '__main__':
|
||||||
elif len(sys.argv) == 3:
|
elif len(sys.argv) == 3:
|
||||||
filename = sys.argv[1]
|
filename = sys.argv[1]
|
||||||
speed = float(sys.argv[2])
|
speed = float(sys.argv[2])
|
||||||
|
elif len(sys.argv) == 4:
|
||||||
|
filename = sys.argv[1]
|
||||||
|
speed = float(sys.argv[2])
|
||||||
|
start_time = float(sys.argv[3])*60
|
||||||
|
|
||||||
playback_json(filename, udp_port, speed)
|
playback_json(filename, udp_port, speed, start_time)
|
||||||
|
|
||||||
|
|
Ładowanie…
Reference in New Issue