先週の続きで、ダイアリングから発信、通話、そして切断までの一連の流れを処理できるように作業しています。ついでにLCDのアイコン表示もちょっと変更、追加。
まずは初期状態。HFP接続が無い状態では、通話できないことを示すために、受話器アイコンを使ってみることにしました。
HFP接続が確立するとこの表示を消して、アンテナと電池残量アイコんを表示。
受話器をオフフック/オンフックする度に、受話器アイコンを点灯/消灯することとしました。
ダイアル後、発信中と通話中はダイアルした番号を表示します。今のところ、発信中と通話中の表示が同一なので、この点は今後改善したいところ。
一連の処理の流れの様子は次のとおり。
まずは初期状態。HFP接続が無い状態では、通話できないことを示すために、受話器アイコンを使ってみることにしました。
HFP接続が確立するとこの表示を消して、アンテナと電池残量アイコんを表示。
受話器をオフフック/オンフックする度に、受話器アイコンを点灯/消灯することとしました。
ダイアル後、発信中と通話中はダイアルした番号を表示します。今のところ、発信中と通話中の表示が同一なので、この点は今後改善したいところ。
一連の処理の流れの様子は次のとおり。
- ダイアル桁間タイマーにより入力されたダイアル信号の間隔を監視し、このタイマーが満了したことを検出したならばATDコマンドをWT32に送り、発信。
- 呼び出し信号並びに通話音声用のSCOリンクが張られたことを示す
RING ... SCO
を検出したならば、SAIからのFSYNC信号に同期してADC/DACを動作させることで音声パスをつなげる。 - オンフックで通話を切断するHANGUPコマンドをWT32に送信。
- SCOリンクが切られた
NO CARRIER
イベントによりADC/DACの動作トリガをタイマーの設定し直す。