Files
adsb-tools/python/check_mhz.py
2016-02-18 10:45:04 -08:00

45 lines
1.1 KiB
Python
Executable File

#!/usr/bin/python3
import sys
import time
import adsblib
if len(sys.argv) != 3:
print('Usage: %s <host> <port>' % sys.argv[0])
print('Fetching samples...')
advertised_mhz = None
start_time = None
start_timestamp = None
last_timestamp = None
for i, event in enumerate(adsblib.GetEvents(sys.argv[1], sys.argv[2])):
advertised_mhz = event.get('mlat_timestamp_mhz', advertised_mhz)
if 'mlat_timestamp' not in event:
continue
if not start_time:
start_time = time.time()
start_timestamp = event['mlat_timestamp']
if last_timestamp:
if event['mlat_timestamp'] < last_timestamp:
print('\rERROR: timestamp went backwards (%d -> %d)\x1b[K' %
(last_timestamp, event['mlat_timestamp']))
last_timestamp = event['mlat_timestamp']
if i % 1000 == 0 and start_time and advertised_mhz:
time_diff = time.time() - start_time
value_diff = event['mlat_timestamp'] - start_timestamp
measured_mhz = value_diff / time_diff / 1000000
print(
'\r%d samples, %d seconds, advertised: %d MHz, measured: %d MHz\x1b[K' %
(i, time_diff, advertised_mhz, measured_mhz),
end='', flush=True)
print()