bleLLAdvertisingChannelPDUDecode

Декодируйте рекламный канал BLE LL PDU

Требуется загрузка: Чтобы использовать bleLLAdvertisingChannelPDUDecode, сначала загрузите библиотеку Communications Toolbox™ для Bluetooth® Протокол. Для получения дополнительной информации см. раздел «Получение и управление дополнениями». Другой способ см. в разделе Библиотека Communications Toolbox для обмена файлами протокола Bluetooth.

Описание

пример

[status,cfgLLAdv] = bleLLAdvertisingChannelPDUDecode(pdu)декодирует указанный Bluetooth низкоэнергетический (BLE) канальный слой (LL) модуль данных протокола рекламного канала (PDU), возвращая состояние декодирования, status, и соответствующий объект строения PDU рекламного канала LL BLE, cfgLLAdv.

пример

[status,cfgLLAdv] = bleLLAdvertisingChannelPDUDecode(pdu,Name,Value) устанавливает свойства с помощью одной или нескольких пар "имя-значение". Заключайте каждое имя свойства в кавычки. Для примера, 'InputFormat','octets' задает входной рекламный канал BLE LL PDU в виде октетов.

Примеры

свернуть все

Создайте объект строения PDU рекламного канала BLE LL, 'cfgLLAdv', с настройками по умолчанию и просматривать соответствующие применимые свойства.

cfgLLAdv = bleLLAdvertisingChannelPDUConfig
cfgLLAdv = 
  bleLLAdvertisingChannelPDUConfig with properties:

                  PDUType: 'Advertising indication'
         ChannelSelection: 'Algorithm1'
    AdvertiserAddressType: 'Random'
        AdvertiserAddress: '0123456789AB'
          AdvertisingData: [3x2 char]

Сгенерируйте BLE LL рекламный канал PDU из соответствующего объекта строения.

pdu = bleLLAdvertisingChannelPDU(cfgLLAdv);

Декодируйте сгенерированный BLE LL рекламный канал PDU. Возвращенное состояние указывает, что декодирование успешно. Просмотрите выходные данные 'status'и 'cfgLLAdv'.

[status, cfgLLAdv] = bleLLAdvertisingChannelPDUDecode(pdu)
status = 
Success
cfgLLAdv = 
  bleLLAdvertisingChannelPDUConfig with properties:

                  PDUType: 'Advertising indication'
         ChannelSelection: 'Algorithm1'
    AdvertiserAddressType: 'Random'
        AdvertiserAddress: '0123456789AB'
          AdvertisingData: [3x2 char]

Укажите выборку BLE LL рекламного канала PDU в октетах.

pdu = 'C409AB8967452301020106A8F1DF'; % Sample PDU in octets

Декодируйте указанный BLE LL рекламный канал PDU путем определения 'InputFormat' на 'octets'. Возвращенное состояние указывает, что декодирование успешно. Просмотрите выходные данные 'status' и 'cfgLLData'.

[status, cfgLLAdv] = bleLLAdvertisingChannelPDUDecode(pdu, ...
    'InputFormat','octets')
status = 
Success
cfgLLAdv = 
  bleLLAdvertisingChannelPDUConfig with properties:

                  PDUType: 'Scan response'
         ChannelSelection: 'Algorithm1'
    AdvertiserAddressType: 'Random'
        AdvertiserAddress: '0123456789AB'
         ScanResponseData: [3x2 char]

Укажите PDU рекламного канала BLE LL, содержащий поврежденные значения данных.

pdu = 'D409AB89674523010201'; % Sample corrupted PDU

Декодируйте указанный BLE LL рекламный канал PDU. Возвращенное состояние указывает, что декодирование не выполнено из-за повреждения входа BLE LL рекламного канала PDU. В случае непройденного декодирования указывается причина отказа и объект строения PDU рекламного канала BLE LL, 'cfgLLAdv', не отображает никаких свойств.

[status, cfgLLAdv] = bleLLAdvertisingChannelPDUDecode(pdu, ...
    'InputFormat','octets')
status = 
CRCFailed
cfgLLAdv = 
  bleLLAdvertisingChannelPDUConfig with properties:

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

свернуть все

BLE LL рекламный канал PDU, указанный как один из следующих типов:

  • Вектор символов - Этот вектор представляет октеты в шестнадцатеричном формате.

  • Строковый скаляр - Этот скаляр представляет октеты в шестнадцатеричном формате.

  • Числовой вектор элементов в области значений [0,255] - Этот вектор представляет октеты в десятичном формате.

  • n-by-2 символьный массив - каждая строка представляет октет в шестнадцатеричном формате.

  • Двоичный вектор - Этот вектор представляет биты PDU рекламного канала BLE LL.

Типы данных: char | double | string

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: [status,cfgLLAdv] = bleLLAdvertisingChannelPDUDecode('pdu','InputFormat','octets')

Формат рекламного канала BLE LL PDU, заданный как 'bits' или 'octets'. Если задано как 'bits', а InputFormat является двоичным вектором. Если задано как 'octets', InputFormat - числовой вектор, представляющий октеты в десятичном формате или символьный массив или строковый скаляр, представляющий октеты в шестнадцатеричном формате.

Типы данных: char | string

Выходные аргументы

свернуть все

Статус декодирования BLE LL рекламного канала PDU, возвращенный как непозитивное число типа blePacketDecodeStatus. Это значение представляет результат декодирования PDU рекламного канала LL BLE. Каждое значение status соответствует представителю blePacketDecodeStatus класс перечисления, который указывает состояние декодирования пакета, перечисленное в этой таблице.

Значение перечисленияПредставитель класса перечисленияСостояние декодирования
0SuccessДекодирование пакета успешно завершено
-1 CRCFailedPDU канального слоя поврежден
–2LLPDULengthMismatchПоле длины не соответствует фактической длине PDU
–3InvalidLLSlaveLatencyНедопустимая задержка подчиненного устройства
–4InvalidLLConnectionTimeoutНедопустимое время ожидания подключения
–5InvalidLLWindowSizeНедопустимый размер окна
–6InvalidLLWindowOffsetНедопустимое смещение окна
–7InvalidLLConnectionIntervalНедопустимый интервал подключения
–8InvalidLLChannelMapНедопустимая карта канала
–51IncompleteLLAdvertisingChannelPDUНедостаточно октетов в рекламном канале PDU
–52InvalidLLHopIncrementНедопустимое значение шага скачка
–53InvalidLLAdvertisingDataLengthНедопустимые рекламные данные
–54InvalidLLScanResponseDataLengthНедопустимые данные отклика скана
–55UnsupportedLLAdvertisingPDUTypeНеподдерживаемый рекламный канал PDU

Значение перечисления, отличное от 0 означает, что не удалось декодировать PDU рекламного канала BLE LL. Если декодирование не удается, объект cfgLLAdv не отображает выход.

Строение рекламного канала BLE LL, возвращенный как bleLLAdvertisingChannelPDUConfig объект. Это значение представляет декодированное строение PDU рекламного канала LL BLE.

Ссылки

[1] Веб-сайт Bluetooth Technology. Bluetooth Technology Website | Официальный сайт Bluetooth Technology. Доступ к 22 ноября 2019 года. https://www.bluetooth.com/.

[2] Группа специальных интересов Bluetooth (SIG). Bluetooth Core Спецификации. Версия 5.1. https://www.bluetooth.com/.

Расширенные возможности

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ MATLAB ®

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