2410061_ja-JP

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

2410061_ja-JP

2410061_ja-JP

デバイスとの結合を解除することに関して

こんにちは、

MCUXpresso SDKバージョン26.03を使ってBLE通信を実装しようとしています。
API関数Gap_RemoveBondについて質問があります。
その注記には、「このAPIは、呼び出し時にアクティブな接続が存在しないことを前提としています」と記載されている。
1.つまり、コネクテッドデバイスがない時だけ使えるということですか?
2. Gap_RemoveBondがアクティブな接続が存在する間に結合を除去できない場合、アクティブな接続が有効な状態で結合情報を除去する方法はありますか?


質問に関する追加情報

3つのデバイスがあると仮定します。
・周辺機器
・中央装置A
・中央装置B

takuya08_0-1788256233203.pngtakuya08_0-1788256233203.pngtakuya08_0-1788256233203.pngtakuya08_0-1788256233203.pngtakuya08_0-1788256233203.png

ペリフェラルはすでにセントラルAとセントラルBの両方と結合されています。


ペリフェラルがセントラルAとセントラルBの両方に積極的にコネクテッドされている場合:

takuya08_1-1788256275044.pngtakuya08_1-1788256275044.pngtakuya08_1-1788256275044.pngtakuya08_1-1788256275044.pngtakuya08_1-1788256275044.png

その指摘から、ペリフェラルはセントラルAとBがコネクテッドされている間は結合情報を削除できないと理解しています。
アクティブな接続中に、ボンディング情報を削除する方法はありますか?


ペリフェラルがセントラルAにのみ積極的に接続されている場合:

takuya08_2-1788256364083.pngtakuya08_2-1788256364083.pngtakuya08_2-1788256364083.pngtakuya08_2-1788256364083.pngtakuya08_2-1788256364083.png

周辺機器がセントラルAとセントラルBの両方の結合情報を削除することは不可能でしょうか?
それともセントラルBのボンディング情報だけを削除することは可能でしょうか?

ペリフェラルがいかなるデバイスにも接続されていない場合:

takuya08_3-1788256474725.pngtakuya08_3-1788256474725.pngtakuya08_3-1788256474725.pngtakuya08_3-1788256474725.pngtakuya08_3-1788256474725.png

このコメントから、この場合、周辺機器はセントラルAとセントラルBの両方の結合情報を削除できると理解しています。


ご協力ありがとうございます。

Re: Regarding Removes the bond with a device

@sofiaurueta

ご返信ありがとうございます。
あなたの回答から、たとえ1台でも接続されていればボンディング情報は削除できないと理解しました。
ただ、念のためもう一度確認したいです。

2-1788256364083.png2-1788256364083.png2-1788256364083.png2-1788256364083.png

ペリフェラルにセントラルAとセントラルBの2つのデバイスの結合情報が保存されており、現在セントラルAにコネクテッドされている場合、以下の挙動のうちどれが起こるのでしょうか?
1.接続されていないセントラルBのボンド情報は削除可能です。
2. 2つの債券情報記録はいずれも削除できません。

Re: Regarding Removes the bond with a device

こんにちは、お元気でお過ごしでしょうか。

Gap_RemoveBond() は、アクティブなBLE接続がない場合のみ呼び出せます。APIのドキュメントには、ボンド情報が削除される前にすべての接続を切断することを明記しています。同じ制限はGap_RemoveAllBonds()にも適用されます。
現在、MCUXpresso SDKのBLEホストスタックには、接続がアクティブな間にNVMボンドデータを削除することをサポートするAPIはありません。

アクティブなユースCASEでボンドを除去するための推奨フローは以下の通りです:
関連するコネクテッドピアの連絡先としてGap_Disconnect(deviceId)を呼び出し、切断を確認させるgConnEvtDisconnected_c接続イベント情報を待ってからGap_RemoveBond(nvmIndex)を呼び出します。


よろしくお願いします、
ソフィア。

Tags (1)
No ratings
Version history
Last update:
Saturday
Updated by: