bleLLAdvertisingChannelPDUDecode

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

Загрузите Необходимый: Чтобы использовать bleLLAdvertisingChannelPDUDecode, сначала загрузите Библиотеку Communications Toolbox™ для Протокола Bluetooth®. Для получения дополнительной информации смотрите, Получают и Управляют Дополнениями (MATLAB). В качестве альтернативы смотрите Библиотеку Communications Toolbox для Обмена файлами Протокола Bluetooth.

Описание

пример

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

пример

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

Примеры

свернуть все

Создайте BLE LL, рекламируя объект настройки PDU канала, '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]

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

pdu = 'D409AB89674523010201'; % Sample corrupted PDU

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

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

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

свернуть все

BLE LL рекламируя PDU канала в виде одного из этих типов:

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

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

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

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

  • Бинарный вектор — Этот вектор представляет BLE LL, рекламируя биты PDU канала.

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

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

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

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

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

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

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

свернуть все

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

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

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

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

Ссылки

[1] Технологический Веб-сайт Bluetooth. “Технологический Веб-сайт Bluetooth | официальный сайт Технологии Bluetooth”. Полученный доступ 22 ноября 2019. https://www.bluetooth.com/.

[2] Специальная группа (SIG) Bluetooth. "Спецификация Ядра Bluetooth". Версия 5.1. https://www.bluetooth.com/.

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

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

Введенный в R2019b