2016-11-10 5 views
0

Мне интересно, как работают переговоры по параметрам, когда «центральный» и «периферийный» имеют разные параметры.Как работает согласование параметров BLE?

Возможно, я ошибался, но из моего понимания периферийное устройство запрашивает запрос на обновление при подключении, чтобы установить его для соединения. И тогда центральный решает, одобрять ли их или нет.

Что я не понимаю, так это то, как это принято, если эти параметры утверждены или нет. И я не нашел для него никакого кода.

Например, если у меня есть следующие параметры (только собирание случайных значений):

Центральные: Интервал 10мс, В задержка 0, supervisortimeout 500

периферийные: Интервал 50мса, В задержек 10, supervisortimeout 3000

Как я могу точно знать, что мои периферийные параметры будут использоваться или какие критерии для них будут одобрены?

Если кто-то там может дать хорошее объяснение, я буду очень благодарен.

ответ

3

Центральный делает то, что он хочет, Периферийное устройство должно соблюдать параметры или отключать.

Периферийное устройство может любезно просить другие параметры, которые указаны Центральным, но ничто не говорит о том, что они должны быть одобрены.

Критерии приемлемости от Центральной представляет собой смесь ограничений:

  • нормативное (они являются постоянными и глобальные),
  • конкретной реализации, большую часть времени, они зависят от/реализованных услуг периферического типа (Apple explicitly defines some, например (см 3.6)),
  • динамический (если центр управляет несколько соединений одновременно, он может предпочесть планировать их таким образом, их соответствующие интервалы кратны общей базой.

При разработке периферии вы не можете определить, будут ли использоваться параметры соединения, которые вы предпочитаете. Вы должны справиться с этим. Кроме того, некоторые центральные соединения будут подключаться к фиксированным параметрам, вызывать обновление параметров соединения сразу после подключения, а затем перечислять службы и принимать решения, поэтому вы не можете слепо отключить, когда обновление параметров подключения не соответствует вашим потребностям.

+0

«Центральное делает то, что хочет, Периферийное устройство должно соблюдать параметры». Это не совсем правильно: «Если обновленные параметры подключения неприемлемы для периферии, тогда он может отключить соединение с кодом ошибки« Недопустимый интервал подключения ».» (см. Core Spec V4, Vol.3, Part C, глава 9.3.9.2) – Nebr

+0

Конечно, я имел в виду, что «Central делает то, что хочет», если это правильно, спецификация ... – Nipo

+0

Это вторая часть предложения, которая более проблематична: «Периферийное устройство должно соблюдать параметры». Нет, он также может отказаться от них по любой причине, которую он сочтет целесообразным. Он не должен соблюдать. (Только для записи: я не ответил вниз.) – Nebr

 Смежные вопросы

  • Нет связанных вопросов^_^