This patch adds the new APRSRegistryThread,
which enabled in config, will send a small
packet of information to the as yet deployed
APRS service registry every 900 seconds.
The data that this thread will send is
the service callsign, a description of the service,
a website url for the service.
The idea being that the registry website that this thread
sends information to, will show all the services that are
running on the ARPS network, so Ham operators can discover
them and try them out.
This patch adds support for loading extenions
to APRSD!!
You can create another separate aprsd project, and register
your extension in your setup.cfg as a new entry point for aprsd
like
[entry_points]
aprsd.extension =
cool = my_project.extension
in your my_project/extension.py file
import your commmands and away you go.
This patch adds the new feature of trying to fetch the location
distance and bearing for each callsign in the webchat tabs.
This is handy when out on the go, you can get a general idea
where the other callsign is when chatting with them.
First aprsd webchat tries to fetch the location with aprs.fi
REST api call. This assumes internet access. If this fails,
then webchat will send a special message to REPEAT to ask it for
the location information for the callsign. This will send over
the air.
This patch adds a new popover in the webchat tab to show
the location information for a callsign.
webchat will try to hit aprs.fi to fetch the location from the
callsign's last beacon. If there is no internet, this will fail
and webchat will send a request to REPEAT callsign for the location
information.
This Patch updates the location plugin to allow configuring which
geopy library's supported geocoders. This patch also adds a fake
geopy geocoder class that uses the us government's API for location.
this patch fixes some issues with webchat not loading css and js
when there is no internet. The index.html was relying on internet
being available to fetch remote css and js.
The kiss client send method was always forcing the config
path. If a packet has a path specified in it, that will
override the config setting for the kiss client setting in the config.
This patch adds the new packet_dump_timeout config option, defaulting to
60 seconds. If the same packet matching the from, to, msgNo is RX'd
within that timeout the packet is considered a dupe and will be
dropped. Ack packets are not subject to dupe checking.
This patch adds the ability to webchat to set the path
on every outbound packet for the KISS clients as well as
the fake client. The path dropdown includes the options for
Default path (which will default to the config setting)
WIDE1-1,WIDE2-1
ARISS
The packet msgNo field is a string, but is typically is an integer
counter to keep track of a specific packet id. The counter was
returning an int, but the packet.msgNo is a string. So, when trying to
delete a packet from the packet tracker, the key for accessing the
packet is the msgNo, which has to be a string. Passing an int, will
cause the packet tracker to not find the packet, and hence silently
fail.
This patch forces the msgNo counter to be a string.
This patch rewrites the packet_list internally to be a dictionary
instead of a list for very fast lookups. This was needed to test for
duplicate packets already in the list.
This patch drops packets that have the same data and are < 60 seconds
in age from the last time we got the packet. On RF based clients
we can get dupes!!
Sometimes over KISS clients (RF), we can get duplicate packets
due to having many digipeters in range of the TNC that aprsd is
connected to. We will now filter out any dupe packets that aprsd
is still in the process of doing it's 3 acks.