日別アーカイブ: 2008年1月5日

Toshiba bluetooth stack と Bluesoleil 対応

Toshiba bluetooth stack と Bluesoleil に対応できました。
より多くの Bluetooth アダプタ(ドライバ) で動作するようになりました。

WbalanceGE v1.20 (GoogleEarth を歩く)
WBHealthMeter v1.10 (バランスWiiボード 体重計)

あらかじめ接続してから上記プログラムを起動する必要あり。
ペアリングと接続はそれぞれ、個別の接続管理画面で行います。

●Toshiba bluetooth stack
・Bluetooth 設定で[新しい接続]を押す
  必要に応じて バランスWiiボード の Sync ボタンを押す。

・一度登録されたら、以後は Nintendo RVL_WBC-01 のアイコンを選んで
 メニューから[接続]するだけ。このときも Sync ボタンを押す必要あり。

●Bluesoleil
・バランスWiiボードの Sync を押して、検索画面でアイコンが表示されるのを待つ。
 バランスWiiボードのランプ点滅が止まったら Sync を押しておく。

・名前が確定したら、メニューから接続(Connect)を選ぶ
 やはり接続時も Sync ボタンを押しておく必要あり。

●Windows 標準
・これまでどおり、プログラム上から「バランスWiiボード登録」で可能。
 コントロールパネルから登録しても OK

コマンドの送信が原因でした。他の bluetooth stack では
HidD_SetOutputReport() が使えないようです。Toshiba 以外はエラーも
返らないので工夫が要ります。

まとめると下記のようになります。

WindowsVista bluetooth stack
 ○ HidD_SetOutputReport
 × WriteFile  (送信できない、エラーにならない)

Toshiba bluetooth stack v5.10.15
 × HidD_SetOutputReport (送信できない、エラーになる)
 ○ WriteFile

Bluesoleil v2.6.0.1 070402 (BT-MicroEDR2 付属)
 HID の認識でエラーのため列挙できない

Bluesoleil v5.0.5 64bit
 × HidD_SetOutputReport (送信できない、エラーにならない)
 ○ WriteFile

判定手順
 1. HidD_SetOutputReport() を使い、0x15 等の return のあるコマンドを送る
 2. もし 1. がエラーになったら WriteFile を選択する
 3. 結果が来たらそのまま、一定期間経っても結果がこなければ WriteFile を選択する

今回実験した組み合わせ
 Vista x86 + Princeton PTM-UBT3S + 付属 Toshiba stack
 Vista x86 + Princeton PTM-UBT3S + Windows stack
 Vista x64 + Planex BT-Mini2EDR + Windows stack
 Vista x64 + Planex BT-Mini2EDR + Bluesoleil 5
 Vista x64 + Planex BT-MicroEDR2 + Bluesoleil 2/5

関連エントリ
バランスWiiボードを使ったまじめな体重計 WBHealthMeter 1.00
バランスWiiボード で地球を歩く WbalanceGE v1.10