1
0
mirror of https://github.com/craigerl/aprsd.git synced 2025-04-08 20:48:39 -04:00
Commit Graph

1202 Commits

Author SHA1 Message Date
ad1e62b17c
Merge pull request 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 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 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 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 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 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
9501a63bd6 Trap for failed parsing of packets on KISS
This adds a try block around the aprslib.parse() for packets incoming
on the KISS interface.  Often times we'll get invalid packets and
this prevents stack dumps to the log.
2025-01-24 17:44:58 -05:00
edeba7f514 Fix for KISS/Fake client drivers
They were both missing a setting of aprsd_keepalive to test
for the logging of the keepalive last time called.
2025-01-24 17:28:59 -05:00
24f567224c Updated Changelog 2025-01-24 16:46:02 -05:00
e08039431e Update pyproject for README.rst -> md
Updated the pyproject.toml to reflect the name change of
README.rst -> README.md
2025-01-24 16:43:52 -05:00
934ebd236d Updated ChangeLog for 4.0.0 2025-01-24 16:38:30 -05:00
4a7a902a33 Updated requirements 2025-01-24 16:35:20 -05:00
github-actions[bot]
c556f5126f
chore: update AUTHORS [skip ci] 2025-01-24 21:32:14 +00:00
7e4d4b3e80
Merge pull request from craigerl/refactor-extraction
Migrate admin web out of aprsd.
2025-01-24 13:32:03 -08:00
375a5e5b34 Updated README.md TOC
Updated the table of contents
2025-01-24 16:23:42 -05:00
cf4a29f0cb reduced logo size 50% 2025-01-23 08:55:06 -05:00
447451c6c9 Added plugin and extension links
This patch updates the README.md file to link to existing plugins
and extensions.
2025-01-23 08:51:23 -05:00
0ed648f8f8 Added APRSD logo 2025-01-23 08:23:38 -05:00
ba8acdc584 try making image for webchat 2025-01-22 16:59:14 -05:00
dabb48c6f6 updated healthcheck.sh 2025-01-18 21:25:47 +00:00
1054999568 added healthcheck.sh 2025-01-17 00:44:43 +00:00
044ea4cc9a Update the admin and setup.sh for container 2025-01-17 00:40:39 +00:00
24db814c82 Updated Docker for using alpine and uv 2025-01-15 18:00:12 -05:00
1cba31f0ac removed pytest from README 2025-01-15 17:55:12 -05:00