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.
Clone the mavlink/mavlink repository
Open a terminal in the repository root.
Use
cmake
to install MAVLink locally:shcmake -Bbuild -H. -DCMAKE_INSTALL_PREFIX=install cmake --build build --target install
Navigate to examples/c
shcd examples/c
Use
cmake
to compile and build the example:shcmake -Bbuild -H. -DCMAKE_PREFIX_PATH=$(pwd)/../../install cmake --build build
Run the executable from the terminal:
sh./build/udp_example
By default, the example will listen for data on the localhost IP address, port 14550.
Open another terminal on the same machine and start either PX4 or ArduPilot. These publish to port 14550 on localhost by default.
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:
sh~/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.