Wykres commitów

151 Commity (add-microtrack-parser)

Autor SHA1 Wiadomość Data
Konstantin Gründger 384f0edc7e Fixes #25 2017-10-02 19:22:34 +02:00
Konstantin Gründger 8857a31e78 Allow negative altitudes 2017-10-02 19:19:39 +02:00
Konstantin Gründger e613abdbcb Fixed OGNTRK parser 2017-10-01 12:59:53 +02:00
Konstantin Gründger e1247467e5 Added test for receiver OGNSDR 2017-09-30 19:27:46 +02:00
Konstantin Gründger 7361ea7392 Fixed createTimestamp 2017-09-30 18:25:02 +02:00
Konstantin Gründger 054c9eeed0 Fixed ddhhmm vs. hhmmss problem 2017-09-30 14:28:00 +02:00
Konstantin Gründger 33a7690f7d Added Tracker (OGNTRK) and Receiver (OGNSDR) parser 2017-09-30 11:42:16 +02:00
Konstantin Gründger 127f3935d2 Separated parser in separate files 2017-09-30 09:45:50 +02:00
Konstantin Gründger ca5636456a Add APRS type to message 2017-09-30 09:45:50 +02:00
Konstantin Gründger 6044e58773 Tests for OGFLR, OGNTRK and OGNSDR 2017-09-30 09:45:50 +02:00
Konstantin Gründger 4f1f6c09ae Added group 'relay' 2017-09-30 09:45:50 +02:00
Konstantin Gründger 76a45bc531 Each dstcall gets a separate treatment 2017-09-30 09:45:50 +02:00
Konstantin Gründger 5fcaf04125 If we have a dstcall other than "APRS" the pattern must match 2017-09-30 09:45:50 +02:00
Konstantin Gründger 63d8d2fc4e Implemented Naviter parser 2017-09-30 09:45:50 +02:00
Konstantin Gründger 5faf78b239 Test beacon_type 2017-09-30 09:45:50 +02:00
Konstantin Gründger e63b746504 parser: distinguish between different dstcalls 2017-09-30 09:45:50 +02:00
Konstantin Gründger c2c38bb337 Timestamp zulu can also be a z instead h and other small improvements 2017-09-30 09:45:50 +02:00
Konstantin Gründger 9ae25a4500 Added support for heared aircrafts 2017-09-09 11:28:22 +02:00
Anze Kolar 13cc75cf03 Allow client to do sequential connect-disconnect
With introduction of the kill switch it was impossible to restart the
consumption of the OGN messages after a .disconnect() method has been
called.

This commit resets the kill flag after .connect() has been called.

Minimal example:

```
client = AprsClient(aprs_user='testuser', aprs_filter='')
client.connect()
client.run(callback=lambda x: x, autoreconnect=True)
...
client.disconnect()
client.connect()
client.run()
```
2017-07-20 15:28:01 +02:00
Anze Kolar 182f9518a4 Add kill flag to AprsClient
When starting an AprsClient with AprsClient.run(...) the client enters
a loop without an exit condition (i.e. a while True loop).  If autoreconnect
is set to True, it is impossible to exit the aforementioned loop even if
AprsClient.disconnect() is called.

This causes problems when running the client in a thread (or as a
background service, etc.) as the process will not join nor terminate
unless explicitly shutdown with SIGKILL.

Minimal example:

```
import signal

from ogn.client import AprsClient
from ogn.parser import parse_aprs, parse_ogn_beacon, ParseError

def process_beacon(raw_message):
    print('Received message')

client = AprsClient(aprs_user='N0CALL')
signal.signal(signal.SIGTERM, lambda signo, stackno: client.disconnect())
client.connect()
client.run(callback=process_beacon, autoreconnect=True)
```

This commit fixes such issues by adding a kill flag that is raised when
calling AprsClien.disconnect() to the while conditions of both loops inside
AprsClient.run().

Note: the outermost loop could still remain a while True loop as the
exit condition is checked at the end of the loop body.
2017-07-20 11:12:04 +02:00
Konstantin Gründger d0044deb47 Release v0.7.1 2017-06-05 10:07:04 +02:00
Konstantin Gründger e7cc73b220 Bugfix: error_count in AircraftBeacon is a int, not a float 2017-06-05 09:54:49 +02:00
Fabian P. Schmidt 24336cf689 Release v0.7.0 2017-06-04 07:22:39 +02:00
Fabian P. Schmidt 3ba39c266f parser: Fix copy-and-paste error 2017-06-04 07:17:04 +02:00
Konstantin Gründger 36ce45fe20 Empty APRS comment belongs to a receiver beacon 2017-05-16 14:36:38 +02:00
Konstantin Gründger d2973c1b93 Updated descriptions 2017-05-07 13:20:04 +02:00
Konstantin Gründger c98c8eca04 The comment is just optional 2017-05-07 12:56:06 +02:00
Konstantin Gründger a90f3ed1a9 Sync aircraft regex patter with ogn_client-ruby 2017-05-07 12:29:05 +02:00
Konstantin Gründger 539562c708 Sync receiver regex patter with ogn_client-ruby 2017-05-07 12:14:32 +02:00
Konstantin Gründger 00eaffd2aa Protocol parts not available will set to None instead of 0.0 2017-05-07 11:47:58 +02:00
Fabian P. Schmidt 7565de6c16 Release v0.6.0 2016-10-21 22:11:40 +02:00
Konstantin Gründger 43f2f344f5 Renaming signal_strength -> signal_quality, power -> signal_power 2016-10-13 19:34:34 +02:00
Konstantin Gründger 81758975f8 Removed debug code 2016-10-10 19:29:03 +02:00
Konstantin Gründger b5b85d7e1b Added "power", "voltage" and "amperage" 2016-10-10 19:26:46 +02:00
Konstantin Gründger d33cd5b7b9 Bugfix 2016-10-09 22:27:44 +02:00
Konstantin Gründger 6e2c59594f Adopt naming from ruby-client_ogn 2016-10-09 22:01:06 +02:00
Konstantin Gründger 5bcd04fe20 Implemented new receiver protocol for 0.2.5
Update for 0.2.5 protocol
2016-10-07 22:27:24 +02:00
Fabian P. Schmidt 13adb3efed Release v0.5.0 2016-09-29 18:42:26 +02:00
Konstantin Gründger 1b485e7629 Split reference_datetime to reference_date and reference_time 2016-09-28 11:08:44 +02:00
Fabian P. Schmidt d48b360141 Add aprs position enhancement before the sign adjustment
Patch provided by shortjonescipher.

Fixes #7.
2016-09-01 13:58:56 +02:00
Heikki Hannikainen de99c3b052 Relax APRS packet parser pattern to allow other destination calls than APRS
APRS spec allows any callsign-like string, and it is widely used to signal
which software or device generated the packet.
For OGN use, I would recommend using OGN-specific destination callsigns,
maybe software/tracker-specific OGN-prefixed calls. APRS tocall
index is found here, AP-prefixed tocalls are used for APRS devices.
https://github.com/hessu/aprs-deviceid/blob/master/tocalls.yaml

Fixes #9.
2016-09-01 11:28:46 +02:00
Fabian P. Schmidt 58cceb9aa2 Release v0.4.0 2016-03-29 15:24:09 +02:00
Fabian P. Schmidt 763826953a Add submodule ddb 2016-03-29 12:02:00 +02:00
Fabian P. Schmidt fd53e6a3df client: Add timed callback
A timed callback allows the modification of server-side filters
during runtime (the client instance provided as callback argument
includes the socket and its send function).

Since sock_file.readline() is blocking, a secure scheduling can't
be guaranteed but is likely due to regular server-sent status messages.
2016-03-25 19:11:14 +01:00
Fabian P. Schmidt be181f4791 Release v0.3.0 2016-03-18 21:57:26 +01:00
Fabian P. Schmidt 9a01a752c8 Make ogn an implicit namespace package 2016-03-18 14:51:09 +01:00
Fabian P. Schmidt 0569956866 parser: Accept delayed packets and reconstruct timestamp
Packets less than 12 hours old or until 30min from future are accepted,
effects of midnight-rollover gets corrected.

Fixes glidernet/ogn-python#31
2016-03-09 12:05:12 +01:00
Fabian P. Schmidt a8f0e1f464 client: Import class AprsClient at package level 2016-03-08 02:46:11 +01:00
Fabian P. Schmidt 7a7fcd3a67 parser: Import parse functions at package level
Simplify the import of parse functions (internally distributed in
submodules).
2016-03-08 02:46:11 +01:00
Fabian P. Schmidt abae52b165 Rename module ogn.gateway to ogn.client
Renamed also class ognGateway to AprsClient to comply with the PEP8 naming
convention and to emphasis that it is a generic aprs client, not ogn specific.
2016-03-08 02:05:50 +01:00
Fabian P. Schmidt bf03ac39dd Initial commit; Import from ogn-python
The repository ogn-python splits up into two separate repositories.
- python-ogn-client (the repository this commit belongs to):
  includes an APRS- and OGN-Parser, an APRS-Client and a DDB-Client.
- python-ogn-gateway:
  includes a database, CLI, logbook.

Import from glidernet/ogn-python, commit ba7ae37ef273aa5840719b31e4bca0c16d99eadd
2016-02-28 12:11:16 +01:00