This patch reworks the KISS client to get rid of
aioax25 as it was too difficult to work with due to
heavy use of asyncio.
Switched to the kiss3 pypi library.
This patch updates the main aprsd threads class to use
a shared queue to notify all aprsd thread classes they need
to exit. This ensures any closing down of sockets, etc happens from
inside the context of the thread itself, not the MainThread that
calls stop.
This patch changes how aprsd identifies itself when connected to
any client, which is not relying on the login for each client.
There are 3 supported clients currently
aprsis,
tcpkiss
serialkiss.
Each client has their own potential login/callsign to connect
to the remote. This patch tells aprsd to use the new config option
aprsd.callsign as a means to identify itself. It will accept
packets as <aprsd.callsign> and reply as <aprsd.callsign> regardless
of which client object is being used to connect to the remote.
Note: this breaks backwards compatibility. This patch now requires
the new config option
aprsd:
callsign: <callsign>
This patch creates a threads directory and separates out
the contents of threads.py into separate files in the
threads directory to make it easier to find and maintain.
This patch updates the config option checking for
required fields in the config yaml file. Specifically
for the existence of the aprsd: section
and the required fields for the 3 supported client types
apris,
kiss serial,
kiss tcp
This patch changes the base Message class to
ensure that all printing of the message class only
outputs the message in the truncated and bad word filtering
enabled in the log.
This helps with shell prompts showing the name of the venv.
When you have multiple venv environments on your system, naming then
helps to identify which one you are actively using.
The APRS_LOGIN and APRS_PASSWORD arguments now fallback
to the config file if it exists.
First it checks the passed in parameters, then checks the
environement vars, then checks the parsed config to find the
login and password.
This patch also adds unit tests for the send-message command to
check the fallback.