Создайте объект настройки для настройки полезной нагрузки PDU управления BLE LL
Загрузите Необходимый: Чтобы использовать bleLLControlPDUConfig, сначала загрузите Библиотеку Communications Toolbox™ для Протокола Bluetooth®. Для получения дополнительной информации смотрите, Получают и Управляют Дополнениями (MATLAB). В качестве альтернативы смотрите Библиотеку 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
(значение по умолчанию) | представляет в виде строки скаляр, обозначающий шестнадцатеричное значение с одним октетомНомер версии спецификации Bluetooth, заданной как скаляр строки обозначение шестнадцатеричного значения с одним октетом. Можно задать 'VersionNumber'
как '4.0'
, '4.1', '4.2'
или
'4.3'
. Это свойство указывает на номер версии спецификации ядра 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 | Создайте объект настройки для 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
Измените значение интервала связи к 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 LL, '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'
, на этот раз путем устанавливания значения кода операции как '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 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 канала данных 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 ControlConfig: [1x1 bleLLControlPDUConfig]
Сгенерируйте 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 = Success
cfgRx = bleLLDataChannelPDUConfig with properties: LLID: 'Control' NESN: 0 SequenceNumber: 0 MoreData: 0 ControlConfig: [1x1 bleLLControlPDUConfig]
llPayload = 1x0 empty char array
[1] Домашняя страница Bluetooth. https://www.bluetooth.com/.
[2] Специальная группа (SIG) Bluetooth. "Спецификация ядра Bluetooth". Версия 5.0.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.