Plotjuggler Dataflash plotting!

Hello guys,

You may be used to MAVExplorer.py or MissionPlanner for Dataflash analysis. I offer you another alternative : Plotjuggler

This is a tool that people using ROS may know already, but it is extensible with plugins support. So I made an ArduPilot Dataflash plugin : https://github.com/khancyr/plotjuggler-apbin-plugins

What are the advantages of Plotjuggler :

  • it is fast
  • it supports livegraphing
  • it got 2D graph support
  • it got a LUA script math engine
  • it got totally unprofessional Splash screen

There is one important issue with the plugin currently. Plotjuggler is expecting lower case file extension for logs, when ArduPilot is using capital BIN type file. So you need to rename your logs to lower case bin.

Have fun with it !

8 Likes

Love it! Will be very useful tool.

This is great news! I’m so glad I didn’t have to make this.

You are supposed to copy the binary artifact of the plugin on the PlotJuggler directory, right? If so, can you add building instructions for your plugin?

May the best layout file win!

This was very much needed and will be super useful. Thank you!

Haa my bad … I didn’t notice that the build instructions were for plotjuggler and not the plugin.
After installing Plotjuggler, into the plugin repo :

mkdir build && cd build
cmake ..
make

Then you got 3 solutions for installation

  • sudo make install
  • copy the plugin .so from the build directory and copy it where Plotjuggler is installed or in your .plotjuggler directory at home
  • load the plugin with Plotjuggler

Thank you @khancyr ! I just built it and it is awesome. The only thing which is missing capability to display messages from the log.
As I see it can do it just like the RosoutPublisher plugin. https://github.com/PlotJuggler/plotjuggler-ros-plugins/tree/development/plugins/RosoutPublisher
Unfortunately I’m not very well versed in Qt and c++, so I cannot modify it myself.

yep, I didn’t had time to do the parameter and all text stuff handling.
It mays come in the future

1 Like

Silly question, but, this can’t be compiled in Windows and be used on Windows’ PlotJuggler, right?

I didn’t try but that is standard cpp + some qt, so if Plotjuggler is compilable on windows, it should be too.

if not directly, it definitely work from WSL.

I’ve never tried it, but I’ll give it a shot. I’m asking for a friend :wink:

@khancyr are you going to PR against Plotjuggler or add to ArduPilot?

Yes I initially intend to make it reach upstream and ideally be able to distribute it compiled for easier usage.
But I need to fix some issues that were reported and I miss time for side project currently

3 Likes

That would be great. I’m waiting for a compiled version that can run on windows. Would even a beta of this be available already?

We started working on units, multipliers and instances support. But it will take a while.

can anyone provide a precompiled .so just for testing?
I am having issues building the package:

CMake Error at /usr/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake:146 (message):
  Could NOT find PlotJuggler (missing: PlotJuggler_LIBRARY)
Call Stack (most recent call first):
  /usr/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake:393 (_FPHSA_FAILURE_MESSAGE)
  cmake/FindPlotJuggler.cmake:57 (find_package_handle_standard_args)
  CMakeLists.txt:71 (find_package)

Combining following information sources:

and

You get really nice new log analysis tool.