2011/03/05

[nfc][dep]中断後にエラー

DEP_REQ/RESレベルでの送受信はできている。
まあ、これはコマンドを投げれば返ってくるので、そんなに難しいことではない。

depping.jpg

こんな感じでDEPをやっている。
今のところシングルスレッドでやっていて、ユーザ操作はほとんどできない。
なので、DEPでデータをやりとりしているのを中断させるのに、お互いを引き離す、という方法でやっている。
このときの動きがそれぞれ違う。

InitiatorにしているPaSoRiは、しばらくしてからタイムアウトしている。
まだタイムアウト処理など組み込んでいないので、PaSoRiがしばらくすると返事をしてくれていることになる。
Statusは0x13だ。

TargetにしているRC-S620/Sは、すぐに終了する。
TgSetDataがStatus=0x31で返ってくる。
それはいいのだが、困っているのはその次。
終了させようとしてコマンドを投げるのだが、エラーフレームと認識されてしまう。
リセットコマンドは大丈夫なのだが、その次に投げているRFConfigurationがそうなる。
あー、でも搬送波は出てなさそうだな。P906iが反応してない。

エラーフレームはパケットの文法エラーなので、中身が間違っていることになる。
しかし普段は大丈夫なコマンドなので、少なくともそこの実装に間違いはない。
もしかすると、タイムアウトしてから送ったコマンドが残っているとか・・・とも思ったが、RC-S620/Sはタイムアウト時間を持っていて、それ以上経つと受信したパケットを破棄する。
だから、そんなことはない。

うーむ。。。


待ち受けているコマンドが決まっているのだが、それが来てないのでエラーにしている、という筋書きを考えた。

しかし・・・それはなぁ。
情報がないのだ。。。

InReleaseしてみたが、やはりだめだ。Status=0x31が返ってくる。
Statusの意味がわからんな。。。情報がないのだ。。。
まあ、InReleaseはInitiatorのコマンドだから動かんのが当たり前か。

もう少しFeliCaのことを強く考えながらでないとうまくいかないのだろうか。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。