Open-Agriculture / AgIsoVirtualTerminal

A free, experimental ISO11783-6 Virtual Terminal (VT) server GUI based on AgIsoStack++
GNU General Public License v3.0
13 stars 0 forks source link
iso11783 isobus



AgIsoVirtualTerminal 🚜

Agriculture ISO-11783 Virtual Terminal

The experimental free and open-source ISOBUS virtual terminal for everyone - from hobbyists to industry!

Issues & Suggestions | Discussions | Discord | Telegram

Last Commit License

About

This project is a multi-platform, experimental ISO11783-6 virtual terminal server GUI meant for agricultural and forestry equipment.

AgIsoVirtualTerminal is designed to serve as the reference/example implementation of the AgIsoStack++ VT server interface.

The project is written in C++, compiled with CMake, and is based on AgIsoStack++ and the JUCE GUI framework.

This project is in active development, and some features may not be completely supported or AEF conformant, but will continue to be improved over time.

We currently support Windows, Linux, and OSX. We may support other platforms in the future.

Screenshots

Screenshot1 Screenshot2

Project Status

This section is temporary and will be updated as progress is made on the project.

Supported features:

Unimplemented features (for now - we are always adding new features)

Download

If you don't want to compile the software yourself or contribute code to this project, we will post official Windows Installers, OSX .dmg files, and Linux .deb packages on the releases page which you can use to easily run this software.

Be sure to check back from time to time for new releases!

Compilation

This project is compiled with CMake and your favorite C++17 compiler.

Dependencies

Make sure you have git installed on your system. You can follow the instructions here to install it. Then, follow the instructions below to install the dependencies for your platform.

Linux:

sudo apt update
sudo apt install libasound2-dev libjack-jackd2-dev ladspa-sdk libcurl4-openssl-dev libfreetype6-dev libx11-dev libxcomposite-dev libxcursor-dev libxcursor-dev libxext-dev libxinerama-dev libxrandr-dev libxrender-dev libwebkit2gtk-4.0-dev libglu1-mesa-dev mesa-common-dev cmake pkg-config

Fedora:

sudo dnf install cmake ninja-build libX11-devel alsa-lib-devel jack-audio-connection-kit-devel freetype-devel mesa-libGL-devel libcurl-devel webkit2gtk4-devel

OSX:

If you don't have Brew installed, you'll probably want to install it to make acquiring CMake easier. You can find instructions here.

xcode-select --install
brew install cmake

Windows:

On Windows, if you don't have Visual Studio 2022 installed, you will need to download and install the Build Tools for Visual Studio 2022.

Only 64 bit builds are supported on Windows.

A note about CMake Versions

CMake 3.22 or higher is required! If the version you have is too old, such as if you are on Ubuntu 18.04 and using the one provided with apt-get, you can instead download the latest version of CMake here and use that to compile this software.

Building

Generally, to build the project you'll need to clone the repository and run CMake.

git clone 
cmake -S. -B build -Wno-dev
cmake --build build

Creating a Windows Installer

This project supports automatic creation of a Windows installer.

Creating a Windows installer requires the nullsoft scriptable install system (NSIS) to be installed on your system. You can download it here.

Using the visual studio developer command prompt or developer powershell, run the following commands from the root of the repository:

cmake -S . -B build -Wno-dev
cmake --build build --target package --config Release

This will generate a .exe installer in the build directory.

Creating a Linux .deb package

Creating a .deb package is somewhat easier than creating a Windows installer, but keep in mind that the package will only work on Debian-based systems and only for the same version of each system. For example, a package created on Ubuntu 20.04 will only work on Ubuntu 20.04 and not on Ubuntu 18.04 or 22.04.

cmake -S . -B build -Wno-dev
cd build
cpack -G DEB
sudo dpkg -i AgISOVirtualTerminal-<version>-Linux.deb

You can uninstall the package with sudo apt remove AgISOVirtualTerminal or sudo dnf autoremove AgISOVirtualTerminal.

Creating an OSX .dmg package

cmake -S . -B build -Wno-dev
cmake --build build --target package --config Release

Troubleshooting

If you find something that doesn't work, please open an issue on GitHub. Seriously. We want to know about it. Our goal is to make this application completely conformant to the VT standard, so finding issues will help accelerate that process.

If you open an issue, we need the object pool of the working set you were using, plus all logging output from the program to fix it!

Disclaimers

Because this software is licensed under the GPL v3.0, you may not include this software in any closed source software, nor link to it in any way from closed source software.

If you wish to sponsor development of this software, please contact us in the discord or telegram channels.

This project is not associated with the Agricultural Industry Electronics Foundation (AEF) in any way.

This project is not associated with the International Organization for Standardization (ISO) in any way.

Don't ask us to share the ISO standards with you. We can't. You have to buy them from ISO. We don't have the right to share them with you.

By acquiring or using this project you agree to the JUCE License, this project's license, and any applicable licenses provided by dependencies such as AgIsoStack.

This software was not created to compete with any commercial or open-source software. It was created to help hobbyists and professionals alike learn about and experiment with ISOBUS.