朝っぱらから何を調べていることやら・・・。
ともかく、DEP調査の続きだ。
RC-S620/Sコマンドリファレンスマニュアル<簡易版>を読んでいたが、ようやく確信できた。
このドキュメントには、DEPのTarget側になるための記載はあるが、Initiator側になるための記載がない。
がーん。
NFCIP-1を読んで、そのままNFC-DEPを実装すればいいのだけど、けっこうめんどくさい。
そのめんどくさい部分を、RC-S956なんかがうまいこと吸収してくれている。
少なくとも、ドキュメントを読む限りではTargetについてはかなりやってくれる。
例えば、NFC-DEPを開始する際にはこんなやりとりをしなくてはならない。
- InitiatorがSDD
- TargetがSDDに応答
- InitiatorがATR_REQ送信(NFCID3はSDD応答の結果を使う)
- TargetがATR_RES返信(タイムアウト時間なんかを返す)
- 必要があればPSL_REQ / PSL_RES
- DEP_REQ / DEP_RESでやりとり
・DEPのPDU種別(INF, ACK, NACK, ATT, RTOX)によってパラメータが変わる
・シーケンス番号代わりにPNIを管理
あー、めんどくさい。
このめんどくさい処理の大半を、おそらくPCDチップはさばいてくれるのだ。
Targetがここまでやるのなら、Initiatorもやってくれように思う。
試しに、CommunicateThruEXでATR_REQパケットを投げたら、DEP待ちにしたTargetは反応した。
だから、素のエアプロトコルでやりとりすることは、少なくとも可能なのだ。
とはいえ・・・そこまでやるほどNFC好きじゃないのだ。
nfc-smart-tagではどうやってんのかな、と思ってソースを眺めたが、やはりTargetの部分しかなかった。
たしかに、ここの図を見ても、LLCPはTargetってことになっている。
うーん、秘密なのか-。
とはいえ、Targetがここまでやる、ということがわかったので、Initiatorも同等のことをやってくれるだろう、という期待はできる。
それに、DEPのInitiatorについては実験済みなので、できないことはないと思う。
あとは、気力だな。
0 件のコメント:
コメントを投稿
コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。
注: コメントを投稿できるのは、このブログのメンバーだけです。