Crates.io | rs1090-python |
lib.rs | rs1090-python |
version | 0.3.8 |
source | src |
created_at | 2024-03-03 23:07:20.613074 |
updated_at | 2024-10-16 09:02:11.505463 |
description | Python binding to rs1090, a library to decode Mode S and ADS-B signals |
homepage | |
repository | https://github.com/xoolive/rs1090 |
max_upload_size | |
id | 1160990 |
size | 168,936 |
rs1090 is a Python binding to the rs1090 Rust library to decode Mode S, ADS-B and FLARM messages. It takes its inspiration from the Python pyModeS library.
The direction ambitioned by rs1090 boils down to:
pip install rs1090
For single messages:
>>> import rs1090
>>> rs1090.decode("8c4841753a9a153237aef0f275be")
{'df': '17', 'icao24': '484175', 'bds': '06', 'NUCp': 7, 'groundspeed': 17.0, 'track': 92.8125, 'parity': 'odd', 'lat_cpr': 39195, 'lon_cpr': 110320}
For batches of messages:
>>> import rs1090
>>> rs1090.decode(msg_list)
...
>>> rs1090.decode(msg_list, ts_list) # includes CPR to position decoding
...
>>> rs1090.decode(msg_list, ts_list, reference=(lat0, lon0)) # useful for surface messages
...
For FLARM messages (also as batches):
>>> msg = "7bf2381040ccc7e2395ecaa28e033a655d47e1d91d0bf986e1b0"
>>> rs1090.flarm(msg, 1655279476, 43.61924, 5.11755)
{'timestamp': 1655279476,
'reference_lat': 43.61924,
'reference_lon': 5.11755,
'icao24': '38f27b',
'is_icao24': True,
'actype': 'Glider',
'latitude': 43.6812864,
'longitude': 5.150585599999999,
'geoaltitude': 970,
'vertical_speed': 1.0,
'groundspeed': 18.698261951315153,
'track': 29.655457935479006,
'no_track': False,
'stealth': False,
'gps': 129}