Объект конфигурации для конфигурации полезной нагрузки PDU управления BLE LL
Для использования bleLOontrolPDUConfig сначала загрузите библиотеку Communications Toolbox™ Library для протокола Bluetooth ®. Дополнительные сведения см. в разделе Получение надстроек и управление ими. Кроме того, см. библиотеку Communications Toolbox Library для обмена файлами по протоколу Bluetooth.
bleLLControlPDUConfig создает объект конфигурации для конфигурации полезной нагрузки блока управляющих протокольных данных (PDU) канального уровня (LL) Bluetooth с низким энергопотреблением (BLE), используя значения по умолчанию и указанные значения. Можно сконфигурировать конфигурацию полезной нагрузки PDU управления BLE с использованием применимых свойств 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'Код операции конфигурирования полезной нагрузки PDU управления BLE LL, указанный в этом списке в качестве одного из значений. Каждое допустимое значение описывает код операции блока управления PDU BLE LL.
'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 управления BLE LL, который не распознан или не поддерживается.
Типы данных: 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 - Номер подстройки контроллера Bluetooth'0000'
(по умолчанию) | четырехэлементный символьный вектор | строковый скаляр, обозначающий двухоктетное шестнадцатеричное значениеНомер субверсии контроллера Bluetooth, заданный как четырехэлементный символьный вектор или строковый скаляр, обозначающий двухоктетное шестнадцатеричное значение. Это свойство указывает уникальное значение для каждой реализации или версии реализации контроллера Bluetooth.
Типы данных: char | string
bleLLDataChannelPDU | Формирование PDU канала данных LL BLE |
bleLLDataChannelPDUDecode | Декодирование PDU канала данных LL BLE |
bleLLDataChannelPDUConfig | Объект конфигурации для PDU канала данных BLE LL |
В этом примере используются:
Создание объекта конфигурации PDU управления 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 управления BLE, 'cfgControl', путем указания opcode как '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]
Создание объекта конфигурации канала данных LL BLE '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 канала данных LL BLE для 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]
Создание PDU управления 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. «Веб-сайт Bluetooth Technology | Официальный веб-сайт Bluetooth Technology». Доступно 22 ноября 2019 года. https://www.bluetooth.com/.
[2] Группа специальных интересов Bluetooth (SIG). «Спецификация ядра Bluetooth». Версия 5.1. https://www.bluetooth.com/.
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.