Java CPDLC is a multi-platform CPDLC Client for HoppieAcars. It is written on Java so you can use it on any platform (Windows/Linux/macOS).
With version 2.0.0, Java CPDLC features a brand new CDU style GUI as the default interface. The legacy GUI remains available as well. Active development and future bug fixes are focused on the CDU style GUI; the legacy interface will remain available, though bugs may occur.

New CDU Style Interface (v2.0.0+)
If you don't want to deal with coding or building, just download the pre-compiled version:
- Go to the Releases section on the right.
- Download the latest release (the default release packages the new CDU style GUI; legacy packages are also provided).
- Double-click to run (Make sure you have Java 8 or higher installed).
- For Windows: Use the installer to install.
- For macOS: Drag the app to Applications folder.
The project uses Maven for the build process, so no manual library downloads are required. Make sure Maven is installed on your system.
- Compile: Open your terminal in the main project folder (where the
pom.xmlfile is located) and run:mvn clean package
- Run: After the build is complete, you can find executable JAR files in the
target/folder:- CDU Style GUI (Default):
java -jar target/java-cpdlc-2.0.0.jar
- Legacy GUI:
java -jar target/java-cpdlc-2.0.0-legacy.jar
- CDU Style GUI (Default):
- Once compiled and run, you should have a login page. You need to put in your callsign and Hoppie ID. Click SAVE button
- Thereafter, everything should be pretty straight forward.
- If your callsign is in green color, the connection with Hoppie server has established.
- If any connection problem occurs your callsign will become red.
- Blue: CPDLC messages
- Yellow: Telex messages
- Red: System messages (Mostly related to Hoppie connection )
Incoming ATC handover instructions and logoff messages are processed automatically
- Handover: Automatically requests a logon to the next ATS unit and logs off from the previous station once accepted.
- Logoff: Automatically disconnects from the active ATS unit upon receiving a service termination message.
As of now, the code doesn't have javadoc so it's a bit of mess. I will for sure write javadoc and necessary comments to the code.
However, any pull requests are still welcome. See below what I am currently working on.
- Oceanic Clearance implementation




