2016-04-13 8 views
0

LL_CONNECTION_UPDATE_REQを特定の接続パラメータを持つスレーブに強制的に送信したいとします。 Bluedroidでこれをどのように達成できますか? Bluedroidから可能ですか?Bluedroid:LL_CONNECTION_UPDATE_REQを送信する方法

ターゲット:[l2c_ble.cで】機能btsnd_hcic_ble_upd_ll_conn_params() 関数を呼び出すことによってAOSP V5.1 +

答えて

0

はhciblecmds.cで定義され

スレーブとマスタの両方をサポート Connection Parameter Update ProcedureBLUETOOTH SPECIFICATION Version 4.2仕様で 9.3.9で定義されている場合

LL_FEATURE_REQ (2.4.2.9)LL_FEATURE_RSP (2.4.2.10)で宣言されている場合、リンクレイヤーはLL_CONNECTION_PARAM_REQ (2.4.2.16)を送信します。

ホストのいずれかがこの機能をサポートしていない場合は、LLはBLUETOOTH SPECIFICATION Version 4.29.3.9.2 ConditionsからLL_CONNECTION_UPDATE_REQ 2.4.2.1

を送信します。

A中央接続パラメータ更新手順を開始する リンクレイヤ接続更新手続きを使用しなければなりません[Vol。 6]、パートBセクション 5.1.1セントラルまたは 周辺機器が接続パラメータ要求リンク層をサポートしていない場合は、必要な接続パラメータを使用してください。 制御手順。

中枢および末梢サポートの両方が接続パラメータは リンク層の制御手順を要求した場合は、中枢または末梢[巻で定義された接続パラメータ リクエストリンクレイヤ制御手順を使用しなければならない 接続パラメータ更新手順を開始します。 6]、パートBセクション5.1.7 に必要な接続パラメータを指定します。

私はbtsnd_hcic_ble_upd_ll_conn_params()のみ最小値と最大接続間隔を取り、ヒントとしてそれらを使用していることをここに追加したいけれども。

私の経験では、値の範囲が渡されると、LLは範囲内の任意の値を選択します。

私は限られたテストしか行っていないので、LLが常に供給された範囲から選択するかどうか、またはいくつかの条件でこの範囲外から選択できるかどうかはわかりません。すでに接続されたスレーブが 5.1.1 Connection Update Procedureから、この範囲外のCI

を持っている場合、LLは常にホストによって提供される範囲からの接続間隔を選択します。 ありがとう@Emilこれを指摘してください。

+0

コントローラは、指定された範囲外の接続間隔を選択してはなりません。 – Emil

+0

@Emil Specのこれを参照してください。私はこれが正解だが、仕様で見つけることができなかった。しかし、あまりにも難しく見えませんでした。 – GPS

+1

仕様では、「ホストのリンク層(connInterval_minおよびconnInterval_max)から、connIntervalを決定する必要があります。リンク層は、選択された間隔値をホストに示すものとします。 "shall"の通常の定義では、 "must"を意味します。 – Emil

関連する問題