Skip to content

Commit 29e4483

Browse files
committed
mostly documentation updates
1 parent 82cd7e8 commit 29e4483

File tree

12 files changed

+54
-44
lines changed

12 files changed

+54
-44
lines changed

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Copyright 2021 Greg Albrecht
1+
Copyright 2022 Greg Albrecht
22

33
Licensed under the Apache License, Version 2.0 (the "License");
44
you may not use this file except in compliance with the License.

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
#
33
# Source:: https://github.com/ampledata/aprscot
44
# Author:: Greg Albrecht W2GMD <oss@undef.net>
5-
# Copyright:: Copyright 2021 Greg Albrecht
5+
# Copyright:: Copyright 2022 Greg Albrecht
66
# License:: Apache License, Version 2.0
77
#
88

README.rst

Lines changed: 23 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@ IF YOU HAVE AN URGENT OPERATIONAL NEED: Email ops@undef.net or call/sms +1-415-5
77
:alt: Screenshot of APRS PLI in ATAK..
88
:target: https://raw.githubusercontent.com/ampledata/aprscot/main/docs/screenshot_1637083240_16797.png
99

10-
The ``aprscot`` "APRS to Cursor On Target (COT) Gateway" transforms APRS Frames
11-
into COT Position Location Information (PLI) Points, compatible with
12-
Situational Awareness (SA) and Common Operating Picture (COP) applications such
13-
as Android Team Awareness Kit (ATAK), WinTAK, RaptorX, COPERS, et al.
10+
The ``aprscot`` "APRS to Cursor On Target (COT) Gateway" transforms APRS
11+
Frames into COT Position Location Information (PLI) Points, compatible with
12+
Situational Awareness (SA) and Common Operating Picture (COP) applications
13+
such as Android Team Awareness Kit (ATAK), WinTAK, RaptorX, COPERS, et al.
1414

1515
Features of ``aprscot``:
1616

@@ -19,13 +19,16 @@ Features of ``aprscot``:
1919
* Can run as a service ('daemon') on any Linux system.
2020
* Can send COT Events to any destination supported by `PyTAK <https://github.com/ampledata/pytak>`_: TLS/SSL, TCP, UDP, UDP Multicast.
2121

22-
See also Alan Barrow's aprstak: https://github.com/pinztrek/aprstak
22+
See also:
23+
24+
* Hayt's APRS-TAK ATAK Plugin: https://drive.google.com/drive/folders/1o8tsalgxUGxdg2HiDw5xVu_-bnr63F3d
25+
* Alan Barrow's aprstak: https://github.com/pinztrek/aprstak
2326

2427
Support aprscot Development
2528
============================
2629

27-
aprscot has been developed for the Disaster Response, Public Safety and
28-
Frontline community at-large. This software is currently provided at no-cost to
30+
aprscot has been developed for the Disaster Response, Public Safety, and
31+
Frontline community. This software is currently provided at no-cost to
2932
our end-users. All development is self-funded and all time-spent is entirely
3033
voluntary. Any contribution you can make to further these software development
3134
efforts, and the mission of aprscot to provide ongoing SA capabilities to our
@@ -38,9 +41,11 @@ end-users, is greatly appreciated:
3841
Installation
3942
============
4043

41-
The APRS to COT gateway is provided by a command-line tool called `aprscot`:
44+
The APRS to COT gateway is service started with a command-line tool
45+
called `aprscot`. There are three options for installing `aprscot`, in order
46+
preferred option they are:
4247

43-
Installing as a Debian/Ubuntu Package::
48+
**Option I: Install as a Debian / Ubuntu Package**::
4449

4550
$ wget https://github.com/ampledata/pytak/releases/latest/download/python3-pytak_latest_all.deb
4651
$ sudo apt install -f ./python3-pytak_latest_all.deb
@@ -50,12 +55,12 @@ Installing as a Debian/Ubuntu Package::
5055
$ sudo apt install -f ./python3-aprscot_latest_all.deb
5156

5257

53-
Install from the Python Package Index (PyPI)::
58+
Option II: Install from the Python Package Index (PyPI)::
5459

5560
$ pip install aprscot
5661

5762

58-
Install from this source tree::
63+
Option III: Install from this source tree::
5964

6065
$ git clone https://github.com/ampledata/aprscot.git
6166
$ cd aprscot/
@@ -77,19 +82,21 @@ The `aprscot` program has one command-line argument::
7782
You must create a configuration file, see `example-config.ini` in the source
7883
repository.
7984

80-
An example config::
85+
An example config, `COT_URL` is our COT destination server or client::
8186

8287
[aprscot]
8388
COT_URL = tcp:takserver.example.com:8088
8489

8590

86-
`APRS-IS Server-side Filter Commands <http://www.aprs-is.net/javAPRSFilter.aspx>`_ can be used::
91+
`APRS-IS Server-side Filter Commands <http://www.aprs-is.net/javAPRSFilter.aspx>`_
92+
can be used to filter incoming APRS Frames::
8793

8894
[aprscot]
8995
COT_URL = tcp:takserver.example.com:8088
9096
APRSIS_FILTER = f/W6PW-10/50
9197

92-
PLI Transforms can be created using per-station sections::
98+
PLI Transforms can be created using per-station sections. In this example,
99+
we're overriding `W2GMD-9`'s COT Type & Callsign, and `NB6F-2`'s Callsign::
93100

94101
[aprscot]
95102
COT_URL = tcp:takserver.example.com:8088
@@ -115,9 +122,9 @@ https://ampledata.org/
115122

116123
Copyright
117124
=========
118-
Copyright 2021 Greg Albrecht
125+
Copyright 2022 Greg Albrecht
119126

120-
`Automatic Packet Reporting System (APRS) <http://www.aprs.org/>`_ is Copyright Bob Bruninga WB4APR wb4apr@amsat.org
127+
`Automatic Packet Reporting System (APRS) <http://www.aprs.org/>`_ is Copyright Bob Bruninga WB4APR (SK) wb4apr@amsat.org
121128

122129
License
123130
=======

aprscot/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
1010
1111
:author: Greg Albrecht W2GMD <oss@undef.net>
12-
:copyright: Copyright 2021 Greg Albrecht
12+
:copyright: Copyright 2022 Greg Albrecht
1313
:license: Apache License, Version 2.0
1414
:source: <https://github.com/ampledata/aprscot>
1515
@@ -25,6 +25,6 @@
2525
from .classes import APRSWorker # NOQA
2626

2727
__author__ = "Greg Albrecht W2GMD <oss@undef.net>"
28-
__copyright__ = "Copyright 2021 Greg Albrecht"
28+
__copyright__ = "Copyright 2022 Greg Albrecht"
2929
__license__ = "Apache License, Version 2.0"
3030
__source__ = "https://github.com/ampledata/aprscot"

aprscot/classes.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
import aprscot
1212

1313
__author__ = "Greg Albrecht W2GMD <oss@undef.net>"
14-
__copyright__ = "Copyright 2021 Greg Albrecht"
14+
__copyright__ = "Copyright 2022 Greg Albrecht"
1515
__license__ = "Apache License, Version 2.0"
1616
__source__ = "https://github.com/ampledata/aprscot"
1717

aprscot/commands.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222

2323

2424
__author__ = 'Greg Albrecht W2GMD <oss@undef.net>'
25-
__copyright__ = 'Copyright 2021 Greg Albrecht'
25+
__copyright__ = 'Copyright 2022 Greg Albrecht'
2626
__license__ = 'Apache License, Version 2.0'
2727
__source__ = 'https://github.com/ampledata/aprscot'
2828

aprscot/constants.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
1-
#!/usr/bin/env python
1+
#!/usr/bin/env python3
22
# -*- coding: utf-8 -*-
33

4-
"""APRS Cursor-on-Target Constants."""
4+
"""APRS Cursor-on-Target Gatway: Constants."""
55

66
import logging
77
import os
88
import re
99

1010
__author__ = 'Greg Albrecht W2GMD <oss@undef.net>'
11-
__copyright__ = 'Copyright 2021 Greg Albrecht'
11+
__copyright__ = 'Copyright 2022 Greg Albrecht'
1212
__license__ = 'Apache License, Version 2.0'
1313
__source__ = 'https://github.com/ampledata/aprscot'
1414

@@ -32,7 +32,7 @@
3232
DEFAULT_APRSIS_PORT: int = 14580
3333
DEFAULT_APRSIS_HOST: str = "rotate.aprs.net"
3434
DEFAULT_APRSIS_CALLSIGN: str = "APRSCOT"
35-
DEFAULT_APRSIS_FILTER: str = "f/SUNSET/50"
35+
DEFAULT_APRSIS_FILTER: str = "m/50"
3636

3737
DEFAULT_COT_TYPE: str = "a-f-G-I-U-T-r"
3838
DEFAULT_COT_STALE: str = 3600

aprscot/functions.py

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,23 @@
55

66
import datetime
77

8-
import xml.etree.ElementTree
8+
from typing import List
9+
10+
import xml.etree.ElementTree as ET
911

1012
import pytak
1113

1214
import aprscot
1315

16+
1417
__author__ = "Greg Albrecht W2GMD <oss@undef.net>"
15-
__copyright__ = "Copyright 2021 Greg Albrecht"
18+
__copyright__ = "Copyright 2022 Greg Albrecht"
1619
__license__ = "Apache License, Version 2.0"
1720
__source__ = "https://github.com/ampledata/aprscot"
1821

1922

2023
def aprs_to_cot_xml(aprs_frame: dict, config: dict) -> \
21-
[xml.etree.ElementTree, None]: # NOQA pylint: disable=too-many-locals,too-many-statements
24+
List[ET.Element, None]: # NOQA pylint: disable=too-many-locals,too-many-statements
2225
"""Converts an APRS Frame to a Cursor-on-Target Event."""
2326
time = datetime.datetime.now(datetime.timezone.utc)
2427

@@ -50,7 +53,7 @@ def aprs_to_cot_xml(aprs_frame: dict, config: dict) -> \
5053
datetime.timedelta(
5154
seconds=int(_cot_stale))).strftime(pytak.ISO_8601_UTC)
5255

53-
point = xml.etree.ElementTree.Element("point")
56+
point = ET.Element("point")
5457
point.set("lat", str(lat))
5558
point.set("lon", str(lon))
5659

@@ -67,22 +70,22 @@ def aprs_to_cot_xml(aprs_frame: dict, config: dict) -> \
6770
# Height above Ellipsoid based on WGS-84 ellipsoid (measured in meters)
6871
point.set("hae", "9999999.0")
6972

70-
uid = xml.etree.ElementTree.Element("UID")
73+
uid = ET.Element("UID")
7174
uid.set("Droid", f"{name} (APRS)")
7275

73-
contact = xml.etree.ElementTree.Element("contact")
76+
contact = ET.Element("contact")
7477
contact.set("callsign", f"{callsign} (APRS)")
7578

76-
track = xml.etree.ElementTree.Element("track")
79+
track = E.Element("track")
7780
track.set("course", "9999999.0")
7881

79-
detail = xml.etree.ElementTree.Element("detail")
82+
detail = ET.Element("detail")
8083
detail.set("uid", name)
8184
detail.append(uid)
8285
detail.append(contact)
8386
detail.append(track)
8487

85-
remarks = xml.etree.ElementTree.Element("remarks")
88+
remarks = ET.Element("remarks")
8689

8790
comment = aprs_frame.get("comment")
8891
if comment:
@@ -91,7 +94,7 @@ def aprs_to_cot_xml(aprs_frame: dict, config: dict) -> \
9194

9295
# event.stale = time + datetime.timedelta(seconds=stale)
9396

94-
root = xml.etree.ElementTree.Element("event")
97+
root = ET.Element("event")
9598
root.set("version", "2.0")
9699
root.set("type", cot_type)
97100
root.set("uid", f"APRS.{callsign}".replace(" ", ""))
@@ -110,7 +113,7 @@ def aprs_to_cot(aprs_frame: dict, config: dict) -> str:
110113
Converts an APRS Frame to a Cursor-on-Target Event, as a String.
111114
"""
112115
cot_str: str = ""
113-
cot_xml: xml.etree.ElementTree = aprs_to_cot_xml(aprs_frame, config)
116+
cot_xml: ET.Element = aprs_to_cot_xml(aprs_frame, config)
114117
if cot_xml:
115-
cot_str = xml.etree.ElementTree.tostring(cot_xml)
118+
cot_str = ET.tostring(cot_xml)
116119
return cot_str

requirements_test.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
#
33
# Source:: https://github.com/ampledata/aprscot
44
# Author:: Greg Albrecht W2GMD <oss@undef.net>
5-
# Copyright:: Copyright 2020 Orion Labs, Inc.
5+
# Copyright:: Copyright 2022 Greg Albrecht
66
# License:: Apache License, Version 2.0
77

88

setup.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
#
33
# Source:: https://github.com/ampledata/aprscot
44
# Author:: Greg Albrecht W2GMD <oss@undef.net>
5-
# Copyright:: Copyright 2020 Orion Labs, Inc.
5+
# Copyright:: Copyright 2022 Greg Albrecht
66
# License:: Apache License, Version 2.0
77
#
88

setup.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#!/usr/bin/env python
1+
#!/usr/bin/env python3
22
# -*- coding: utf-8 -*-
33

44
"""
@@ -13,9 +13,9 @@
1313
import setuptools
1414

1515
__title__ = "aprscot"
16-
__version__ = "5.0.2"
16+
__version__ = "5.0.3"
1717
__author__ = "Greg Albrecht W2GMD <oss@undef.net>"
18-
__copyright__ = "Copyright 2021 Greg Albrecht"
18+
__copyright__ = "Copyright 2022 Greg Albrecht"
1919
__license__ = "Apache License, Version 2.0"
2020

2121

tests/test_functions.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
~~~~
99
1010
:author: Greg Albrecht W2GMD <oss@undef.net>
11-
:copyright: Copyright 2021 Greg Albrecht
11+
:copyright: Copyright 2022 Greg Albrecht
1212
:license: Apache License, Version 2.0
1313
:source: <https://github.com/ampledata/aprscot>
1414
"""

0 commit comments

Comments
 (0)