bleL2CAPFrameConfig

Объект строения для L2CAP системы координат BLE

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

Описание

The bleL2CAPFrameConfig создает объект конфигурации для Bluetooth низкоэнергетического (BLE) логического канала управления и протокола адаптации (L2CAP) сигнального кадра или кадра данных с использованием значений по умолчанию и заданных значений. Можно сконфигурировать L2CAP система координат сигнализации BLE или система координат данных, используя применимые свойства bleL2CAPFrameConfig.

Создание

Описание

пример

cfgL2CAP = bleL2CAPFrameConfig создает объект строения, cfgL2CAP, для командной системы координат L2CAP сигнализации BLE или системы координат данных со значениями по умолчанию.

пример

cfgL2CAP = bleL2CAPFrameConfig(Name,Value) задает свойства, используя одну или несколько пары "имя-значение". Заключайте каждое имя свойства в кавычки. Для примера, bleL2CAPFrameConfig('CommandType','Command reject') настраивает cfgL2CAP с типом командной системы координат сигнализации следующим 'Command reject'.

Свойства

расширить все

Примечание

Для получения дополнительной информации о свойствах системы координат L2CAP BLE и их соответствующих значениях смотрите том 3, часть A, раздел 3 Спецификации ядра Bluetooth [2].

Идентификатор конечной точки логического канала, заданный как четырехэлементный вектор символов или строковый скаляр, обозначающий шестнадцатеричное значение с двумя октетами. The 'ChannelIdentifier' обозначает локальное имя, представляющее логическую конечную точку канала. Это свойство используется для идентификации систем координат команд и данных. Системы координат команд используют '0005' как 'ChannelIdentifier'. L2CAP B-кадры используют фиксированные 'ChannelIdentifier', '0004' для атрибутного протокола (ATT) и '0006' для протокола диспетчера безопасности (SMP).

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

Тип команды сигнализации, заданный как вектор символов или строковый скаляр. Можно задать CommandType как одно из следующих значений:

  • 'Command reject'

  • 'Disconnection request'

  • 'Disconnection response'

  • 'Connection Parameter Update request'

  • 'Connection Parameter Update response'

  • 'Credit Based Connection request'

  • 'Credit Based Connection response'

  • 'Flow Control Credit'

Это свойство применимо только, когда значение ChannelIdentifier установлено в '0005'(идентификатор канала сигнализации).

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

Идентификатор для обмена системами координат с ответом на запрос, заданный как двухэлементный вектор символов или строковый скаляр, обозначающий шестнадцатеричное значение с одним октетом. Запрашивающее устройство устанавливает значение этого свойства, и реагирующее устройство использует то же значение в своем ответе. Значение этого свойства не может быть установлено в '00'.

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

Причина отклонения полученной командной системой координат сигнализации, заданной в виде вектора символов или строкового скаляра. Можно задать CommandRejectReason как одно из следующих значений:

  • 'Command not understood'

  • 'Signaling MTU exceeded'

  • 'Invalid CID in request'

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

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

Исходная конечная точка логического канала, заданная как четырехэлементный вектор символов или строковый скаляр, обозначающий шестнадцатеричное значение с двумя октетами. Это свойство задает конечную точку исходного канала, из которой отправляется запрос или получен ответ. Когда канал создается с помощью процедуры соединения на основе кредита, пакеты данных, поступающие отправителю запроса, отправляются в SourceChannelIdentifier.

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

Конечная точка логического канала назначения, заданная как четырехэлементный вектор символов или строковый скаляр, обозначающий шестнадцатеричное значение с двумя октетами. Это свойство задает конечную точку канала назначения, из которой отправляется запрос или получен ответ. Когда канал создается с помощью процедуры соединения на основе кредита, пакеты данных, поступающие в пункт назначения запроса, отправляются в DestinationChannelIdentifier.

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

Область значений интервалов соединения, заданный как двухэлементный числовой вектор в виде [MIN, MAX]. MIN и MAX задайте минимальное и максимальное значение ConnectionIntervalRange соответственно. Можно задать значение MIN и MAX в области значений [6, 3200]. MIN должно быть меньше или равно MAX. Каждый модуль для MIN или MAX принимается за 1,25 мс, поэтому полученное значение находится в области значений [7,5 мс, 4,0 с].

Типы данных: double

Тайм-аут наблюдения за соединением, заданный как целое число в область значений [Mct, 3200], где Mct больше из 10 и ((1 + SlaveLatency) × (ConnectionInterval×1.25) ×2)/10. Это свойство указывает тайм-аут для соединения, если в течение этого времени не получен допустимый пакет. Каждый модуль принимается за 10 мс, так что полученное время ожидания соединения, (ConnectionInterval× 10), находится в области значений [100 мс, 32,0с].

Типы данных: double

Количество событий соединения канального слоя, которые может игнорировать ведомое устройство, заданное как целое число в области значений [0, Msl], где Msl меньше 499 и (ConnectionTimeout×10) / ((ConnectionInterval×1.25) ×2))-1. Это свойство указывает количество событий подключения, которые ведомый сервер может игнорировать.

Типы данных: double

Результат обновления параметров соединения, заданный как 'Accepted' или 'Rejected'. Это свойство указывает ответ на 'Connection Parameter Update Request' значение свойства CommandType и задает результат после обновления параметров соединения.

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

LE протокол или сервисный мультиплексор, заданный как четырехэлементный вектор символов или строковый скаляр, обозначающий двухоктетное шестнадцатеричное значение. Значение этого свойства является уникальным номером, заданным группой специальных интересов (SIG) для каждого протокола. SIG присваивает значение этого свойства в области значений [0x0001, 0x007F] для набора существующих протоколов. SIG динамически присваивает значение этого свойства в области значений [0x0080, 0x00FF] реализованным протоколам.

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

Максимальный размер модуля служебных данных (SDU), заданный в виде целого числа в области значений [23, 65 535] октетов. Это свойство задает максимально допустимый размер SDU для сущности верхнего уровня.

Типы данных: double

Максимальный размер полезной нагрузки модуля протокольных данных (PDU), заданный в виде целого числа в области значений [23, 65 535] октетов. Это свойство задает максимально допустимые данные полезной нагрузки для L2CAP слоя сущности.

Типы данных: double

Количество одноранговых устройств LE-систем может отправляться или получать, заданное в виде целого числа в области значений [0, 65 535] октетов. Это свойство указывает количество LE-кадров, которые может отправить или получить одноранговое устройство. Если значение CommandType для свойства задано значение 'Flow control credit', тогда это свойство не может быть установлено в 0.

Типы данных: double

Результат процедуры подключения на основе кредита, заданный как вектор символов или строковый скаляр. Можно задать ConnectionResult как одно из следующих значений:

  • 'Successful'

  • 'LEPSM not supported'

  • 'No resources available'

  • 'Insufficient authentication'

  • 'Insufficient authorization'

  • 'Insufficient encryption key size'

  • 'Insufficient encryption'

  • 'Invalid Source CID'

  • 'Source CID already allocated'

  • 'Unacceptable parameters'

Это свойство указывает результат запроса на подключение.

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

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

расширить все

bleL2CAPFrameСгенерируйте L2CAP система координат BLE
bleL2CAPFrameDecodeДекодируйте L2CAP система координат BLE

Примеры

свернуть все

Создайте объект строения L2CAP системы координат BLE, 'cfgL2CAP', с использованием свойств по умолчанию. Просмотрите соответствующие применимые свойства. Это строение объект генерирует L2CAP сигнализацию BLE системы координат типа 'Credit based connection request'.

cfgL2CAP = bleL2CAPFrameConfig
cfgL2CAP = 
  bleL2CAPFrameConfig with properties:

          ChannelIdentifier: '0005'
                CommandType: 'Credit based connection request'
           SignalIdentifier: '01'
    SourceChannelIdentifier: '0040'
                      LEPSM: '001F'
        MaxTransmissionUnit: 23
          MaxPDUPayloadSize: 23
                    Credits: 1

Установите значение кредитов равным 10. Просмотрите соответствующие свойства 'cfgL2CAP'.

cfgL2CAP.Credits            = 10
cfgL2CAP = 
  bleL2CAPFrameConfig with properties:

          ChannelIdentifier: '0005'
                CommandType: 'Credit based connection request'
           SignalIdentifier: '01'
    SourceChannelIdentifier: '0040'
                      LEPSM: '001F'
        MaxTransmissionUnit: 23
          MaxPDUPayloadSize: 23
                    Credits: 10

Создайте объект строения L2CAP системы координат BLE, 'cfgL2CAP', путем установки значения идентификатора канала следующим '0004'использование пар "имя-значение". Просмотрите соответствующие применимые свойства. Этот объект строения генерирует L2CAP система координат данных BLE (B-кадр).

cfgL2CAP = bleL2CAPFrameConfig('ChannelIdentifier','0004')
cfgL2CAP = 
  bleL2CAPFrameConfig with properties:

    ChannelIdentifier: '0004'

Создайте объект строения L2CAP BLE, 'bleL2CAPFrameConfig', чтобы сгенерировать BLE L2CAP система координат данных (B-кадр). Установите значение идентификатора канала следующим '0004' и просмотрите соответствующие применимые свойства.

cfgTx = bleL2CAPFrameConfig('ChannelIdentifier','0004')
cfgTx = 
  bleL2CAPFrameConfig with properties:

    ChannelIdentifier: '0004'

Сгенерируйте систему координат L2CAP данных BLE (B-кадр) с модулем служебных данных (SDU) из ATT, заданный как '0A0100'.

l2capFrame = bleL2CAPFrame(cfgTx,"0A0100")
l2capFrame = 7x2 char array
    '03'
    '00'
    '04'
    '00'
    '0A'
    '01'
    '00'

Декодируйте сгенерированный BLE L2CAP систему координат данных (B-кадр). Возвращенное состояние указывает на успешное декодирование. Просмотрите выходные данные 'status', 'cfgRx' и 'SDU'.

[status, cfgRx, SDU] = bleL2CAPFrameDecode(l2capFrame)
status = 
Success
cfgRx = 
  bleL2CAPFrameConfig with properties:

    ChannelIdentifier: '0004'

SDU = 3x2 char array
    '0A'
    '01'
    '00'

Ссылки

[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