exponenta event banner

bleLLAdvertisingChannelPDUDecode

Декодирование рекламного канала BLE LL PDU

Требуется загрузка: Для использования bleLLAdvertisingStartPDUDecode сначала загрузите библиотеку Communications Toolbox™ Library для протокола Bluetooth ®. Дополнительные сведения см. в разделе Получение надстроек и управление ими. Кроме того, см. библиотеку Communications Toolbox Library для обмена файлами по протоколу Bluetooth.

Описание

пример

[status,cfgLLAdv] = bleLLAdvertisingChannelPDUDecode(pdu)декодирует указанный блок протокольных данных (PDU) канала передачи информации (LL) с низким уровнем энергии (BLE) Bluetooth, возвращая статус декодирования, statusи соответствующий объект конфигурации PDU рекламного канала LLE LL, 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]

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

pdu = bleLLAdvertisingChannelPDU(cfgLLAdv);

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

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

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

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

pdu = 'C409AB8967452301020106A8F1DF'; % Sample PDU in octets

Декодировать указанный рекламный канал LL BLE 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 рекламного канала LL BLE, содержащий поврежденные значения данных.

pdu = 'D409AB89674523010201'; % Sample corrupted PDU

Декодировать указанный канал PDU рекламы LLE LL. Возвращенное состояние указывает, что декодирование не выполнено из-за поврежденного входного канала PDU объявления LL BLE. При неудачном декодировании индицируется причина отказа и объект конфигурации 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')

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

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

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

свернуть все

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

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

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

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

Ссылки

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

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

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

Создание кода C/C + +
Создайте код C и C++ с помощью MATLAB ® Coder™

.
Представлен в R2019b