This repository contains the ArduPilot Dataflash plugin for PlotJuggler.
🚧 While you should be able to compile the plugin for Windows, this guide is tested for an Ubuntu workflow.
To build any plugin for PlotJuggler, PlotJuggler must be installed on your system. For detailed instructions on how to install PlotJuggler please have a look at the Installation section of the PlotJuggler repository.
If you have ROS installed, you can install PlotJuggler using:
sudo apt install ros-$ROS_DISTRO-plotjuggler-ros
If you wish to build plotjuggler-apbin-plugin
follow these steps.
git clone https://github.com/ArduPilot/plotjuggler-apbin-plugins
This requires that you have Docker installed in your system.
-
cd
into the cloned repository. -
Prepare a new folder with
mkdir artifacts
-
Build the plugin with
docker build -o type=local,dest=artifacts .
This command will clone and build PlotJuggler anew, which takes a lot of time.
You can pass build arguments with the
--build-arg
option. Build arguments include:ADD_UNITS[=OFF]
: Set toON
to enable the display of units in the logged fields. Read at the end for more information.BASE_IMAGE[=ubuntu:22.04]
: Specify the OS image to build off of. It is known that using a different OS than your host OS may result in the plugin not working.PJ_TAG[=3.9.2]
: The PlotJuggler git branch or tag to use when cloing and compiling PlotJuggler.
Once compilation is finished, you will find your .so
plugin in the artifacts
folder you created previously.
-
Install the dependencies:
The plugin uses Qt as dependency. Since PlotJuggler also depends on Qt, chances are high that you already have it installed. On Ubuntu Qt can be installed with:sudo apt -y install qtbase5-dev libqt5svg5-dev
-
If you want the units to be displayed in PlotJuggler (read at the end), you need to edit
dataload_apbin.cpp
and activate#define LABEL_WITH_UNIT
. -
Compile using cmake:
mkdir build; cd build cmake .. make sudo make install
PlotJuggler looks for plugins in specific folders. Check App->Preferences->Plugins in PlotJuggler to find out which they are and add more if you wish to.
If you have added a folder, you will need to restart PlotJuggler for the chage to take effect.
You can find a pre-built plugin for Ubuntu in the Github Releases page. Copy that binary to one of the PlotJuggler plugin folders.
If you used Docker to compile the plugin, copy the build artifact from the artifacts
folder to one of the PlotJuggler plugin folders.
If you compiled the plugin in your host system, the plugin has been installed to /usr/local/bin/
.
Ensure that PlotJuggler scans for plugins in this folder or copy the plugin in one of the folders PlotJuggler already scans.
This plugin allows the units of logged fields to be appended to the logged field names.
Be carefull:
If you created a PlotJuggler layout without units and then enable the units, the layout will be unusable and vice-versa. This is because the units are part of the field name; hence, the original field name no longer exists.