Installing MAVLink Toolchain

This topic explains how to install the MAVLink toolchain. The toolchain includes the XML message definitions as well as the the GUI/command line tools that use the definitions to Generate MAVLink Source Files.

You do not need to install or generate the source files if you are using the C programming language and a standard dialect. Just get the prebuilt libraries and then jump to Using C Libraries.

Prerequisites

The requirements for using the MAVLink generator are:

  • Python 3.3+
  • Python future module
  • TkInter (required to use the GUI tool).
  • PYTHONPATH environment variable must be set to the directory path containing the mavlink repository.

If you are creating new XML definitions you should also install lxml and libxml2 for XML validation and formatting.

Installation

To install the MAVLink toolchain:

  1. Install Python 3.6+:

    • Windows: Download from Python for Windows
    • Ubuntu Linux Python 3 is present on 18.04 and 20.04 by default but you will need to install the pip3 package manager:
      sudo apt install python3-pip
      
  2. Install the future module:

    • Windows:
      pip3 install future
      
    • Linux:
      pip3 install --user future
      
  3. (Recommended) Install modules for XML validation and formatting:

    • Linux:
      sudo apt install python3-lxml libxml2-utils
      
  4. Install TkInter

    • Windows: Installed already as part of Python for Windows
    • Linux: Enter the following terminal command:
      sudo apt install python3-tk
      
  5. Clone the official mavlink repo or your fork with your custom dialect:

    git clone https://github.com/mavlink/mavlink.git --recursive
    
  6. Set PYTHONPATH to the directory path containing your mavlink repository. This will allow you to launch the tool from anywhere using Python's module argument python3 -m mavgenerate.

    • Windows: set PYTHONPATH=C:\path_to_root_of_cloned_mavlink_repository
    • Linux: PYTHONPATH=path_to_root_of_cloned_mavlink_repository

Now you are ready to Generate MAVLink Libraries.

results matching ""

    No results matching ""