2014/07/24

[nrf51]今のFeliCa Plugの動き

現在実装できているところまでのFeliCa Plugがどう動くか、簡単に説明しておこう。
ソースファイルなどは、こちら。
https://github.com/hirokuma/nrf51822_felicaplug/tree/e43719514679f0515670656c582036a15e37e2af

ドキュメントフォルダの、FeliCa Plugの説明をがんばってるつもり。
Excelファイルは、これから作ろうとしているものについてなので、astaファイルを見るのがよいだろう。
だいたい、どういうことをしないといけないかとか、どこでどのくらい待つとかがわかるんじゃなかろうか。

これを実装して、FeliCa Plugを接続し、R/Wで読み込みを行うと、こういうデータになる。

image

注意としては、IDmだろうか。
私はスイッチサイエンスさんから購入したFeliCa Plugを使っているので、FeliCa Plugへの初期パラメータはこうしている。

static const uint8_t k_InitVal[] = {
    /* 各種設定パラメータ */
    0x03,                    /* データ転送設定 : FT転送設定        */
                            /* システムコード : 0x12FC            */
    /* 最大応答時間パラメータ */
    0xff, 0xff,                /* Read w/o Enctyption  : 255        */
                            /* Write w/o Enctyption : 255        */
    /* データフォーマットコード */
    0x00, 0x1c,                /* Switch Science社から購入の場合    */
    /* ユーザー設定パラメータ */
    'k', 'u', 'm', 'a'
};

データフォーマットコードが、スイッチサイエンスさんの場合は上記の値になっている。
そして、ユーザー設定パラメータは、とりあえず「kuma」にしてみた。

だから、IDmが

  • 03 FE : FeliCa Plugの値
  • 00 1C : データフォーマットコード
  • 6B 75 6D 61 : kuma

になっている。
まあ、03 FEで始まるのはFeliCa Plugだけということになってるから、気になる人はユーザー設定パラメータはランダム値にしておいてもいいかも。

Read w/o Encryptionで返す値は、無条件で0x00~0x0Fまでになっている。
これはfelica_plug.cのrecv_rwe()を見てもらえばわかるだろう。
Write w/o Encryptionしても、かならずステータスフラグは正常を返すようにしている。同じくrecv_wwe()。

ここまで動けば、あとはBLEを使うだけだ。
さてさて、どう料理しましょうかね。

0 件のコメント:

コメントを投稿

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