Skip to content

Latest commit

 

History

History
68 lines (48 loc) · 2 KB

File metadata and controls

68 lines (48 loc) · 2 KB

MAVLink C UDP Example

The MAVLink UDP Example is a simple C example that sends and receives MAVLink HEARTBEATS over UDP.

:::info The example should work on any Unix-like system (Linux, MacOS, BSD, etc.). These instructions were tested on a Ubuntu LTS 22.04 installation with either PX4 or ArduPilot dependencies installed (such as cmake). :::

Building/Running the Example

The following instructions show how to build and run the example.

  1. Clone the mavlink/mavlink repository

  2. Open a terminal in the repository root.

  3. Use cmake to install MAVLink locally:

    cmake -Bbuild -H. -DCMAKE_INSTALL_PREFIX=install
    cmake --build build --target install
  4. Navigate to examples/c

    cd examples/c
  5. Use cmake to compile and build the example:

    cmake -Bbuild -H. -DCMAKE_PREFIX_PATH=$(pwd)/../../install
    cmake --build build
  6. Run the executable from the terminal:

    ./build/udp_example

    By default, the example will listen for data on the localhost IP address, port 14550.

  7. Open another terminal on the same machine and start either PX4 or ArduPilot. These publish to port 14550 on localhost by default.

  8. The example should start displaying messages about sent and received HEARTBEAT messages in the terminal. The following output is displayed if you connect to PX4:

    ~/github/mavlink/mavlink/examples/c$  ./build/udp_example
    
    Sent heartbeat
    Got heartbeat from PX4 autopilot
    Sent heartbeat
    Got heartbeat from PX4 autopilot
    Sent heartbeat
    Got heartbeat from PX4 autopilot
    Sent heartbeat
    Got heartbeat from PX4 autopilot
    Sent heartbeat
    Got heartbeat from PX4 autopilot
    ...

Note that the build and installation instructions are from examples/c/README.md.