Exemple #1
0
        private string WaitForNtagHere(ArduinoDriver arduino)
        {
            var result = string.Empty;

            try
            {
                stopwatch.Restart();
                do
                {
                    result = arduino.SendCommand(ArduinoCommands.NTAG_HERE);

                    Thread.Sleep(100);

                    if (stopwatch.ElapsedMilliseconds > _timeOut)
                    {
                        stopwatch.Stop();
                    }

                    if (!stopwatch.IsRunning)
                    {
                        result = ArduinoCommands.TIMEOUT;
                    }
                } while (result == ArduinoCommands.NTAG_NOT_FOUND);
            }
            catch (Exception ex)
            {
                throw;
            }
            return(result);
        }
Exemple #2
0
 public ITag ReadNtag()
 {
     using (var arduino = new ArduinoDriver(_comPort, _baudRate, _timeOut))
     {
         return(WaitRead(arduino));
     }
 }
Exemple #3
0
 public bool CheckDevice()
 {
     using (var arduino = new ArduinoDriver(_comPort, _baudRate, _timeOut))
     {
         return(arduino.SendCommand(ArduinoCommands.LEGO_ARDUINO) == "MFRC522_V001");
     }
 }
Exemple #4
0
        private ITag WaitRead(ArduinoDriver arduino)
        {
            var output = WaitForNtagHere(arduino);

            if (output == ArduinoCommands.NTAG_FOUND)
            {
                return(NtagRead(arduino));
            }
            return((ITag)TagFactory.CreateTag());
        }
Exemple #5
0
        private ITag NtagRead(ArduinoDriver arduino)
        {
            var result = string.Empty;

            result = arduino.SendCommand(ArduinoCommands.NTAG_FULL);
            string[] SplitResult = result.Split('/', ' ');

            if (SplitResult.Length > 1)
            {
                Console.WriteLine(result);
                return(WaitRead(arduino));
            }

            return(TagFactory.CreateTag(result));
        }