python-ogn-client/tests/parser/test_parse_tracker.py

45 wiersze
1.6 KiB
Python

import pytest
from ogn.parser.utils import FPM_TO_MS, HPM_TO_DEGS
from ogn.parser.aprs_comment.tracker_parser import TrackerParser
def test_position_comment():
message = TrackerParser().parse_position("id072FD00F -058fpm +1.1rot FL003.12 32.8dB 0e -0.8kHz gps3x5 +12.7dBm")
assert message['address_type'] == 3
assert message['aircraft_type'] == 1
assert message['stealth'] is False
assert message['address'] == "2FD00F"
assert message['climb_rate'] == pytest.approx(-58 * FPM_TO_MS, 2)
assert message['turn_rate'] == 1.1 * HPM_TO_DEGS
assert message['flightlevel'] == 3.12
assert message['signal_quality'] == 32.8
assert message['error_count'] == 0
assert message['frequency_offset'] == -0.8
assert message['gps_quality'] == {'horizontal': 3, 'vertical': 5}
assert message['signal_power'] == 12.7
def test_status_comment():
message = TrackerParser().parse_status("h00 v00 9sat/1 164m 1002.6hPa +20.2degC 0% 3.34V 14/-110.5dBm 1/min")
assert message['hardware_version'] == 0
assert message['software_version'] == 0
assert message['gps_satellites'] == 9
assert message['gps_quality'] == 1
assert message['gps_altitude'] == 164
assert message['pressure'] == 1002.6
assert message['temperature'] == 20.2
assert message['humidity'] == 0
assert message['voltage'] == 3.34
assert message['transmitter_power'] == 14
assert message['noise_level'] == -110.5
assert message['relays'] == 1
def test_status_comment_comment():
message = TrackerParser().parse_status("Pilot=Pawel Hard=DIY/STM32")
assert message['comment'] == "Pilot=Pawel Hard=DIY/STM32"