2010年11月22日月曜日

Wiiリモコンの自動再接続・2

以前 Broadcom から Bluetooth スタックの新しいのを拾ってきた時に、同じ場所に SDK が置いてありました。
「パスキー」の入力ウィジェットが問題なら、パスキーをプログラムに書いちゃえば解決するんじゃない?

というわけで SDK 使って、デバイスの検索~ペアリングを書いてみたんですよ。

BondReply() BondReply() allows the user application to send pairing response data. It should only be called in response to a tBond_CB notification for the Numeric Comparison or Passkey pairing methods.

Numeric Comparison or Passkey って書いてあるけれど、Numeric Comparison or PIN code の間違い?
パラメータも PIN コード用のものが定義されているし。


Prototype: void BondReply (eBOND_REPLY reply, UINT32 nPinLength=0, UCHAR *szPin=NULL); Parameters: reply Enumerated reply type as one of the following:
  • BOND_CONFIRM_ALLOW
    Confirm Numeric Comparison validated.
  • BOND_CONFIRM_DISALLOW
    Reject Numeric Comparison request.
  • BOND_PIN_ALLOW
    Legacy pairing allow, pin code sent.
  • BOND_PIN_DISALLOW
    Reject Legacy pin code request.

nPinLength For BOND_PIN_ALLOW reply, length in characters of pin code supplied in szPin. Valid range: 0-16

szPin For BOND_PIN_ALLOW reply, pin code to use for legacy pairing. This is an array of BT_CHAR, null terminated.

Returns: None


…NULL terminated string ですね。

これはひょっとして Bluetooth の仕様なんじゃないかな。
あまりここを追っかけても何なので、ここまでにしておきましょう。
とりあえず自由に PINコード渡せるプログラムは作れたので、進展あったらこれをベースに始められますし。

0 件のコメント:

コメントを投稿