Add simple lib, utility to check mhz.

This commit is contained in:
Ian Gulliver
2016-02-18 10:10:47 -08:00
parent 4ca9fbeb4a
commit 2024bdc880
3 changed files with 110 additions and 0 deletions

69
python/.gitignore vendored Normal file
View File

@@ -0,0 +1,69 @@
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class
# C extensions
*.so
# Distribution / packaging
.Python
env/
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
*.egg-info/
.installed.cfg
*.egg
# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec
# Installer logs
pip-log.txt
pip-delete-this-directory.txt
# Unit test / coverage reports
htmlcov/
.tox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*,cover
.hypothesis/
# Translations
*.mo
*.pot
# Django stuff:
*.log
local_settings.py
# Flask instance folder
instance/
# Sphinx documentation
docs/_build/
# PyBuilder
target/
# IPython Notebook
.ipynb_checkpoints
# pyenv
.python-version

9
python/adsblib.py Normal file
View File

@@ -0,0 +1,9 @@
import json
import socket
def GetEvents(host, port):
with socket.create_connection((host, port)) as sock:
fh = sock.makefile()
for line in fh:
yield json.loads(line)

32
python/check_mhz.py Executable file
View File

@@ -0,0 +1,32 @@
#!/usr/bin/python3
import sys
import time
import adsblib
if len(sys.argv) != 3:
print('Usage: %s <host> <port>' % sys.argv[0])
advertised_mhz = None
start_time = None
start_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 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' %
(i, time_diff, advertised_mhz, measured_mhz),
end='', flush=True)