Espruino:Справочник по API/Класс NRF/setConnectionInterval()

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Перевод: Максим Кузьмин (Cubewriter) Контакты:</br>* Skype: cubewriter</br>* E-mail: cubewriter@gmail.com</br>* Максим Кузьмин на freelance.ru
Проверка/Оформление/Редактирование: Мякишев Е.А.


Функция NRF.setConnectionInterval()[1]

Синтаксис

NRF.setConnectionInterval(interval)

Параметры

  • interval – интервал коммуникации, который надо задать (см. ниже)

Возвращаемое значение

Описание

Подключившись друг к другу, BLE-устройства коммуницируют с заданным интервалом. Если уменьшить этот интервал (в результате станет отправляться больше пакетов в секунду), это уменьшит задержку в отправке данных, увеличит пропускную способность, но также увеличит энергопотребление.

По умолчанию, подключаясь как периферийное устройство, Espruino автоматически настраивает этот интервал коммуникации. Во время активности интервал уменьшается до минимума (7.5 мс), а во время простоя более минуты увеличивается до 200 мс. При непрерывной активности (>1 BLE-операции) интервал снова снижается до 7.5 мс.

В аргументе interval можно задать следующее:

  • undefined/"auto" – интервал коммуникации будет настроен автоматически (по умолчанию)
  • 100 – одно число, с помощью которого задается одновременно максимальный и минимальный интервал подключения (в диапазоне между 7.5 и 4000 мс)
  • {minInterval:20, maxInterval:100} – объект, с помощью двух элементов которого максимальный и минимальный интервал подключения задаются по отдельности

Эти настройки не запоминаются при использовании save(). Их нужно будет повторно задать с помощью onInit.

Примечание: При подключении к другому устройству (в роли центрального устройства) интервал коммуникации можно задать в дополнительном аргументе функций NRF.connect() и BluetoothRemoteGATTServer.connect().

Примечание: Эта функция перезаписывает все изменения, заданные устаревшей функцией NRF.setLowPowerConnection().

Примечание: Эта функция доступна только для NRF52-устройств (вроде Puck.js, Pixl.js, Bangle.js и MDBT42Q).

Примеры

См.также

Внешние ссылки