bleLLDataChannelPDUConfig

Создайте объект настройки для PDU канала данных BLE LL

Загрузите Необходимый: Чтобы использовать bleLLDataChannelPDUConfig, сначала загрузите Библиотеку Communications Toolbox™ для Протокола Bluetooth®. Для получения дополнительной информации смотрите, Получают и Управляют Дополнениями (MATLAB). В качестве альтернативы смотрите Библиотеку 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. Это значение указывает или на подтверждение для последнего полученного пакета или на запрос о повторной отправке последнего переданного пакета от коллеги.

Типы данных: scalar | logical | double

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

Типы данных: scalar | logical | double

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

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

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

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

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

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

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

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

Примеры

свернуть все

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

cfgLLData = bleLLDataChannelPDUConfig
cfgLLData = 
  bleLLDataChannelPDUConfig with properties:

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

Задайте значение 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

Создайте два уникальных объекта настройки 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: [1x37 double]

Создайте объект настройки канала данных 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
     ControlConfig: [1x1 bleLLControlPDUConfig]

Создайте другой объект настройки канала данных 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'

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

cfgLLData.ControlConfig = cfgControl
cfgLLData = 
  bleLLDataChannelPDUConfig with properties:

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

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

cfgTx = bleLLDataChannelPDUConfig
cfgTx = 
  bleLLDataChannelPDUConfig with properties:

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

Инициализируйте значение 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 = 
Success
cfgRx = 
  bleLLDataChannelPDUConfig with properties:

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

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

Ссылки

[1] Домашняя страница Bluetooth. https://www.bluetooth.com/.

[2] Специальная группа (SIG) Bluetooth. "Спецификация ядра Bluetooth". Версия 5.0.

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

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

Введенный в R2019b