Объект Configuration для BLE LL управляет настройкой полезной нагрузки PDU
Загрузите Необходимый: Чтобы использовать bleLLControlPDUConfig, сначала загрузите Библиотеку Communications Toolbox™ для Bluetooth® Протокол. Для получения дополнительной информации смотрите, Получают и Управляют Дополнениями. В качестве альтернативы смотрите Библиотеку Communications Toolbox для Обмена файлами Протокола Bluetooth.
bleLLControlPDUConfig
создает объект настройки для настройки полезной нагрузки модуля данных о протоколе (PDU) управления слоем ссылки (LL) Bluetooth низкой энергии (BLE) при помощи значений по умолчанию и заданных значений. Можно сконфигурировать настройку полезной нагрузки PDU управления BLE LL с помощью применимых свойств bleLLControlPDUConfig
.
создает объект настройки, cfgControl
= bleLLControlPDUConfigcfgControl
, поскольку BLE LL управляет настройкой полезной нагрузки PDU с помощью значений по умолчанию.
устанавливает свойства с помощью одной или нескольких пар "имя-значение". Заключите каждое имя свойства в кавычки. Например, cfgControl
= bleLLControlPDUConfig(Name,Value
)bleLLControlPDUConfig('Opcode','Version indication')
конфигурирует cfgControl
с кодом операции как 'Version indication'
Примечание
Для получения дополнительной информации о свойствах PDU управления BLE LL и их соответствующих значениях, смотрите объем 6, часть B, разделите 2.4 из Спецификации [2] Ядра Bluetooth.
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, 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, Ракета], где Ракета является меньшими из 499 и ((ConnectionTimeout
×10) / ((ConnectionInterval
×1.25) ×2))-1. Это свойство указывает на количество событий связи, которые может проигнорировать ведомое устройство.
Типы данных: double
ConnectionTimeout
— Тайм-аут контроля связью
(значение по умолчанию) | неотрицательное целое числоТайм-аут контроля связью в виде неотрицательного целого числа в области значений [Макт, 3200], где Макт является большими из 10 и ((1+SlaveLatency
) * (ConnectionInterval
×1.25) ×2)/10. Если ведомое устройство не получает допустимый пакет в течение этого времени, это свойство указывает на тайм-аут связи. Каждый модуль взят в качестве 10 мс так, чтобы тайм-аут связи (ConnectionInterval
×10), находится в области значений 100 мс к 32,0 с.
Типы данных: double
Instant
— Момент события Connection
(значение по умолчанию) | целое число в области значений [0, 65535]Момент события Connection в виде целого числа в области значений [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
— Код нераспознанной или недопустимой операции
(значение по умолчанию) | двухэлементный вектор символов | один октет обозначения строкового скаляра шестнадцатеричное значениеКод нераспознанной или недопустимой операции в виде разделенной запятой пары, состоящей из 'UnknownOpcode'
и двухэлементный вектор символов или строковый скаляр, обозначающий шестнадцатеричное значение с одним октетом. Это свойство указывает на тип PDU управления BLE LL, который не распознан или поддержан.
Типы данных: char |
string
VersionNumber
— Номер версии Спецификации Ядра Bluetooth
(значение по умолчанию) | '4.0'
| '4.1'
| '4.2'
Номер версии Спецификации Ядра Bluetooth в виде '4.0'
, '4.1', '4.2'
или
'5.0'
. Это свойство указывает на номер версии Спецификации Ядра Bluetooth.
Типы данных: string
CompanyIdentifier
— ID производителя контроллера Bluetooth'FFFF'
(значение по умолчанию) | четырехэлементный вектор символов | строковый скаляр, обозначающий 2D октет шестнадцатеричное значениеID производителя контроллера Bluetooth в виде четырехэлементного вектора символов или строкового скаляра, обозначающего 2D октет шестнадцатеричное значение. Это свойство указывает на уникальный идентификатор, присвоенный вашей организации Специальной группой (SIG) Bluetooth [2].
Типы данных: char |
string
SubVersionNumber
— Количество Subversion контроллера Bluetooth
(значение по умолчанию) | четырехэлементный вектор символов | строковый скаляр, обозначающий 2D октет шестнадцатеричное значениеКоличество subversion контроллера Bluetooth в виде четырехэлементного вектора символов или строкового скаляра, обозначающего 2D октет шестнадцатеричное значение. Это свойство указывает на уникальное значение для каждой реализации или версии контроллера Bluetooth реализация.
Типы данных: char |
string
bleLLDataChannelPDU | Сгенерируйте PDU канала данных BLE LL |
bleLLDataChannelPDUDecode | Декодируйте PDU канала данных BLE LL |
bleLLDataChannelPDUConfig | Объект Configuration для PDU канала данных BLE LL |
Этот пример использует:
Создайте объект настройки PDU управления BLE LL, 'cfgControl'
, использование настроек по умолчанию. Просмотрите соответствующие применимые свойства.
cfgControl = bleLLControlPDUConfig
cfgControl = bleLLControlPDUConfig with properties: Opcode: 'Connection update indication' WindowSize: 1 WindowOffset: 0 ConnectionInterval: 6 SlaveLatency: 0 ConnectionTimeout: 10 Instant: 0 Read-only properties: No properties.
Измените значение интервала связи к 64
. Просмотрите сконфигурированные свойства.
cfgControl.ConnectionInterval = 64
cfgControl = bleLLControlPDUConfig with properties: Opcode: 'Connection update indication' WindowSize: 1 WindowOffset: 0 ConnectionInterval: 64 SlaveLatency: 0 ConnectionTimeout: 10 Instant: 0 Read-only properties: No properties.
Этот пример использует:
Создайте два уникальных объекта настройки PDU управления BLE LL с помощью пар "имя-значение": сначала один из типа 'Terminate indication'
и код ошибки 'Connection timeout'
и второй типа 'Channel map indication'
с используемым набором каналов данных.
Создайте объект настройки PDU управления BLE LL, 'cfgControl'
, путем определения кода операции как 'Terminate indication'
и код ошибки как 'Connection timeout'
. Просмотрите применимые свойства, соответствующие заданному коду операции.
cfgControl = bleLLControlPDUConfig('Opcode','Terminate indication', ... 'ErrorCode','Connection Timeout')
cfgControl = bleLLControlPDUConfig with properties: Opcode: 'Terminate indication' ErrorCode: 'Connection timeout' Read-only properties: No properties.
Создайте другой объект настройки полезной нагрузки PDU управления BLE LL, 'cfgControl'
, на этот раз путем устанавливания значения кода операции как '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] Read-only properties: No properties.
Создайте объект настройки канала данных 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] Read-only properties: No properties.
Этот пример использует:
Создайте объект настройки 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 Read-only properties: No properties.
Сгенерируйте PDU канала данных BLE LL с помощью '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] Read-only properties: No properties.
Сгенерируйте PDU управления BLE LL от 'cfgTx'
.
pdu = bleLLDataChannelPDU(cfgTx);
Декодируйте сгенерированный PDU управления BLE LL путем инициализации значения CRC. Возвращенное состояние указывает, что декодирование успешно. Просмотрите значения 'status'
, 'cfgRx'
и 'llPayload'
.
crcInit = 'E23456'; % Received during associaton [status, cfgRx, llPayload] = bleLLDataChannelPDUDecode(pdu, crcInit)
status = blePacketDecodeStatus enumeration Success
cfgRx = bleLLDataChannelPDUConfig with properties: LLID: 'Control' NESN: 0 SequenceNumber: 0 MoreData: 0 CRCInitialization: '012345' ControlConfig: [1x1 bleLLControlPDUConfig] Read-only properties: No properties.
llPayload = 1x0 empty char array
[1] Технологический Веб-сайт Bluetooth. “Технологический Веб-сайт Bluetooth | официальный сайт Технологии Bluetooth”. Полученный доступ 22 ноября 2019. https://www.bluetooth.com/.
[2] Специальная группа (SIG) Bluetooth. "Спецификация Ядра Bluetooth". Версия 5.1. https://www.bluetooth.com/.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.