kopia lustrzana https://github.com/glidernet/python-ogn-client
GPS: status to quality and refactoring
rodzic
80b5cc4a48
commit
8cff2a2c4d
|
@ -20,10 +20,11 @@ class FlarmParser(BaseParser):
|
|||
'climb_rate': int(ac_match.group('climb_rate')) * fpm2ms,
|
||||
'turn_rate': float(ac_match.group('turn_rate')),
|
||||
'signal_quality': float(ac_match.group('signal_quality')),
|
||||
'error_count': int(ac_match.group('errors')),
|
||||
'error_count': int(ac_match.group('error_count')),
|
||||
'frequency_offset': float(ac_match.group('frequency_offset')),
|
||||
'gps_status': ac_match.group('gps_accuracy') if ac_match.group('gps_accuracy') else None,
|
||||
'software_version': float(ac_match.group('flarm_software_version')) if ac_match.group('flarm_software_version') else None,
|
||||
'hardware_version': int(ac_match.group('flarm_hardware_version'), 16) if ac_match.group('flarm_hardware_version') else None,
|
||||
'real_address': ac_match.group('flarm_id') if ac_match.group('flarm_id') else None,
|
||||
'gps_quality': {'horizontal': int(ac_match.group('gps_quality_horizontal')),
|
||||
'vertical': int(ac_match.group('gps_quality_vertical'))} if ac_match.group('gps_quality') else None,
|
||||
'software_version': float(ac_match.group('software_version')) if ac_match.group('software_version') else None,
|
||||
'hardware_version': int(ac_match.group('hardware_version'), 16) if ac_match.group('hardware_version') else None,
|
||||
'real_address': ac_match.group('real_address') if ac_match.group('real_address') else None,
|
||||
'signal_power': float(ac_match.group('signal_power')) if ac_match.group('signal_power') else None}
|
||||
|
|
|
@ -41,7 +41,8 @@ class OgnParser(BaseParser):
|
|||
'signal_quality': float(ac_match.group('signal_quality')) if ac_match.group('signal_quality') else None,
|
||||
'error_count': int(ac_match.group('errors')) if ac_match.group('errors') else None,
|
||||
'frequency_offset': float(ac_match.group('frequency_offset')) if ac_match.group('frequency_offset') else None,
|
||||
'gps_status': ac_match.group('gps_accuracy') if ac_match.group('gps_accuracy') else None,
|
||||
'gps_quality': {'horizontal': int(ac_match.group('gps_quality_horizontal')),
|
||||
'vertical': int(ac_match.group('gps_quality_vertical'))} if ac_match.group('gps_quality') else None,
|
||||
'software_version': float(ac_match.group('flarm_software_version')) if ac_match.group('flarm_software_version') else None,
|
||||
'hardware_version': int(ac_match.group('flarm_hardware_version'), 16) if ac_match.group('flarm_hardware_version') else None,
|
||||
'real_address': ac_match.group('flarm_id') if ac_match.group('flarm_id') else None,
|
||||
|
|
|
@ -21,7 +21,7 @@ class TrackerParser(BaseParser):
|
|||
'turn_rate': float(match.group('turn_rate')) if match.group('turn_rate') else None,
|
||||
'flightlevel': float(match.group('flight_level')) if match.group('flight_level') else None,
|
||||
'signal_quality': float(match.group('signal_quality')) if match.group('signal_quality') else None,
|
||||
'error_count': int(match.group('errors')) if match.group('errors') else None,
|
||||
'error_count': int(match.group('error_count')) if match.group('error_count') else None,
|
||||
'frequency_offset': float(match.group('frequency_offset')) if match.group('frequency_offset') else None,
|
||||
'gps_status': match.group('gps_accuracy') if match.group('gps_accuracy') else None,
|
||||
'software_version': float(match.group('flarm_software_version')) if match.group('flarm_software_version') else None,
|
||||
|
|
|
@ -16,12 +16,12 @@ PATTERN_FLARM_POSITION_COMMENT = re.compile(r"""
|
|||
(?:(?P<climb_rate>[+-]\d+?)fpm\s)?
|
||||
(?:(?P<turn_rate>[+-][\d.]+?)rot\s)?
|
||||
(?:(?P<signal_quality>[\d.]+?)dB\s)?
|
||||
(?:(?P<errors>\d+)e\s)?
|
||||
(?:(?P<error_count>\d+)e\s)?
|
||||
(?:(?P<frequency_offset>[+-][\d.]+?)kHz\s?)?
|
||||
(?:gps(?P<gps_accuracy>\d+x\d+)\s?)?
|
||||
(?:s(?P<flarm_software_version>[\d.]+)\s?)?
|
||||
(?:h(?P<flarm_hardware_version>[\dA-F]{2})\s?)?
|
||||
(?:r(?P<flarm_id>[\dA-F]+)\s?)?
|
||||
(?:gps(?P<gps_quality>(?P<gps_quality_horizontal>(\d+))x(?P<gps_quality_vertical>(\d+)))\s?)?
|
||||
(?:s(?P<software_version>[\d.]+)\s?)?
|
||||
(?:h(?P<hardware_version>[\dA-F]{2})\s?)?
|
||||
(?:r(?P<real_address>[\dA-F]+)\s?)?
|
||||
(?:(?P<signal_power>[+-][\d.]+)dBm\s?)?
|
||||
""", re.VERBOSE | re.MULTILINE)
|
||||
|
||||
|
@ -61,7 +61,7 @@ PATTERN_TRACKER_POSITION_COMMENT = re.compile("""
|
|||
(?:(?P<turn_rate>[+-][\d.]+?)rot\s)?
|
||||
(?:FL(?P<flight_level>[\d.]+)\s)?
|
||||
(?:(?P<signal_quality>[\d.]+?)dB\s)?
|
||||
(?:(?P<errors>\d+)e\s)?
|
||||
(?:(?P<error_count>\d+)e\s)?
|
||||
(?:(?P<frequency_offset>[+-][\d.]+?)kHz\s?)?
|
||||
(?:gps(?P<gps_accuracy>\d+x\d+)\s?)?
|
||||
(?:s(?P<flarm_software_version>[\d.]+)\s?)?
|
||||
|
@ -166,7 +166,7 @@ PATTERN_AIRCRAFT_BEACON = re.compile(r"""
|
|||
(?:(?P<signal_quality>[\d.]+?)dB\s)?
|
||||
(?:(?P<errors>\d+)e\s)?
|
||||
(?:(?P<frequency_offset>[+-][\d.]+?)kHz\s?)?
|
||||
(?:gps(?P<gps_accuracy>\d+x\d+)\s?)?
|
||||
(?:gps(?P<gps_quality>(?P<gps_quality_horizontal>(\d+))x(?P<gps_quality_vertical>(\d+)))\s?)?
|
||||
(?:s(?P<flarm_software_version>[\d.]+)\s?)?
|
||||
(?:h(?P<flarm_hardware_version>[\dA-F]{2})\s?)?
|
||||
(?:r(?P<flarm_id>[\dA-F]+)\s?)?
|
||||
|
|
|
@ -17,7 +17,7 @@ class TestStringMethods(unittest.TestCase):
|
|||
self.assertEqual(message['signal_quality'], 3.5)
|
||||
self.assertEqual(message['error_count'], 2)
|
||||
self.assertEqual(message['frequency_offset'], -8.7)
|
||||
self.assertEqual(message['gps_status'], '1x2')
|
||||
self.assertEqual(message['gps_quality'], {'horizontal': 1, 'vertical': 2})
|
||||
self.assertEqual(message['software_version'], 6.09)
|
||||
self.assertEqual(message['hardware_version'], 67)
|
||||
self.assertEqual(message['real_address'], "DF0267")
|
||||
|
|
|
@ -20,7 +20,7 @@ class TestStringMethods(unittest.TestCase):
|
|||
self.assertEqual(message['signal_quality'], 8.8)
|
||||
self.assertEqual(message['error_count'], 0)
|
||||
self.assertEqual(message['frequency_offset'], 51.2)
|
||||
self.assertEqual(message['gps_status'], '4x5')
|
||||
self.assertEqual(message['gps_quality'], {'horizontal': 4, 'vertical': 5})
|
||||
self.assertEqual(len(message['proximity']), 3)
|
||||
self.assertEqual(message['proximity'][0], '1084')
|
||||
self.assertEqual(message['proximity'][1], 'B597')
|
||||
|
|
Ładowanie…
Reference in New Issue