Main Content


List all active MAVLink connections

Since R2019a



connectionTable = listConnections(mavlink) lists all active connections for the mavlinkio client connection.


collapse all

This example shows how to connect to MAVLink clients, inspect the list of topics, connections, and clients, and send messages through UDP ports using the MAVLink communication protocol.

Connect to a MAVLink client using the "common.xml" dialect. This local client communicates with any other clients through a UDP port.

dialect = mavlinkdialect("common.xml");
mavlink = mavlinkio(dialect);
ans = 

You can list all the active clients, connections, and topics for the MAVLink connection. Currently, there is only one client connection and no topics have received messages.

ans=1×4 table
    SystemID    ComponentID    ComponentType          AutopilotType     
    ________    ___________    ______________    _______________________

      255            1         "MAV_TYPE_GCS"    "MAV_AUTOPILOT_INVALID"

ans=1×2 table
    ConnectionName      ConnectionInfo   
    ______________    ___________________

    "Connection1"     "UDP@"

ans =

  0x5 empty table

Create a subscriber for receiving messages on the client. This subscriber listens for the "HEARTBEAT" message topic with ID equal to 0.

sub = mavlinksub(mavlink,0);

Create a "HEARTBEAT" message using the mavlinkdialect object. Specify payload information and send the message over the MAVLink client.

msg = createmsg(dialect,"HEARTBEAT");
msg.Payload.type(:) = enum2num(dialect,'MAV_TYPE','MAV_TYPE_QUADROTOR');

Disconnect from the client.


Input Arguments

collapse all

MAVLink client connection, specified as a mavlinkio object.

Output Arguments

collapse all

Active connection info, returned as a table with ConnectionName and ConnectionInfo fields for each active connection.

Version History

Introduced in R2019a