case HCI_CMD_INQUIRY: //Inquiry (search bluetooth dongles around you) buf1[0]=0x01; buf1[1]=0x04; buf1[2]=0x05; buf1[3]=0x33; buf1[4]=0x8b; buf1[5]=0x9e; buf1[6]=0x05;//waiting time (5 * 1.28 sec) //org buf1[7]=0x01;//if there are bluetooth devices around you, you should give a maximum number here. buf1[7]=0x02;//if there are bluetooth devices around you, you should give a maximum number here. data_size=8; DemoState = BT_STATE_WRITE_CLASS; HciState = HCI_CMD_INQUIRY_RESULT; break;INQUERYの最後の1byteで探索する機器の数を指定できるので、探索機器数を1→2にしてみました。 wiiリモコンを2つ用意して、認識させてみると...INQUIRY RESULT EVENTで返ってくる機器数は1のままでした。 他にまだ対応すべきところがあるんでしょうね、残念。
2012年2月27日月曜日
PICでファミコンを操作する(2コン対応) その1
wiiリモコンで、ファミコンの操作ができるようになりました。
ただ1つのwillリモコンしか対応していないため、2つ目のwiiリモコンも接続できるようにします。
bluetoothの機器の探索で、2個見つけられれば良いはず...と考えてソース(main.c)を見ると以下の部分が該当しそうです。
登録:
コメントの投稿 (Atom)
はじめまして、町田と申します。
返信削除貴重な情報をありがとうございます。
複数のアドレスを見るには、
http://phys.sci.hokudai.ac.jp/LABS/yts/pic/GB002/hci1.html
のHCImasterに関する補足に記載があるようです。
PICを利用して、iOS機器とBluetooth接続に挑戦しております。
Bluetooth機器が氾濫する中では、ペアリングしたいiOS製品のBluetoothのアドレスを
HCI_CMD_INQUIRY_RESULT:にて、的確にとらえることは、難しいことでしょうか?
他のアドレスをとらえた場合でも、
case HCI_CMD_SAVE_HANDLE:
if(buf1[2]!=0x00)
におきまして、buf1[2]は0となってしまいます。