Преобразуйте сериализировал uint8
Поток данных MAVLink к Simulink невиртуальная шина
UAV Toolbox / MAVLink
Блок MAVLink Deserializer получает uint8
буферизуйте и декодирует буфер для сообщений MAVLink. Если блок получает сообщение MAVLink для выбранного типа сообщения MAVLink, блок выводит Simulink® невиртуальная шина, представляющая пакет MAVLink, содержащий Идентификатор сообщения, Системный ID, ID Компонента, Последовательность и информацию о Полезной нагрузке, соответствующую выбранному типу сообщения MAVLink.
В каждом шаге симуляции блок декодирует вход uint8
буферизуйте и получает сообщения MAVLink, которые получены после декодирования. Если новое сообщение для выбранного типа сообщения MAVLink было получено, блок получает то сообщение из списка полученных сообщений и преобразует его в Simulink невиртуальный сигнал шины.
Декодирование MAVLink логики в блоке заботится о сценариях, где пакет MAVLink был получен частично от канала связи. Блок MAVLink Deserializer внутренне хранит текущее состояние парсинга и продолжает декодировать от предыдущего шага, когда новый буфер был получен по каналу связи. Если полный пакет MAVLink был получен, и полученная контрольная сумма совпадает с вычисленной контрольной суммой для полученных байтов, то это указывает, что сообщение MAVLink было получено. Хранение состояния парсинга гарантирует, что блок может декодировать пакеты MAVLink, полученные в нескольких частях.
По умолчанию блок выводит последнее полученное сообщение MAVLink для выбранного типа сообщения MAVLink (если получено). Это поведение может быть изменено путем выбора параметра Queue Messages in output. В этом случае все полученные сообщения MAVLink для желаемого типа ставятся в очередь и в каждом Шаге симуляции, блок выводит самое старое сообщение.
Чтобы ускорить преобразование полученных сериализированных данных, рекомендуется, чтобы вы применялись, следующие настройки в канале связи получают блок:
Считайте данные на самом высоком уровне, возможном гарантировать, что никакие пакеты не пропущены. Используйте IsNew выход MAVLink Deserializer наряду с логикой, чтобы использовать сообщения MAVLink, чтобы знать, является ли выход блока новым сообщением или нет.
Если получить блок выходные параметры какое-либо количество байтов, которые получены независимо от размера данных, который требуют (частичный получают), упомяните размер чтения данных как большое количество и используйте длину фактического количества байтов, полученных как вход с блоком MAVLink Deserializer (используйте входной порт Length).