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); }
public ITag ReadNtag() { using (var arduino = new ArduinoDriver(_comPort, _baudRate, _timeOut)) { return(WaitRead(arduino)); } }
public bool CheckDevice() { using (var arduino = new ArduinoDriver(_comPort, _baudRate, _timeOut)) { return(arduino.SendCommand(ArduinoCommands.LEGO_ARDUINO) == "MFRC522_V001"); } }
private ITag WaitRead(ArduinoDriver arduino) { var output = WaitForNtagHere(arduino); if (output == ArduinoCommands.NTAG_FOUND) { return(NtagRead(arduino)); } return((ITag)TagFactory.CreateTag()); }
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)); }