YAAC (Yet Another APRS Client)

an open-source multi-platform APRS client program, copyright © 2011-2024 Andrew Pavlin, KA2DDO.

YAAC is a (mostly) platform-independent Java application written by Andrew Pavlin, KA2DDO, for monitoring and contributing to the Automatic Packet Reporting System (APRS) network (invented and trademarked by Bob Bruninga, WB4APR).

YAAC is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

YAAC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License and GNU Lesser General Public License along with YAAC. If not, see http://www.gnu.org/licenses/.

Packages
Package
Description
This package contains classes defining the various types of APRS packets, and related data objects.
This package defines classes and interfaces relevant to implementing the basic AX.25 protocol, as defined in the AX.25 Link Access Protocol for Amateur Packet Radio specification.
This package defines classes for parsing and reporting GPS position information as received directly from a GPS receiver in NMEA-0183 format, or from a GPSD daemon in the version 3 JSON format.
This package defines classes for handling the AX.25 level 3 protocol known as OpenTRAC (Open Tactical Reporting And Communications), defined by the documentation at the OpenTRAC website.
This package provides various useful utility classes that otherwise mostly have no relationship with each other.
This package contains the main class of the YAAC application.
This package contains classes for YAAC-specific extensions to the general APRS package classes.
This package contains classes supporting YAAC's use of secret and private/public keys for authentication of APRS stations.
This package contains classes for managing, archiving, digipeating, I-gating, and cataloging AX.25 messages received by YAAC, and reporting events related to such processing to other parts of the application using the MsgEventDispatcher and MsgEventListener API.
This package contains the bootstrap code used to initialize YAAC with platform-specific information and third-party libraries (specifically, JSSC).
This package contains classes implementing the core back-end functionality of YAAC, including logging, connecting the back-end to platform-appropriate front-end GUIs, the basic AX.25 message collecting function, and standard APRS client query response handling (as specified in chapter 15 of the APRS Protocol Reference, Version 1.0.1).
This package contains the default implementation of the YAAC Provider API for all the default menu functions, port connectors, built-in help, and filters.
This package defines the handlers for all the APRS queries (as defined in the APRS Protocol Reference, version 1.0.1, chapter 15, plus YAAC-local extensions).
This package contains classes for marking AX25Frames, AX25Messages (decoded frames), and stations/objects as being of current interest to the user.
This package contains classes for managing multiple streams of Global Positioning System (GPS) data within YAAC.
This package contains classes implementing the Java AWT/Swing version of the graphical user interface (GUI) of YAAC.
This package contains classes implementing the Java AWT/Swing version of the graphical user interface (GUI) of YAAC specific to the expert-mode configuration dialog.
This package contains classes implementing the Java AWT/Swing version of the graphical user interface (GUI) of YAAC specific to the step-by-step configuration wizard.
This package contains Java/Swing and OpenMap-based classes for drawing custom overlays onto the YAAC map window, and loading and saving such drawings.
This package contains the editing GUIs (Java AWT/Swing style) for controlling the message and station filters in the YAAC back-end code.
This package contains abstract superclasses for creating a step-by-step wizard, such as the YAAC configuration wizard.
This package contains support code for the Java/Swing GUI's hot-key help system.
This package defines configuration editing GUIs (Java AWT/Swing style) for the various types of PortConnectors that core YAAC supports.
The classes in this package provide operating-system-specific setup code for the graphical UI.
This package contains Java/Swing-specific classes for rendering OpenStreetMap data onto the YAAC map window.
This package contains Java/Swing extensions to the GUI-platform-independent plugin API in YAAC.
This package implements a Java/Swing UI for easily downloading officially supported YAAC plugin extensions from the YAAC author's website, and installing the plugins into the local copy of YAAC.
This package contains classes for overlaying rescaled raster map images onto the YAAC map window.
This package contains classes for supporting Java/Swing JTable features specific to YAAC.
This package implements a simple character-cell terminal window, suitable for debugging I/O ports in YAAC.
This package defines Java/Swing graphical utility classes specific to YAAC.
This package contains classes for rendering and displaying severe weather regions.
This package contains classes used for monitoring the health of other APRS stations.
This package contains classes managing and controlling I/O operations between YAAC and the various sensors and communications devices the core distribution of YAAC can talk to.
This package provides classes for accessing operating system services not elsewhere available in Java.
This package contains classes for reading, decoding, writing, and optimizing OpenStreetMap map information for convenient and efficient use by YAAC.
 
This package provides service classes and interface definitions for creating plugin extensions to YAAC.
This package defines the interface for YAAC to call sound effects services.
This package provides classes for reading and managing ground elevation data files obtained from the Shuttle Radar Topography Mission (version 2) project provided by the U.S. Geological Survey.
This package contains classes for parsing and manipulating telemetry data,
This package supports the automatic upgrader, that handles installing a freshly-downloaded new build of YAAC over a previous build, Note that it runs out of separate JAR files not used by YAAC, such that all YAAC files can be overwritten.
This package supports doing any build-to-build cleanup (such as deleting obsolete files that no longer exist in the new build) during the upgrade.
This package contains YAAC-specific classes and interfaces providing various utility functions that don't fit into any other package.
This package provides management and delivery of real-time weather data within the YAAC application.
The package contains the classes that implement YAAC's mini webserver, which allows other users on the YAAC computer's LAN to effectively "look over the shoulder" of the YAAC operator, seeing the main views of YAAC as browseable web pages.