¿ªÔÆÌåÓý

Re: Interface documentation for programmers


 

If one is attaching at the kiss layer, then each client must be able to pack and unpack the packets and if the service is a connected services, handle retries.

Since APRS is essentially connectionless, this is not a major?lift.

If, however, one uses a connection based packet approach, then the clients must handle the retries for the packets and this can get complicated. ?

I have encountered?certain clients who do not handle the?retries well causing failure of the client.

Many/most of the low level packet software (AGWPE, Doundcard, Direwolf) do seem to handle the retries well.? Connecting the client over the AGW?layer removes the need for the client to handle the retries and for connected services and removes the need for the retry code at the client layer.

On Sun, Sep 26, 2021 at 11:45 AM Rob Giuliano via <kb8rco=[email protected]> wrote:
Although I see a lot of good in the AGW protocol, it does add an extra layer.
Why not just use KISS over TCP/IP.
Then you are using the standard protocol for hardware TNCs.
There is a lot of code (and even libraries) for the KISS protocol.
The only differnece between getting data from a hardware TNC and a software TNC would be the source (TCP or COMM port).?

Robert Giuliano
KB8RCO



On Sunday, September 26, 2021, 09:57:19 AM EDT, Martin Cooper <kd6yam@...> wrote:


Xastir and other software uses AGWPE to talk to Direwolf. The protocol is fairly well defined. Implementing a client isn't trivial, but it's not super-hard either, as long as you're familiar with writing socket-related code. You also don't need to implement everything, if you don't need it all. (For example, if you only want to listen to APRS traffic, you don't need to implement the connection-based pieces.)

The spec is available in a couple of places. Here's one:



There is some example?code in C++ and Delphi (yes, really), but I didn't find it of much help. Working from the descriptive text, I wrote a full Python client that works against Direwolf, ldsped and AGWPE itself. Depending on what you want to do, you may also need code to work with AX.25 packets.

Direwolf can also talk via KISS, though that's more limited.

Hope that helps.

Martin.
KD6YAM

On Sun, Sep 26, 2021 at 5:43 AM John <wa1kli@...> wrote:
Is there a document detailing how to write programs such as Xasitr that make API calls to direwolf?

John Tarbox WA1KLI



--

73,
AB1PH
Don Rolph

Join [email protected] to automatically receive all group messages.