Example #1
0
        private byte[] getWriteBuff(TagParameter param)
        {
            byte[] array = EVB.ConvertToEvb(param.Ptr);
            if (param.TagData.Length % 2 == 1)
            {
                byte[] array2 = new byte[param.TagData.Length + 1];
                Array.Copy(param.TagData, 0, array2, 0, array2.Length - 1);
                param.TagData = array2;
            }
            byte[] array3 = new byte[1 + array.Length + param.TagData.Length];
            int    num    = 0;

            Array.Copy(array, 0, array3, num, array.Length);
            num        += array.Length;
            array3[num] = (byte)(param.TagData.Length / 2);
            num++;
            Array.Copy(param.TagData, 0, array3, num, param.TagData.Length);
            return(array3);
        }
Example #2
0
        internal void setReadMsgBody(ReadTagParameter param)
        {
            List <byte> list = new List <byte>();

            list.Add((byte)(param.IsLoop ? 1 : 0));
            list.AddRange(param.AccessPassword);
            list.Add((byte)(param.IsReturnEPC ? 1 : 0));
            if (param.IsReturnTID)
            {
                list.AddRange(new byte[3]
                {
                    0,
                    6,
                    1
                });
            }
            else
            {
                list.AddRange(new byte[3]);
            }
            list.AddRange(EVB.ConvertToEvb(param.UserPtr));
            list.Add(param.UserLen);
            if (param.IsReturnReserved)
            {
                list.AddRange(new byte[2]
                {
                    0,
                    4
                });
            }
            else
            {
                list.AddRange(new byte[2]);
            }
            list.Add((byte)(param.ReadCount >> 8));
            list.Add((byte)(param.ReadCount & 0xFF));
            list.Add((byte)(param.TotalReadTime >> 8));
            list.Add((byte)(param.TotalReadTime & 0xFF));
            msgBody = list.ToArray();
        }