public IRFIDReader CreateNewReader(ReaderDetails rdr) { try { IRFIDReader rdrObject; string KeyWord = rdr.IPAddress + "::" + rdr.PortNumber; if (dicReaderObjs.ContainsKey(KeyWord)) return dicReaderObjs[KeyWord]; if (rdr.Vendor == ReaderType.MOTOROLA) rdrObject = new MotorolaFX(rdr); else rdrObject = new Impinj(rdr); dicReaderObjs.Add(KeyWord, rdrObject); return rdrObject; } catch(Exception ex) { throw ex; } }
public bool ConnectInternal(int tagReadFreqMS = 1000, bool tagReadLoop = true) { try { objReader = new MotorolaFX(mReaderInfo.IPAddress, mReaderInfo.PortNo, 0); if (objReader == null) { throw new ApplicationException("Failed to connect to reader, please check provided reader setting and actual reader connection."); } mReaderInfo.IsOnline = true; mTagReadFreqMS = tagReadFreqMS; bool result = objReader.Connect(); if (result && tagReadLoop) { LoggerAgent.Debug(GetReaderInfoString() + " Registering timer for Tag read."); tagReadPollTimer = new System.Timers.Timer(mTagReadFreqMS); tagReadPollTimer.Elapsed += TagReadPollTimer_Elapsed; tagReadPollTimer.Start(); StartTagReading(); } return result; } catch (Exception ex) { LoggerAgent.Error("ReaderId: " + mReaderInfo.ReaderId.ToString(), ex); mReaderInfo.IsOnline = false; return false; } }