Exemplo n.º 1
0
 public static void Poll(string port)
 {
     using (var emCardEncoder = new EMCardEncoder())
     {
         emCardEncoder.Open(port);
         while (true)
         {
             emCardEncoder.SendRead();
             Thread.Sleep(50);
             byte[] ack = emCardEncoder.ReadMessage();
             if ((ack != null) && (ack.Length > 0))
             {
                 System.Console.WriteLine(EMCardEncoder.FormatBytes(ack));
             }
         }
     }
 }
Exemplo n.º 2
0
 public static void Hello(string port)
 {
     using (var emCardEncoder = new EMCardEncoder())
     {
         emCardEncoder.Open(port);
         emCardEncoder.SendHello();
         Thread.Sleep(50);
         byte[] ack = emCardEncoder.ReadMessage();
         if ((ack != null) && (ack.Length > 0))
         {
             System.Console.WriteLine(EMCardEncoder.FormatBytes(ack));
         }
         else if ((ack != null) && (ack.Length == 0))
         {
             System.Console.WriteLine("ACK");
         }
     }
 }
Exemplo n.º 3
0
        public static void Write(string port, string data, bool wait, bool writeProtect)
        {
            byte[] dataBytes = EMCardEncoder.ReadBytes(data);
            if (dataBytes == null)
            {
                throw new ArgumentNullException("data");
            }
            if (dataBytes.Length == 0)
            {
                throw new ArgumentException("Data must be provided", "data");
            }
            if (dataBytes.Length != 5)
            {
                throw new ArgumentException("Provided data must be 5 bytes", "data");
            }

            using (var emCardEncoder = new EMCardEncoder())
            {
                emCardEncoder.Open(port);

                byte[] ack = null;
                do
                {
                    emCardEncoder.SendWrite(dataBytes, writeProtect);
                    Thread.Sleep(250);
                    ack = emCardEncoder.ReadMessage();
                    Thread.Sleep(50);
                    emCardEncoder.SendRead();
                    Thread.Sleep(50);
                    ack = emCardEncoder.ReadMessage();
                }while ((!ByteArrayCompare(ack, dataBytes)) && wait);

                if ((ack != null) && (ack.Length > 0))
                {
                    System.Console.WriteLine(EMCardEncoder.FormatBytes(ack));
                }
                else if ((ack != null) && (ack.Length == 0))
                {
                    System.Console.WriteLine("ACK");
                }
            }
        }
Exemplo n.º 4
0
        private void comboBoxPortNames_SelectedIndexChanged(object sender, EventArgs e)
        {
            port = null;
            if (emCardEncoder != null)
            {
                emCardEncoder.Close();
                emCardEncoder.Dispose();
                emCardEncoder = null;
            }
            string selectedPort = comboBoxPortNames.SelectedItem as string;

            try
            {
                emCardEncoder = new EMCardEncoder();

                emCardEncoder.Open(selectedPort);
                emCardEncoder.SendHello();
                Thread.Sleep(50);
                byte[] ack = emCardEncoder.ReadMessage();
                if ((ack != null) && (ack.Length == 0))
                {
                    port = selectedPort;
                }
                else
                {
                    port = null;
                    emCardEncoder.Close();
                    emCardEncoder.Dispose();
                    emCardEncoder = null;
                }
            }
            catch (Exception)
            {
            }

            TogglePortCorrect();
        }