b9fea982f9
Updated Changelog for 4.2.0
4.2.0
2025-08-12 20:59:17 -04:00
2c476d8a04
Updated requirements for 4.2.0
2025-08-12 19:39:11 -04:00
fa5d0c643a
log the exception when tx fails.
...
If _send_direct fails, we log the exception so we can find out why
it failed to send.
2025-06-17 22:23:06 -04:00
74887af507
Fix tox failures
...
With the UnknownPacket
2025-06-17 10:51:42 -04:00
034f11b4f9
Make sure packet has addressee field
...
Before dereferencing it in the rx thread.
This covers the case for an Unknown Packet
2025-06-06 17:18:19 -04:00
1ae437581f
Honor quiet setting for log.setup_logging
...
This updates the setup_logging() to honor the quiet setting.
This means that aprsd won't log to stdout when quiet is passed in
as True.
2025-04-24 20:45:13 -04:00
d41064ba05
Don't log an IOError on shutdown
...
This updates the consumer loop to only log an IOError if we are not
in the process of shutting down.
2025-04-24 20:44:07 -04:00
b201117e96
Merge pull request #191 from craigerl/client-refactor
...
Reworked the entire client and drivers
2025-04-23 21:06:13 -04:00
211ac1132b
Updated requirements
2025-04-23 20:59:18 -04:00
acd639a910
Make some catchall fields non hashable.
...
This makes some of the packet fields non-hashable that
will eventually end up being dicts or lists.
2025-04-23 20:57:16 -04:00
ce79f0112f
Remove flask_enabled
2025-04-23 20:52:58 -04:00
4c53c13e79
Ensure filter is set
...
Ensure the filter is set when a client reset happens
2025-04-23 20:52:02 -04:00
5469610779
Fixed a problem with WeatherPacket
...
WeatherPacket was calling self.filter_for_send, which doesn't
exist. It's self._filter_for_send.
2025-04-23 20:52:02 -04:00
1c39546bb9
Reworked the entire client and drivers
...
This patch includes a completely reworked client structure.
There is now only 1 client object, that loads the appropriate
drivers. The drivers are fake, aprsis and tcpkiss.
The TCPKISS client was written from scratch to avoid using asyncio.
Asyncion is nothing but a pain in the ass.
2025-04-23 20:52:02 -04:00
8f471c229c
removed old flask_enabled global
2025-04-23 10:06:44 -04:00
2fcd574f12
Fixed setup for AVWXWeatherPlugin
...
This ensures that during setup() the plugin sets itself
to enabled if all checks pass.
2025-04-23 09:59:53 -04:00
44e2898c3f
Merge pull request #193 from craigerl/docker-compose
...
Update the docker-compose.yml
2025-04-22 09:16:37 -04:00
5a2bf6f3ba
Update the docker-compose.yml
...
This updates the docker-compose.yml example file to show
how to install 2 plugins for the aprsd-server container
and how to deploy the admin interface container.
2025-04-21 15:53:14 -04:00
ad1e62b17c
Merge pull request #186 from pheezer/master
...
Use OpenWeatherMap One Call v3.0 API
2025-03-14 07:52:18 -04:00
Philip Duvall
bd83e53838
Merge branch 'master' into master
2025-03-07 22:06:44 -07:00
6dba56f74d
Changelog for 4.1.2
4.1.2
2025-03-06 17:11:57 -05:00
d262589313
Allow passing in a custom handler to setup_logging
...
This adds the ability to pass in a custom log handler during
startup in the log.setup_logging().
2025-03-06 17:09:40 -05:00
7ed8028307
4.1.1 release
4.1.1
2025-03-05 17:00:12 -05:00
94ba915ed4
Fixed some more ruff checks
...
this updates some code to fix any more 'ruff check' failures.
2025-03-05 16:48:18 -05:00
2b185ee1b8
Update requirements
...
This removes the hard coded requirement for the old rich lib.
2025-03-04 14:01:27 -05:00
Philip Duvall
16bfda431c
use OWM onecall v3.0
2025-03-01 09:29:05 -07:00
c1c89fd2c2
Added threads.service
...
This is just a handy wrapper to inject all the threads a service wants
to start and then start them all at once, and then join them all.
2025-02-28 17:16:53 -05:00
0fa5b07d4b
Added new config to disable logging to console
...
This patch adds a new config setting to the logging
section that allows the user to disable logging to stdout.
This is useful for terminal UI apps :)
2025-02-26 17:41:40 -05:00
a3cda9f37d
Update Changelog for 4.1.0 release
4.1.0
2025-02-20 15:15:31 -05:00
06bdb34642
CONF.logging.enable_color option added
...
This allows the user to turn off ANSI color output for
logging to the console.
2025-02-20 12:44:16 -05:00
4fd64a3c25
Merge pull request #184 from craigerl/packet_filtering
...
Added new PacketFilter mechanism
2025-02-19 16:45:10 -05:00
361663e7d2
Changed Objectstore log to debug
...
This should help silence the log a bit.
2025-02-19 16:38:48 -05:00
fd517b3218
updated gitignore
2025-02-19 16:38:48 -05:00
e9e7e6b59f
Fixed some pep8 failures.
2025-02-19 16:38:47 -05:00
52dac7e0a0
Added new PacketFilter mechanism
...
This patch adds the new PacketFilter class as a generic mechanism
for doing packet filtering during the packet processing phase of
recieving packets.
The packet phases are:
1. reception and stats collection
2. packet processing.
Each phase has a single thread for handling that phase.
Phase 1:
The ARPSDRXThread connects to the APRS client, and gets packets
from the client. Then it puts the packet through the Collector
for stats and tracking. Then the packet is put into the packet_queue.
Phase 2:
Packets are pulled from the packet_queue. Then packets are run
through the PacketFilter mechanism, then processed depending
on the command being run.
By default there is 1 loaded packet filter, which is the
DupePacketFilter which removes "duplicate" packets that aprsd has
already seen and processed within the configured time frame.
This PacketFilter mechanism allows an external extension or plugin
to add/remove packet filters at will depending on the function
of the extension or plugin. For example, this allows an extension
to get a packet and push the packet into an MQTT queue.
2025-02-19 16:38:47 -05:00
b6da0ebb0d
Fix runaway KISS driver on failed connnection
...
This patch fixes an issue when the KISS connection fails to start
and or goes away during the lifetime of the active connection.
Aprsd would runaway in a tight loop eating 100% cpu. We now detect
when the underlying asyncio connection has failed and raise, which
induces a sleep in the consumer to try again.
2025-02-15 18:55:58 -05:00
d82a81a2c3
fix for None packet in rx thread
...
This patch updates the process_packet to ensure when we
try to decode a packet we actually get one.
2025-02-14 11:06:19 -05:00
6cd7e99713
Remove sleep in main RX thread
...
We had a bottleneck of pulling down packets as fast as possible,
which was caused by the time.sleep(1) call in the main RX
thread that used to be needed.
2025-02-03 13:27:57 -08:00
101904ca77
Try and stop chardet logging!
...
This patch sets settings on the logger to hopefully
stop any chardet logs from leaking into the aprsd logs.
2025-01-30 10:16:09 -08:00
227ddbf148
Update StatsStore to use existing lock
...
The base class for StatsStore already creates a lock, use that instead.
2025-01-30 10:07:28 -08:00
19c12e70f3
Updated packet_list to allow infinit max store
...
This patch adds logic of setting packet_list_stats_maxlen -1
meaning keep every packet for stats.
2025-01-30 10:04:59 -08:00
1606585d41
Updated APRSIS driver
...
This patch adds an override to _connect to set some more
socket keepalive options.
2025-01-30 10:03:14 -08:00
3b57e7597d
Update to build from pypi
2025-01-25 13:41:00 -05:00
000adef6d4
Prep for 4.0.2
4.0.2
2025-01-25 13:29:04 -05:00
bea481555b
update the install from github in Dockerfile
2025-01-25 13:06:53 -05:00
3c4e200d70
Fix the testing of fortune path
2025-01-25 12:54:18 -05:00
2f26eb86f4
Added uv.lock
2025-01-25 12:33:29 -05:00
97ffffc10d
Look in multiple places for fortune bin
...
Update the fortune plugin to look in multiple places for the
fortune binary. It lives in different places for debian vs alpine.
2025-01-25 12:32:15 -05:00
c1319c3ab8
Removed some verbose output from KISS
...
This removes some overly verbose output from the KISS driver.
2025-01-25 12:31:27 -05:00
1f65bbe13a
Pass branch in github release_build
...
Try and pass the build arg BRANCH along with the
building of the image.
2025-01-24 20:50:33 -05:00