{"id":19195402,"url":"https://github.com/ardupilot/plotjuggler-apbin-plugins","last_synced_at":"2025-05-08T23:02:38.214Z","repository":{"id":48464694,"uuid":"383437090","full_name":"ArduPilot/plotjuggler-apbin-plugins","owner":"ArduPilot","description":"ArduPilot Dataflash plugin for Plotjuggler","archived":false,"fork":false,"pushed_at":"2024-09-11T14:53:18.000Z","size":76,"stargazers_count":19,"open_issues_count":4,"forks_count":12,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-03-31T19:11:10.521Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ArduPilot.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-07-06T10:59:32.000Z","updated_at":"2025-02-06T10:00:40.000Z","dependencies_parsed_at":"2024-04-10T14:46:16.081Z","dependency_job_id":null,"html_url":"https://github.com/ArduPilot/plotjuggler-apbin-plugins","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArduPilot%2Fplotjuggler-apbin-plugins","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArduPilot%2Fplotjuggler-apbin-plugins/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArduPilot%2Fplotjuggler-apbin-plugins/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArduPilot%2Fplotjuggler-apbin-plugins/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ArduPilot","download_url":"https://codeload.github.com/ArduPilot/plotjuggler-apbin-plugins/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249874535,"owners_count":21338342,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-09T12:09:49.815Z","updated_at":"2025-04-20T09:32:55.479Z","avatar_url":"https://github.com/ArduPilot.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# plotjuggler-apbin-plugins\n\nThis repository contains the [ArduPilot Dataflash](https://ardupilot.org/copter/docs/common-logs.html) plugin for [PlotJuggler](https://github.com/facontidavide/PlotJuggler).\n\n:construction: While you should be able to compile the plugin for Windows, this guide is tested for an Ubuntu workflow.\n\n## Install PlotJuggler\n\nTo build any plugin for PlotJuggler, PlotJuggler must be installed on your system.\nFor detailed instructions on how to install PlotJuggler please have a look at the [Installation](https://github.com/facontidavide/PlotJuggler#installation) section of the PlotJuggler repository.\n\nIf you have ROS installed, you can install PlotJuggler using:\n\n    sudo apt install ros-$ROS_DISTRO-plotjuggler-ros\n\n## (Optional) Build plotjuggler-apbin-plugin\n\nIf you wish to build `plotjuggler-apbin-plugin` follow these steps.\n\n### 1. Clone the repository\n\n```\ngit clone https://github.com/ArduPilot/plotjuggler-apbin-plugins\n```\n    \n### 2a. Compile via Docker\n\nThis requires that you have Docker installed in your system.\n\n1. `cd` into the cloned repository.\n\n2. Prepare a new folder with\n    ```bash\n    mkdir artifacts\n    ```\n\n3. Build the plugin with\n    ```bash\n    docker build -o type=local,dest=artifacts .\n    ```\n    This command will clone and build PlotJuggler anew, which takes a lot of time.\n\n    You can pass build arguments with the `--build-arg` option.\n    Build arguments include:\n    - `ADD_UNITS[=OFF]`: Set to `ON` to enable the display of units in the logged fields. Read at the end for more information.\n    - `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.\n    - `PJ_TAG[=3.9.2]`: The PlotJuggler git branch or tag to use when cloing and compiling PlotJuggler.\n\nOnce compilation is finished, you will find your `.so` plugin in the `artifacts` folder you created previously.\n\n### 2b. Compile locally\n\n1. Install the dependencies:  \n    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:\n\n    ```\n    sudo apt -y install qtbase5-dev libqt5svg5-dev\n    ```\n\n2. 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`.  \n\n3. Compile using cmake:\n\n    ```\n    mkdir build; cd build\n    cmake ..\n    make\n    sudo make install\n    ```\n\n## Install plotjuggler-apbin-plugin\n\nPlotJuggler looks for plugins in specific folders. \nCheck **App-\u003ePreferences-\u003ePlugins** in PlotJuggler to find out which they are and add more if you wish to.\n\nIf you have added a folder, you will need to restart PlotJuggler for the chage to take effect.\n\n### For prebuilt binaries\n\nYou can find a pre-built plugin for Ubuntu in the [Github Releases](https://github.com/ArduPilot/plotjuggler-apbin-plugins/releases) page.\nCopy that binary to one of the PlotJuggler plugin folders.\n\n### For Docker-built binaries\n\nIf you used Docker to compile the plugin, copy the build artifact from the `artifacts` folder to one of the PlotJuggler plugin folders.\n\n### For locally-built binaries\n\nIf you compiled the plugin in your host system, the plugin has been installed to `/usr/local/bin/`.  \n\nEnsure that PlotJuggler scans for plugins in this folder or copy the plugin in one of the folders PlotJuggler already scans.\n\n## Displaying units\n\nThis plugin allows the units of logged fields to be appended to the logged field names.\n\n**Be carefull:**  \n\nIf you created a PlotJuggler layout without units and then enable the units, the layout will be unusable and vice-versa.\nThis is because the units are part of the field name; hence, the original field name no longer exists.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fardupilot%2Fplotjuggler-apbin-plugins","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fardupilot%2Fplotjuggler-apbin-plugins","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fardupilot%2Fplotjuggler-apbin-plugins/lists"}