Строение объект для BLE LL управления полезной нагрузкой PDU строения
Скачать Обязательно: Чтобы использовать bleLLControlPduconfig, сначала загрузите библиотеку Communications Toolbox™ для Bluetooth® Протокол. Для получения дополнительной информации см. раздел «Получение и управление дополнениями». Другой способ см. в разделе Библиотека Communications Toolbox для обмена файлами протокола Bluetooth.
The bleLLControlPDUConfig
создает объект конфигурации для настройки полезной нагрузки блока данных протокола управления (PDU) канального уровня (LL) Bluetooth с низким энергопотреблением (BLE) при помощи значений по умолчанию и заданных значений. Вы можете сконфигурировать строение полезной нагрузки BLE LL control PDU, используя применимые свойства bleLLControlPDUConfig
.
создает объект строения, cfgControl
= bleLLControlPDUConfigcfgControl
, для BLE LL управления полезной нагрузкой PDU строения используя значения по умолчанию.
устанавливает свойства с помощью одной или нескольких пар "имя-значение". Заключайте каждое имя свойства в кавычки. Для примера, cfgControl
= bleLLControlPDUConfig(Name,Value
)bleLLControlPDUConfig('Opcode','Version indication')
настраивает cfgControl
с кодом операции как 'Version indication'
Примечание
Для получения дополнительной информации о свойствах PDU управления BLE LL и их соответствующих значениях смотрите том 6, часть B, раздел 2,4 Спецификации ядра Bluetooth [2].
Opcode
- Код операции настройки полезной нагрузки PDU управления BLE LL'Connection update indication'
(по умолчанию) | 'Channel map indication'
| 'Terminate indication'
| 'Unknown response'
| 'Version indication'
| 'Reject indication'
BLE LL управляет кодом операции строения полезной нагрузки PDU, заданным в качестве одного из значений в этом списке. Каждое допустимое значение описывает код операции PDU управления LL BLE.
'Connection update indication'
'Channel map indication'
'Terminate indication'
'Unknown response'
'Version indication'
'Reject indication'
Типы данных: char
| string
WindowSize
- Размер окна передачи1
(по умолчанию) | неотрицательное целое числоПередайте размер окна, заданный как неотрицательное целое число в области значений [1, Mws], где Mws меньше 8 и (ConnectionInterval
-1). Это свойство указывает размер окна, в котором ведущий передает пакет данных, а ведомый сервер прослушивает пакет данных после установления соединения. Каждый модуль измерения принимается равной 1,25 мс, так что размер окна (WindowSize
× 1,25) находится в области значений от 1,25 мс до минимума (10 мс, ((ConnectionInterval
× 1,25) - 1,25) мс).
Типы данных: double
ConnectionInterval
- Интервал соединения6 (7.5 ms)
(по умолчанию) | целое число в области значений [6, 3200]Интервал соединения, заданный как целое число в области значений [6, 3200]. Это свойство указывает интервал между началом двух последовательных событий соединения. Каждый модуль принимается за 1,25 мс, так что интервал соединения (ConnectionInterval
× 1,25) находится в области значений от 7,5 мс до 4,0 с.
Типы данных: double
SlaveLatency
- Задержка подчиненного устройства0
(по умолчанию) | неотрицательное целое числоЗадержка ведомого сигнала, заданная как неотрицательное целое число в области значений [0, Msl], где Msl является меньшим из 499 и (ConnectionTimeout
×10) / ((ConnectionInterval
×1.25) ×2))-1. Это свойство указывает количество событий подключения, которые ведомый сервер может игнорировать.
Типы данных: double
ConnectionTimeout
- Тайм-аут наблюдения за подключением10
(по умолчанию) | неотрицательное целое числоТайм-аут наблюдения за соединением, заданный как неотрицательное целое число в область значений [Mct, 3200], где Mct является большим из 10 и ((1 + SlaveLatency
) * (ConnectionInterval
×1.25) ×2)/10. Если ведомый сервер не получает допустимый пакет в течение этого времени, это свойство указывает на тайм-аут подключения. Каждый модуль принимается за 10 мс, так что тайм-аут соединения (ConnectionInterval
× 10) находится в области значений от 100 мс до 32,0 с.
Типы данных: double
Instant
- Мгновенное событие подключения0
(по умолчанию) | целое число в области значений [0, 65535]Событие подключения мгновенное, заданное в виде целого числа в области значений [0, 65535]. Это свойство указывает количество событий, при котором должно происходить конкретное действие, например, с использованием обновленных параметров подключения.
Типы данных: double
UsedChannels
- Список используемых каналов данныхrow vector containing the channel indices between [0:36]
(по умолчанию) | целочисленный вектор со значениями элементов в области значений [0, 36]Список используемых каналов данных, заданный в виде целого вектора со значениями элементов в области значений [0, 36]. Длина вектора должна быть больше 1. По крайней мере, два канала должны быть установлены как используемые (хорошие) каналы. Это свойство указывает набор хороших каналов, классифицированных ведущим.
Типы данных: double
ErrorCode
- Код ошибки разрыва соединения'Success'
(по умолчанию) | 'Unknown connection identifier'
| 'Hardware failure'
| ...
Код ошибки завершения подключения, заданный как одно из значений в этом списке. Каждое допустимое значение описывает описание ошибки, информирующее удаленное устройство о том, почему соединение должно быть разорвано.
'Success'
'Unknown connection identifier'
'Hardware failure'
'Memory capacity exceeded'
'Connection timeout'
'Connection limit exceeded'
'Connection already exists'
'Command disallowed'
'Connection accept timeout exceeded'
'Connection rejected due to limited resources'
'Invalid LL parameters'
'Connection rejected due to unacceptable BD_ADDR'
'Unspecified error'
'Unsupported LL parameter value'
'Role change not allowed'
'LL response timeout'
'LL procedure collision'
'Instant passed'
'Channel classification not supported'
'Extended inquiry response too large'
'Connection rejected due to no suitable channel found'
'Advertising timeout'
'Controller busy'
'Unacceptable connection parameters'
'Connection failed to be established'
'Unknown advertising identifier'
'Limit reached'
'Operation cancelled by host'
Типы данных: char
| string
UnknownOpcode
- Непризнанный или неподдерживаемый код операции'00'
(по умолчанию) | двухэлементный вектор символов | строковый скаляр, обозначающий шестнадцатеричное значение с одним октетомНеопознанный или неподдерживаемый код операции, заданный как разделенная разделенными запятой парами, состоящая из 'UnknownOpcode'
и двухэлементный вектор символов или строковый скаляр, обозначающий шестнадцатеричное значение с одним октетом. Это свойство указывает тип блока PDU управления LL BLE, который не распознан или не поддерживается.
Типы данных: char
| string
VersionNumber
- Номер версии спецификации ядра Bluetooth'5.0'
(по умолчанию) | '4.0'
| '4.1'
| '4.2'
Номер версии спецификации ядра Bluetooth, указанный как '4.0'
, '4.1'
, '4.2'
или '5.0'
. Это свойство указывает номер версии спецификации ядра Bluetooth.
Типы данных: string
CompanyIdentifier
- Идентификатор производителя контроллера Bluetooth'FFFF'
(по умолчанию) | четырехэлементный вектор символов | строковый скаляр, обозначающий двухоктетное шестнадцатеричное значениеИдентификатор производителя контроллера Bluetooth, заданный как четырехэлементный вектор символов или строковый скаляр, обозначающий двухоктетное шестнадцатеричное значение. Это свойство указывает уникальный идентификатор, присвоенный организации Bluetooth Special Interest Group (SIG) [2].
Типы данных: char
| string
SubVersionNumber
- Номер subversion контроллера Bluetooth'0000'
(по умолчанию) | четырехэлементный вектор символов | строковый скаляр, обозначающий двухоктетное шестнадцатеричное значениеНомер subversion контроллера Bluetooth, заданный как четырехэлементный вектор символов или строковый скаляр, обозначающий шестнадцатеричное значение с двумя октетами. Это свойство указывает уникальное значение для каждой реализации или версии реализации контроллера Bluetooth.
Типы данных: char
| string
bleLLDataChannelPDU | Сгенерируйте BLE LL канал данных PDU |
bleLLDataChannelPDUDecode | Декодируйте BLE LL канал данных PDU |
bleLLDataChannelPDUConfig | Объект строения для PDU канала данных BLE LL |
Создайте объект строения PDU управления LL BLE, 'cfgControl'
, с использованием настроек по умолчанию. Просмотрите соответствующие применимые свойства.
cfgControl = bleLLControlPDUConfig
cfgControl = bleLLControlPDUConfig with properties: Opcode: 'Connection update indication' WindowSize: 1 WindowOffset: 0 ConnectionInterval: 6 SlaveLatency: 0 ConnectionTimeout: 10 Instant: 0
Измените значение интервала соединения на 64
. Просмотр настроенных свойств.
cfgControl.ConnectionInterval = 64
cfgControl = bleLLControlPDUConfig with properties: Opcode: 'Connection update indication' WindowSize: 1 WindowOffset: 0 ConnectionInterval: 64 SlaveLatency: 0 ConnectionTimeout: 10 Instant: 0
Создайте два уникальных объектов строения PDU управления BLE LL с помощью пар "имя-значение": сначала один из 'Terminate indication' типа
и код ошибки 'Connection timeout'
и второй тип 'Channel map indication'
с используемым набором каналов данных.
Создайте объект строения PDU управления LL BLE, 'cfgControl'
, путем определения опкода как 'Terminate indication'
и код ошибки как 'Connection timeout'
. Просмотрите соответствующие свойства, соответствующие указанному опкоду.
cfgControl = bleLLControlPDUConfig('Opcode','Terminate indication', ... 'ErrorCode','Connection Timeout')
cfgControl = bleLLControlPDUConfig with properties: Opcode: 'Terminate indication' ErrorCode: 'Connection timeout'
Создайте другой объект строения полезной нагрузки PDU управления BLE LL, 'cfgControl'
, на этот раз путем установки значения opcode как 'Channel map indication'
. Укажите список используемых каналов данных. Просмотрите сконфигурированные свойства, соответствующие указанному опкоду.
cfgControl = bleLLControlPDUConfig('Opcode','Channel map indication'); cfgControl.UsedChannels = [0 3 12 16 18 24]
cfgControl = bleLLControlPDUConfig with properties: Opcode: 'Channel map indication' Instant: 0 UsedChannels: [0 3 12 16 18 24]
Создайте объект строения канала данных BLE LL, 'cfgLLData'
, путем определения значений 'LLID'
как 'Control'
и 'ControlConfig'
как 'cfgControl'
. Просмотрите свойства объекта строения 'cfgLLData'
.
cfgLLData = bleLLDataChannelPDUConfig('LLID','Control'); cfgLLData.ControlConfig = cfgControl
cfgLLData = bleLLDataChannelPDUConfig with properties: LLID: 'Control' NESN: 0 SequenceNumber: 0 MoreData: 0 CRCInitialization: '012345' ControlConfig: [1x1 bleLLControlPDUConfig]
Создайте объект строения PDU канала данных BLE LL для блока управления PDU с помощью строения по умолчанию. Просмотрите соответствующие свойства по умолчанию.
cfgControl = bleLLControlPDUConfig
cfgControl = bleLLControlPDUConfig with properties: Opcode: 'Connection update indication' WindowSize: 1 WindowOffset: 0 ConnectionInterval: 6 SlaveLatency: 0 ConnectionTimeout: 10 Instant: 0
Сгенерируйте PDU канала данных LL BLE с помощью 'cfgTx'
путем определения значения идентификатора ссылки слоя, 'LLID'
, как 'Control'
и 'ControlConfig'
как 'cfgControl'
. Задайте значение циклической проверки избыточности (CRC) для объекта строения 'cfgTx'
. Просмотр свойств 'cfgTx'
.
cfgTx = bleLLDataChannelPDUConfig('LLID', 'Control', ... 'ControlConfig',cfgControl); cfgTx.CRCInitialization = 'E23456'
cfgTx = bleLLDataChannelPDUConfig with properties: LLID: 'Control' NESN: 0 SequenceNumber: 0 MoreData: 0 CRCInitialization: 'E23456' ControlConfig: [1x1 bleLLControlPDUConfig]
Сгенерируйте блок управления BLE LL из 'cfgTx'
.
pdu = bleLLDataChannelPDU(cfgTx);
Декодируйте сгенерированный PDU управления LL BLE путем инициализации значения CRC. Возвращенное состояние указывает, что декодирование успешно. Просмотрите значения 'status'
, 'cfgRx'
и 'llPayload'
.
crcInit = 'E23456'; % Received during associaton [status, cfgRx, llPayload] = bleLLDataChannelPDUDecode(pdu, crcInit)
status = Success
cfgRx = bleLLDataChannelPDUConfig with properties: LLID: 'Control' NESN: 0 SequenceNumber: 0 MoreData: 0 CRCInitialization: '012345' ControlConfig: [1x1 bleLLControlPDUConfig]
llPayload = 1x0 empty char array
[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/.
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.