kopia lustrzana https://github.com/glidernet/python-ogn-client
33 wiersze
1.3 KiB
Python
33 wiersze
1.3 KiB
Python
from ogn.parser import parse
|
|
from ogn.parser.utils import KNOTS_TO_MS, KPH_TO_MS, INCH_TO_MM, fahrenheit_to_celsius
|
|
|
|
|
|
def test_v028_fanet_position_weather():
|
|
# with v0.2.8 fanet devices can report weather data
|
|
raw_message = 'FNTFC9002>OGNFNT,qAS,LSXI2:/163051h4640.33N/00752.21E_187/004g007t075h78b63620 29.0dB -8.0kHz'
|
|
message = parse(raw_message)
|
|
|
|
assert message['aprs_type'] == 'position_weather'
|
|
assert message['beacon_type'] == 'fanet'
|
|
|
|
assert message['wind_direction'] == 187
|
|
assert message['wind_speed'] == 4 * KNOTS_TO_MS / KPH_TO_MS
|
|
assert message['wind_speed_peak'] == 7 * KNOTS_TO_MS / KPH_TO_MS
|
|
assert message['temperature'] == fahrenheit_to_celsius(75)
|
|
assert message['humidity'] == 78 * 0.01
|
|
assert message['barometric_pressure'] == 63620
|
|
|
|
assert message['signal_quality'] == 29.0
|
|
assert message['frequency_offset'] == -8.0
|
|
|
|
|
|
def test_GXAirCom_fanet_position_weather_rainfall():
|
|
raw_message = 'FNT08F298>OGNFNT,qAS,DREIFBERG:/082654h4804.90N/00845.74E_273/005g008t057r123p234h90b10264 0.0dB'
|
|
message = parse(raw_message)
|
|
|
|
assert message['aprs_type'] == 'position_weather'
|
|
assert message['beacon_type'] == 'fanet'
|
|
|
|
assert message['rainfall_1h'] == 123 / 100 * INCH_TO_MM
|
|
assert message['rainfall_24h'] == 234 / 100 * INCH_TO_MM
|