2011/02/26

[nfc]RC-S620/S用のクラスを作ろう

解説コーナーではありません。。。
自分で「やろう」という気持ちを沸き立たせるためのものです。


今、自分のところでは、SONYさんのArduino向けライブラリを使っている。
ダウンロードするときに「改変する権利がある」と書いてあったので、Android向けに変更して公開してもいいんだろうなー、と思っていたが、それは別の話ということを教えてもらった。
公開しなくてよかった。。。

とはいえ、そこが公開できないということは、全体的に公開できないのと同じだ。
いや、そもそも公開していいんだかどうだか・・・。

そんなこんな思っていたら、最近のInterface誌には、RC-S620/Sの記事が載っていた。
RC-S620/Sへのパケット構成や、初期化コマンド、ポーリングコマンドまで出ている!
パケットの構成と、初期化の仕方が公開できるのであれば、あとはPN533のドキュメントを見ながらやっているので、RC-S620/Sの仕様書入手条件である「仕様書に書いてあることはネットとかに書いたらいかんよ」という制約から逃れることができる。

できる・・・よな?
まあ、当たり障りのないところでやってみよう。
怒られたら、そこは消そう。

基本的に、RC-S620/Sを買ったけどどうしよう、という人向け、くらいのもので。


まず、RC-S620/Sの「/S」は、シリアルのSだ。
だから、通信にはシリアルポートが必要となる。

なので、書き込みと読み込みのAPIを作ろう。
これは公開しなくてもよいだろう。
内部で使う以外のことは、まずない。

Linuxで普通に開くとブロックするから、NONブロック対応しておいた方がよかろう。
このNONブロック対応は、キャンセルできるようにするための意味が強い。
たぶん、たぶんだが、通常でアクセスしてデータ待ちになったとしても、そのコンテキストが止まるだけで、OSとしては問題なかろうと思うのだ。
マルチスレッドが使えるシステムなら、何もしなくていいかも。

でもまあ、世の中そんなにいいシステムばかりでもないから、コールバックできるようにもしておいた方がいいんだろうなぁ。


パケットのことは、いろいろなサイトに書かれているので、いまさらここで書くことはあるまい。
RC-S620/SへのパケットのことはInterface誌に書かれているし、カードへのパケットについてはISOなどに書かれている。

初めての方は、まずはパケットフォーマットに従ってRC-S620/Sへ書き込んでみてほしい。
反応があるか、エラーが返るか、反応がないか。
そのどれかであろう。

配線さえ間違えていなければ、恐れることはないのだ!

0 件のコメント:

コメントを投稿

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