libfap is a C port of the Ham::APRS::FAP Finnish APRS Parser (Fabulous APRS Parser) Perl module. As the original Perl code, libfap parses normal, mic-e and compressed location packets, NMEA location packets, objects, items, messages, telemetry and most weather packets. For more description, see the Perl module.
Version 1.3 has been released. It contains bug fixes to distance calculation and to AX.25 and KISS frame generation. Thanks to Gordon, MM0YEQ and Dan, KK7DS for the fixes!
Version 1.2 has been released. Purpose of this release is to add pkg-config support, functionality of actual library has not changed. Thanks to Gordon, MM0YEQ for the metadata file.
Version 1.1 has been released. There was yet another design issue with the API, so it had to be changed once again. Hopefully next change will add new features, not just fix old ones...
Andrew Elwell has created RPM packages of libfap. Many thanks!
Version 1.0 is available. It contains some bugfixes, changelog has the details.
The IPv6 update is here. That's because you can already use IPv6 to connect some of the APRS-IS servers. This causes IPv6 addresses to appear in paths of qAI-packets, which in turn must be supported by the APRS parsers. Get libfap 0.9 and be ready for the next generation of the Internet!
Tom, KD7LXL is working on Python ctypes bindings for libfap. This means that you can now use libfap in your Python code. Great work Tom!
Improvements introduced in FAP 1.15 have been migrated, and libfap 0.8 has been released.
libfap 0.7 has been released. Some features have been added and many bugs have been fixed. See the changelog for details.
Source code and also binary packages for some GNU/Linux distributions can be downloaded from the downloads directory.
Debian and Ubuntu users can use the provided binary packages. Just download the packages you need and say dpkg -i libfap*.deb.
Users of RPM-based distributions should look here: https://bugzilla.redhat.com/show_bug.cgi?id=669010
Building libfap should work like this:
tar xvzf libfap-<version>.tar.gz cd libfap-<version> ./configure [--prefix=/opt or other options] make make install
To see how to use the parser in your C/C++ code, see the API documentation.
If you use automake and things in your project, you can check for libfap for example like this:
dnl Check for libfap. AC_CHECK_HEADERS(fap.h, , AC_MSG_ERROR([libfap header not found.]),[[#include <fap.h>]]) AC_CHECK_LIB(fap, fap_parseaprs, , AC_MSG_ERROR([libfap library object not found.]))
The parser has been originally written by Tapio Sokura, OH2KKU and Heikki Hannikainen, OH7LZB and ported to C by Tapio Aaltonen, OH2GVE.
Libfap is free software; you can redistribute it and/or modify it under the terms of either:
Both licenses can be found in the licenses directory of the source code package.
This software has no warranty, you use it entirely at your own risk. If you spot a bug in libfap, please report it to OH2GVE. Thanks!
back to front