マイコン工作実験日記

Microcontroller を用いての工作、実験記録

無理やりつなげる

2010-11-05 23:36:52 | Weblog
WT32側から着信応答をしようとすると音声リンクが切れてしまう問題の続きです。HFPのプロトコル・トレースが採れれば調査もやりやすいのですが、残念ながらそのような機能はiWRAPにはありません。CSRの開発ツールとか揃えれば、もっと下位のレイヤでのトレースが採れるのかもしれませんが、個人で買うものではなさそうです。そんなわけで、いろいろとiWRAPのコマンドを試行錯誤してみたところ、次のような手順でつなげられることが確認できました。



answerコマンドで応答すると着信音が止まるとともに音声パスのリンクが切れてしまうのですが、その後でsco openコマンドを使って音声パス用のSCOリンクを強制的に張りなおしてやるという方法です。ほんとはリンクが一度も切れずに続いてくれるのが好ましいところです。A2DPのストリームが止まったり、再開されたりしているのも、なんだかドタバタしている感じでスマートじゃありません。

この方法以外にも、HFP AG側の状態変化をHFP Device側に通知する+CIEVを生成するstatusコマンドを使って、callやcallsetupの状態変化通知をしてみたりしたのですが、着信音が止まるのに時間がかかったりして、いまひとつ動作がつかみきれませんでした。結局、現時点ではsco openを使うのが確実に安定して動作する方法なので、これを使うことにしました。

ようやくと、ヘッドセット操作とタッチパネル操作のどちらでも着信応答ができるようになりました。