Ejemplo n.º 1
0
        //[NfcStarterKitWrap]サービスコード読み込み
        private static bool Read(nfc mFNS, ref byte[] buf, byte block_num, byte[] svc)
        {
            UInt16[] blocks = new UInt16[1];
            blocks[0] = block_num;
            bool b = mFNS.NfcF_Read(ref buf, blocks, 1, svc);

            return(b);
        }
Ejemplo n.º 2
0
        static void Main(string[] args)
        {
            #region FelicaLib
            try
            {
                Console.WriteLine("FelicaLib");
                using (FelicaLib.Felica f = new FelicaLib.Felica())
                {
                    PrintSuicaNo(f);
                }
                Console.WriteLine("\n\n");
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            #endregion

            #region NfcStarterKitWrap
            try
            {
                Console.WriteLine("NfcStarterKitWrap");
                nfc        mFNS        = new nfc();
                FelicaLite mLite       = null;
                byte[]     mWriteValue = new byte[nfc.BLOCK_SIZE];
                if (!mFNS.init())
                {
                    Console.WriteLine("SDK for NFC Starter Kit fail");
                    Environment.Exit(0);
                    return;
                }

                mLite = new FelicaLite(mFNS);

                bool ret;
                ret = mFNS.pollingF();
                if (!ret)
                {
                    Console.WriteLine("Polling fail");
                    return;
                }
                Console.WriteLine("IDm=" + BitConverter.ToString(mFNS.NfcId));

                // 読み込み
                ReadSuica(mFNS);

                mFNS.unpoll();
                Console.WriteLine("\n\n");
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            #endregion

            Console.Read();
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Assembles the map parts
        /// </summary>x
        private void AssembleMap()
        {
            this.zoomfactor   = 6;
            this.minimx       = 0;
            this.minimy       = 0;
            this.mapx         = 0;
            this.mapy         = 0;
            this.error        = false;
            this.statustext   = "";
            this.loaded_parts = "";

            this.JPG = new MAPJPG(nfapath);
            this.NFA = new nfa(nfapath);
            this.NFC = new nfc(nfapath, this.strings);
            this.NFE = new nfe(nfapath);
            this.NFS = new nfs(nfapath, this.strings);
            this.QPF = new qpf(nfapath, this.strings);
            this.NFM = new nfm(nfapath);

            AssembleMap_image();
            CheckMapForErrors();
        }
Ejemplo n.º 4
0
        //[NfcStarterKitWrap]Suica読み込み
        private static void ReadSuica(nfc mFNS)
        {
            int    num  = 1; //最大20ブロック[0~19]
            string _str = string.Empty;

            for (int i = 0; i < num; i++)
            {
                byte[] buf = new byte[nfc.BLOCK_SIZE];
                var    b   = Read(mFNS, ref buf, (byte)i, new byte[2] {
                    0x0F, 0x09
                });
                if (!b)
                {
                    break;
                }
                Console.WriteLine("Suica 乗降履歴情報 [" + i + "]  " + BitConverter.ToString(buf));
                _str += "[" + i + "]  <090F>" + BitConverter.ToString(buf) + "\n";

                //利用種別


                //年月日
                byte[] v2   = new byte[] { buf[5], buf[4] };
                var    val2 = BitConverter.ToInt16(v2, 0);

                //情報
                byte[] v3_1   = new byte[] { buf[6], buf[7] };
                var    val3_1 = BitConverter.ToInt16(v3_1, 0);
                byte[] v3_2   = new byte[] { buf[8], buf[9] };
                var    val3_2 = BitConverter.ToInt16(v3_2, 0);

                //残高
                byte[] v4   = new byte[] { buf[10], buf[11] };
                var    val4 = BitConverter.ToInt16(v4, 0);

                //履歴連番
                byte[] v1   = new byte[] { buf[13], buf[14] };
                var    val1 = BitConverter.ToInt16(v4, 0);

                Console.WriteLine("機器種別  :" + buf[0].ToString("x2"));
                Console.WriteLine("利用種別  :" + (buf[1] >> 7) + "  " + (buf[1] & 0x7F));
                Console.WriteLine("決済種別  :" + buf[2].ToString("x2"));
                Console.WriteLine("入出場種別:" + buf[3].ToString("x2"));
                Console.WriteLine("年月日   :20" + (val2 >> 9) + "年" + ((val2 & 0x01FF) >> 5) + "月" + (val2 & 0x001F) + "日");
                Console.WriteLine("情報    :" + val3_1 + "  " + val3_2);
                Console.WriteLine("残額    :" + val4);
                Console.WriteLine("?     :" + buf[12].ToString("x2"));
                Console.WriteLine("履歴連番  :" + val1);
                Console.WriteLine("地域コード:" + buf[15].ToString("x2"));
                _str += "機器種別  :" + buf[0].ToString("x2") + "\n";
                _str += "利用種別  :" + (buf[1] >> 7) + "  " + (buf[1] & 0x7F) + "\n";
                _str += "決済種別  :" + buf[2].ToString("x2") + "\n";
                _str += "入出場種別:" + buf[3].ToString("x2") + "\n";
                _str += "年月日   :20" + (val2 >> 9) + "年" + ((val2 & 0x01FF) >> 5) + "月" + (val2 & 0x001F) + "日\n";
                _str += "情報    :" + val3_1 + "  " + val3_2 + "\n";
                _str += "残額    :" + val4 + "\n";
                _str += "?     :" + buf[12].ToString("x2") + "\n";
                _str += "履歴連番  :" + val1 + "\n";
                _str += "地域コード:" + buf[15].ToString("x2") + "\n";
            }
            Console.WriteLine(_str);
        }