Extension mavlink

Support for drones that use the MAVLink protocol.

Version

-

Tags

-

Dependencies

show, signals

Configuration properties

Table 1. properties
Property Type Default Description

networks

object

MAVLink networks

id_format

string

ID format.

Python format string that determines the format of the IDs of the drones created by the extension. May be overridden in each network.

custom_mode

integer

127

Enforce MAVLink custom flight mode.

MAVLink custom flight mode number to switch drones to when they are discovered the first time. 127 is the mode number of the drone show mode for Skybrush-compatible MAVLink-based drones. Refer to the documentation of your autopilot for more details.

rssi_mode

enum<string>

radio_status

RSSI mode.

Specifies how RSSI values are derived for the drones. May be overridden in each network.

Possible parameter values:

none

No RSSI values

radio_status

From RADIO_STATUS messages

rtcm_counters

From RTCM counters (Skybrush only)

assume_data_streams_configured

boolean

False

Assume that MAVLink packet streams are configured.

If enabled, the driver will assume that the MAVLink data streams are already configured and will not attempt to configure them automatically. This speeds up the initialization sequence when you have thousands of drones.

autopilot_type

enum<string>

auto

Flight controller firmware.

Possible parameter values:

auto

Autodetected

ardupilot

ArduPilot

skybrush

ArduPilot with Skybrush

px4

PX4

use_bulk_parameter_uploads

boolean

False

Use bulk parameter uploads.

If enabled, the driver will use bulk parameter uploads instead of individual parameter uploads. This can speed up the parameter upload process, especially for large numbers of parameters. Requires support from the flight controller; currently supported by ArduPilot only.

Table 2. properties.networks
Property Type Default Description

connections

array<string>

[]

Connection URLs.

URLs describing the connections where the server needs to listen for incoming MAVLink packets in this network. 'default' means that incoming MAVLink packets are expected on UDP port 14550 and outbound MAVLink packets are sent to UDP port 14555.

id_format

string

ID format.

Python format string that determines the format of the IDs of the drones created in this network. Overrides the global ID format defined at the top level.

id_offset

number

0

ID offset.

Offset to add to the numeric ID of each drone within the network to derive its final ID. You can use it to map multiple networks with the same MAVLink ID range to different Skybrush ID ranges. Leave it at zero if you only have one MAVLink network.

system_id

integer

254

System ID.

MAVLink system ID of the server in this network; typically IDs from 251 to 254 are reserved for ground stations.

routing

object

Message routing

rssi_mode

enum<string>

radio_status

RSSI mode.

Specifies how RSSI values are derived for the drones in this network.

Possible parameter values:

none

No RSSI values

radio_status

From RADIO_STATUS messages

rtcm_counters

From RTCM counters (Skybrush only)

signing

object

Message signing

statustext_targets

object

{'client': 'debug', 'server': 'notice', 'log_prearm': False}

STATUSTEXT message handling

use_broadcast_rate_limiting

boolean

False

Apply rate limiting on broadcast messages.

This is a workaround that should be enabled only if you have a connection without flow control and you are experiencing issues with packet loss, especially for bursty packet streams like RTK corrections.

Table 3. properties.networks.routing
Property Type Default Description

rc

array<integer>

[0]

RC override.

Indices of the connections where RC override messages are routed to (zero-based).

rtk

array<integer>

[0]

RTK messages.

Indices of the connection where RTK correction messages are routed to (zero-based).

Table 4. properties.networks.signing
Property Type Default Description

enabled

boolean

False

Enable MAVLink message signing

key

string

Signing key.

The key must be exactly 32 bytes long. It can be provided in hexadecimal format or as a base64-encoded string, which is identical to the format being used in Mission Planner.

sign_outbound

boolean

True

Sign outbound MAVLink messages if signing is enabled

allow_unsigned

boolean

False

Accept unsigned incoming messages

Table 5. properties.networks.statustext_targets
Property Type Default Description

client

enum<string>

NOTICE

Forward to Skybrush clients above this severity.

Possible parameter values:

none

None

emergency

Emergency

alert

Alert

critical

Critical

error

Error

warning

Warning

notice

Notice

info

Info

debug

Debug

any

Any

server

enum<string>

NOTICE

Log in the server log above this severity.

Possible parameter values:

none

None

emergency

Emergency

alert

Alert

critical

Critical

error

Error

warning

Warning

notice

Notice

info

Info

debug

Debug

any

Any

log_prearm

boolean

False

Log pre-arm messages.

If enabled, the extension will log all pre-arm check errors received from the drones in this network. These messages are hidden by default as they are fairly common and can be inspected by other means.