Examples

Included with this package are some complete example applications that illustrate how the library can be used to build real world software.

Listen

A command line application that enables monitoring of AX.25 frames in a manner similar to that of the listen utility available on Linux.

Frames are decoded using the ax25 module, and embedded NET/ROM broadcast data is decoded using the ax25.netrom module. When running under Linux and on top of the Linux AX.25 protocol stack, the ax25.ports module is used to identify the incoming port. (Port information is not available via KISS.)

The application supports two different means of acquiring AX.25 packets. On all platforms, it can connect to software such as Direwolf using KISS, and receive packets provided to it through that connection. On Linux only, it can use the native AX.25 protocol stack to receive packets directly.

Note: In order to avoid any package dependencies, the KISS code uses a very simplistic method for extracting the data from a KISS frame. This is not foolproof. If you wish to create a more robust version of this example, see the pyham_kiss package.

Connect

Important

The Connect application runs only on Linux, since it illustrates the use of the ax25.socket module in working with the native Linux AX.25 stack.

A command line application along the lines of the Linux axcall utility, providing simple connected mode capability and demonstrating the use of the ax25.socket module.

Few commands and options are provided, since the focus is on illustrating the ease with which a simple connected mode application can be constructed on top of the native Linux AX.25 stack using ax25.socket. In particular, only the default port is supported in this example application, and vias are not supported. These are both supported by the ax25.socket module, however, and would be straightforward to add should someone choose to use this example as the basis for a more sophisticated application.