sendmsg

Отправить сообщение MAVLink

Описание

пример

sendmsg(mavlink,msg) отправляет сообщение всем подключенным клиентам MAVLink в mavlinkio объект.

sendmsg(mavlink,msg,client) отправляет сообщение клиенту MAVLink, заданное как mavlinkclient объект. Если клиент не подключен, сообщение не отправляется.

Примеры

свернуть все

В этом примере показано, как соединиться с клиентами MAVLink, просмотреть список тем, подключений и клиентов, а также отправить сообщения через порты UDP с помощью коммуникационного протокола MAVLink.

ПРИМЕЧАНИЕ. Этот пример требует установки библиотеки БПЛА для Robotics System Toolbox ®. Функции roboticsAddons чтобы открыть обозреватель дополнений и установить библиотеку.

Подключение к клиенту MAVLink с помощью "common.xml" диалект. Этот локальный клиент взаимодействует с любыми другими клиентами через UDP-порт.

dialect = mavlinkdialect("common.xml");
mavlink = mavlinkio(dialect);
connect(mavlink,"UDP")
ans = 
"Connection1"

Можно перечислить все активные клиенты, соединения и темы для подключения MAVLink. В настоящее время имеется только одно подключение к клиенту, и никаких сообщений не поступало.

listClients(mavlink)
ans=1×4 table
    SystemID    ComponentID    ComponentType          AutopilotType     
    ________    ___________    ______________    _______________________

      255            1         "MAV_TYPE_GCS"    "MAV_AUTOPILOT_INVALID"

listConnections(mavlink)
ans=1×2 table
    ConnectionName      ConnectionInfo   
    ______________    ___________________

    "Connection1"     "UDP@0.0.0.0:38489"

listTopics(mavlink)
ans =

  0x5 empty table

Создайте абонента для приема сообщений на клиенте. Этот абонент слушает "HEARTBEAT" тема сообщения с идентификатором, равным 0.

sub = mavlinksub(mavlink,0);

Создайте "HEARTBEAT" сообщение с использованием mavlinkdialect объект. Укажите полезную информацию и отправьте сообщение через клиент MAVLink.

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

Отсоединитесь от клиента.

disconnect(mavlink)

Входные параметры

свернуть все

Клиентское соединение MAVLink, заданное как mavlinkio объект.

Сообщение MAVLink, заданное как структура с полями:

  • MsgID: Положительное целое число для идентификатора сообщения.

  • Payload: Структура, содержащая поля для определенного определения сообщения.

Чтобы создать пустое сообщение, используйте createmsg с mavlinkdialect объект.

Информация клиента MAVLink, заданная как mavlinkclient объект.

Введенный в R2019a
Для просмотра документации необходимо авторизоваться на сайте