bleLLDataChannelPDUConfig

Объект Configuration для PDU канала данных BLE LL

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

Описание

bleLLDataChannelPDUConfig создает объект настройки для модуля данных о протоколе (PDU) канала данных о слое ссылки (LL) Bluetooth низкой энергии (BLE) с помощью значений по умолчанию и заданных значений. Можно сконфигурировать PDU данных BLE LL и PDU управления BLE LL с помощью применимых свойств bleLLDataChannelPDUConfig.

Создание

Описание

пример

cfgLLData = bleLLDataChannelPDUConfig создает объект настройки, cfgLLData, для PDU канала данных BLE LL со значениями по умолчанию.

пример

cfgLLData = bleLLDataChannelPDUConfig(Name,Value) свойства наборов при помощи одной или нескольких пар "имя-значение". Заключите каждое имя свойства в кавычки. Например, bleLLDataChannelPDUConfig('LLID','Data (start fragment/complete)') конфигурирует cfgLLData с типом PDU канала данных BLE LL как PDU данных.

Свойства

развернуть все

Примечание

Для получения дополнительной информации о свойствах PDU канала данных BLE LL и их соответствующих значениях, смотрите объем 6, часть B, разделите 2.4 из Спецификации [2] Ядра Bluetooth.

Соедините идентификатор слоя в виде вектора символов или строкового скаляра, чтобы описать тип PDU канала данных BLE LL. Можно задать 'LLID' как одно из этих значений:

  • 'Data (continuation fragment/empty)'

  • 'Data (start fragment/complete)'

  • 'Control'

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

Затем ожидаемый порядковый номер в виде 0 или 1. Это свойство указывает или на подтверждение для последнего полученного пакета или на запрос о повторной отправке последнего переданного пакета от коллеги.

Типы данных: логический | double

Передача пакетного порядкового номера в виде 0 или 1. Это свойство указывает на порядковый номер передаваемого пакета.

Типы данных: логический | double

Индикация для большего количества данных в виде числового или логического значения 1 TRUE) или 0 ложь). true или 1 значение указывает, что отправитель имеет больше данных, чтобы отправить.

Типы данных: логический

Значение инициализации контроля циклическим избыточным кодом в виде вектора символов с шестью элементами или строкового скаляра, обозначающего шестнадцатеричное значение с тремя октетами.

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

Настройка полезной нагрузки PDU управления BLE LL возражает в виде bleLLControlPDUConfig объект. Различные поля этого значения сконфигурированы с помощью настроек bleLLControlPDUConfig. Значением по умолчанию этого свойства является объект типа bleLLControlPDUConfig со всем набором свойств к их значениям по умолчанию. Это свойство применимо для генерации и декодирования PDU управления BLE LL.

Функции объекта

развернуть все

bleLLDataChannelPDUСгенерируйте PDU канала данных BLE LL
bleLLDataChannelPDUDecodeДекодируйте PDU канала данных BLE LL
bleLLControlPDUConfigОбъект Configuration для BLE LL управляет настройкой полезной нагрузки PDU

Примеры

свернуть все

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

cfgLLData = bleLLDataChannelPDUConfig
cfgLLData = 
  bleLLDataChannelPDUConfig with properties:

                 LLID: 'Data (continuation fragment/empty)'
                 NESN: 0
       SequenceNumber: 0
             MoreData: 0
    CRCInitialization: '012345'

   Read-only properties:
    No properties.

Задайте значение LLID как 'Data (start fragment/complete)' и просмотрите соответствующие свойства.

cfgLLData.LLID = 'Data (start fragment/complete)'
cfgLLData = 
  bleLLDataChannelPDUConfig with properties:

                 LLID: 'Data (start fragment/complete)'
                 NESN: 0
       SequenceNumber: 0
             MoreData: 0
    CRCInitialization: '012345'

   Read-only properties:
    No properties.

Создайте два уникальных объекта настройки PDU канала данных BLE LL для PDU управления типа 'Channel map indication' и 'Version indication' использование пар "имя-значение".

Создайте объект настройки полезной нагрузки PDU управления BLE LL, 'cfgControl', для PDU управления с кодом операции 'Channel map indication'. Просмотрите применимые свойства, соответствующие заданному коду операции.

cfgControl = bleLLControlPDUConfig('Opcode','Channel map indication')
cfgControl = 
  bleLLControlPDUConfig with properties:

          Opcode: 'Channel map indication'
         Instant: 0
    UsedChannels: [0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ... ]

   Read-only properties:
    No properties.

Создайте объект настройки канала данных BLE LL путем определения значений 'LLID' как 'Control' и 'ControlConfig' как 'cfgControl'. Просмотрите свойства 'cfgLLData'.

 cfgLLData = bleLLDataChannelPDUConfig('LLID','Control', ...
    'ControlConfig',cfgControl)
cfgLLData = 
  bleLLDataChannelPDUConfig with properties:

                 LLID: 'Control'
                 NESN: 0
       SequenceNumber: 0
             MoreData: 0
    CRCInitialization: '012345'
        ControlConfig: [1x1 bleLLControlPDUConfig]

   Read-only properties:
    No properties.

Создайте другой объект настройки канала данных BLE LL, 'cfgControl' для PDU управления, на этот раз задавая код операции как 'Version indication'. Просмотрите применимые свойства 'cfgControl' соответствие заданному коду операции.

cfgControl.Opcode = 'Version indication';
cfgControl.SubVersionNumber = '008E'
cfgControl = 
  bleLLControlPDUConfig with properties:

               Opcode: 'Version indication'
        VersionNumber: '5.0'
    CompanyIdentifier: 'FFFF'
     SubVersionNumber: '008E'

   Read-only properties:
    No properties.

Создайте объект настройки канала данных BLE LL, 'cfgLLData', путем определения значений 'ControlConfig' как 'cfgControl' и просмотрите применимые свойства.

cfgLLData.ControlConfig = cfgControl
cfgLLData = 
  bleLLDataChannelPDUConfig with properties:

                 LLID: 'Control'
                 NESN: 0
       SequenceNumber: 0
             MoreData: 0
    CRCInitialization: '012345'
        ControlConfig: [1x1 bleLLControlPDUConfig]

   Read-only properties:
    No properties.

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

cfgTx = bleLLDataChannelPDUConfig
cfgTx = 
  bleLLDataChannelPDUConfig with properties:

                 LLID: 'Data (continuation fragment/empty)'
                 NESN: 0
       SequenceNumber: 0
             MoreData: 0
    CRCInitialization: '012345'

   Read-only properties:
    No properties.

Инициализируйте значение CRC, соответствующее объекту 'cfgTx' настройки.

cfgTx.CRCInitialization = '123456';

Сгенерируйте PDU канала данных BLE LL при помощи объекта настройки PDU данных, 'cfgTx' и полезная нагрузка верхнего уровня '030004000A0100'.

pdu = bleLLDataChannelPDU(cfgTx,'030004000A0100');

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

crcInit = '123456';
[status, cfgRx, llPayload] = bleLLDataChannelPDUDecode(pdu, crcInit)
status = 
  blePacketDecodeStatus enumeration

    Success

cfgRx = 
  bleLLDataChannelPDUConfig with properties:

                 LLID: 'Data (continuation fragment/empty)'
                 NESN: 0
       SequenceNumber: 0
             MoreData: 0
    CRCInitialization: '012345'

   Read-only properties:
    No properties.

llPayload = 7x2 char array
    '03'
    '00'
    '04'
    '00'
    '0A'
    '01'
    '00'

Ссылки

[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