static void Main(string[] args) { // Program setup if (1 > args.Length) { Usage(); } for (int nextarg = 1; nextarg < args.Length; nextarg++) { string arg = args[nextarg]; if (arg.Equals("--ant")) { if (null != antennaList) { Console.WriteLine("Duplicate argument: --ant specified more than once"); Usage(); } antennaList = ParseAntennaList(args, nextarg); nextarg++; } else { Console.WriteLine("Argument {0}:\"{1}\" is not recognized", nextarg, arg); Usage(); } } try { // Create Reader object, connecting to physical device. // Wrap reader in a "using" block to get automatic // reader shutdown (using IDisposable interface). using (Reader r = Reader.Create(args[0])) { //Uncomment this line to add default transport listener. //r.Transport += r.SimpleTransportListener; r.Connect(); if (Reader.Region.UNSPEC == (Reader.Region)r.ParamGet("/reader/region/id")) { Reader.Region[] supportedRegions = (Reader.Region[])r.ParamGet("/reader/region/supportedRegions"); if (supportedRegions.Length < 1) { throw new FAULT_INVALID_REGION_Exception(); } r.ParamSet("/reader/region/id", supportedRegions[0]); } Gen2ReadAllMemoryBanks prgm = new Gen2ReadAllMemoryBanks(); prgm.reader = r; // Read Plan byte length; string model = (string)r.ParamGet("/reader/version/model"); if ((model.Equals("M6e Micro") || model.Equals("M6e Nano") || model.Equals("Sargas")) && antennaList == null) { Console.WriteLine("Module doesn't has antenna detection support please provide antenna list"); Usage(); } if ("M6e".Equals(model) || "M6e PRC".Equals(model) || "M6e JIC".Equals(model) || "M6e Micro".Equals(model) || "Mercury6".Equals(model) || "Sargas".Equals(model) || "Astra-EX".Equals(model)) { // Specifying the readLength = 0 will return full TID for any tag read in case of M6e varients, M6 and Astra-EX reader. length = 0; } else { length = 2; } prgm.PerformWriteOperation(); SimpleReadPlan srp = new SimpleReadPlan(antennaList, TagProtocol.GEN2, null, null, 1000); r.ParamSet("/reader/read/plan", srp); TagReadData[] tagReadsFilter = r.Read(500); if (tagReadsFilter.Length == 0) { Console.WriteLine("No tags found"); return; } TagFilter filter = new TagData(tagReadsFilter[0].EpcString); Console.WriteLine("Perform embedded and standalone tag operation - read only user memory without filter"); Console.WriteLine(); TagOp op = new Gen2.ReadData(Gen2.Bank.USER, 0, length); prgm.PerformReadAllMemOperation(null, op); Console.WriteLine(); Console.WriteLine("Perform embedded and standalone tag operation - read user memory, reserved memory, tid memory and epc memory without filter"); Console.WriteLine(); op = null; op = new Gen2.ReadData(Gen2.Bank.USER | Gen2.Bank.GEN2BANKUSERENABLED | Gen2.Bank.GEN2BANKRESERVEDENABLED | Gen2.Bank.GEN2BANKEPCENABLED | Gen2.Bank.GEN2BANKTIDENABLED, 0, length); prgm.PerformReadAllMemOperation(null, op); Console.WriteLine(); Console.WriteLine("Perform embedded and standalone tag operation - read only user memory with filter"); Console.WriteLine(); op = null; op = new Gen2.ReadData(Gen2.Bank.USER, 0, length); prgm.PerformReadAllMemOperation(filter, op); Console.WriteLine(); Console.WriteLine("Perform embedded and standalone tag operation - read user memory, reserved memory with filter"); Console.WriteLine(); op = null; op = new Gen2.ReadData(Gen2.Bank.USER | Gen2.Bank.GEN2BANKUSERENABLED | Gen2.Bank.GEN2BANKRESERVEDENABLED, 0, length); prgm.PerformReadAllMemOperation(filter, op); Console.WriteLine(); Console.WriteLine("Perform embedded and standalone tag operation - read user memory, reserved memory and tid memory with filter"); Console.WriteLine(); op = null; op = new Gen2.ReadData(Gen2.Bank.USER | Gen2.Bank.GEN2BANKUSERENABLED | Gen2.Bank.GEN2BANKRESERVEDENABLED | Gen2.Bank.GEN2BANKTIDENABLED, 0, length); prgm.PerformReadAllMemOperation(filter, op); Console.WriteLine(); Console.WriteLine("Perform embedded and standalone tag operation - read user memory, reserved memory, tid memory and epc memory with filter"); Console.WriteLine(); op = null; op = new Gen2.ReadData(Gen2.Bank.USER | Gen2.Bank.GEN2BANKUSERENABLED | Gen2.Bank.GEN2BANKRESERVEDENABLED | Gen2.Bank.GEN2BANKEPCENABLED | Gen2.Bank.GEN2BANKTIDENABLED, 0, length); prgm.PerformReadAllMemOperation(filter, op); Console.WriteLine(); } } catch (ReaderException re) { Console.WriteLine("Error: " + re.Message); } catch (Exception ex) { Console.WriteLine("Error: " + ex.Message); } }
static void Main(string[] args) { // Program setup if (1 != args.Length) { Console.WriteLine(String.Join("\r\n", new string[] { "Please provide reader URL, such as:", "tmr:///com4", "tmr://my-reader.example.com", })); Environment.Exit(1); } try { // Create Reader object, connecting to physical device. // Wrap reader in a "using" block to get automatic // reader shutdown (using IDisposable interface). using (Reader r = Reader.Create(args[0])) { //Uncomment this line to add default transport listener. //r.Transport += r.SimpleTransportListener; r.Connect(); if (Reader.Region.UNSPEC == (Reader.Region)r.ParamGet("/reader/region/id")) { Reader.Region[] supportedRegions = (Reader.Region[])r.ParamGet("/reader/region/supportedRegions"); if (supportedRegions.Length < 1) { throw new FAULT_INVALID_REGION_Exception(); } else { r.ParamSet("/reader/region/id", supportedRegions[0]); } } Gen2ReadAllMemoryBanks prgm = new Gen2ReadAllMemoryBanks(); prgm.reader = r; // Read Plan byte length; string model = (string)r.ParamGet("/reader/version/model"); if ("M6e".Equals(model) || "M6e PRC".Equals(model) || "M6e Micro".Equals(model) || "Mercury6".Equals(model) || "Astra-EX".Equals(model)) { // Specifying the readLength = 0 will return full TID for any tag read in case of M6e varients, M6 and Astra-EX reader. length = 0; } else { length = 2; } prgm.PerformWriteOperation(); TagReadData[] tagReadsFilter = r.Read(500); if (tagReadsFilter.Length == 0) { Console.WriteLine("No tags found"); return; } TagFilter filter = new TagData(tagReadsFilter[0].EpcString); Console.WriteLine("Perform embedded and standalone tag operation - read only user memory without filter"); Console.WriteLine(); TagOp op = new Gen2.ReadData(Gen2.Bank.USER, 0, length); prgm.PerformReadAllMemOperation(null, op); Console.WriteLine(); Console.WriteLine("Perform embedded and standalone tag operation - read user memory, reserved memory, tid memory and epc memory without filter"); Console.WriteLine(); op = null; op = new Gen2.ReadData(Gen2.Bank.USER | Gen2.Bank.GEN2BANKUSERENABLED | Gen2.Bank.GEN2BANKRESERVEDENABLED | Gen2.Bank.GEN2BANKEPCENABLED | Gen2.Bank.GEN2BANKTIDENABLED, 0, length); prgm.PerformReadAllMemOperation(null, op); Console.WriteLine(); Console.WriteLine("Perform embedded and standalone tag operation - read only user memory with filter"); Console.WriteLine(); op = null; op = new Gen2.ReadData(Gen2.Bank.USER, 0, length); prgm.PerformReadAllMemOperation(filter, op); Console.WriteLine(); Console.WriteLine("Perform embedded and standalone tag operation - read user memory, reserved memory with filter"); Console.WriteLine(); op = null; op = new Gen2.ReadData(Gen2.Bank.USER | Gen2.Bank.GEN2BANKUSERENABLED | Gen2.Bank.GEN2BANKRESERVEDENABLED, 0, length); prgm.PerformReadAllMemOperation(filter, op); Console.WriteLine(); Console.WriteLine("Perform embedded and standalone tag operation - read user memory, reserved memory and tid memory with filter"); Console.WriteLine(); op = null; op = new Gen2.ReadData(Gen2.Bank.USER | Gen2.Bank.GEN2BANKUSERENABLED | Gen2.Bank.GEN2BANKRESERVEDENABLED | Gen2.Bank.GEN2BANKTIDENABLED, 0, length); prgm.PerformReadAllMemOperation(filter, op); Console.WriteLine(); Console.WriteLine("Perform embedded and standalone tag operation - read user memory, reserved memory, tid memory and epc memory with filter"); Console.WriteLine(); op = null; op = new Gen2.ReadData(Gen2.Bank.USER | Gen2.Bank.GEN2BANKUSERENABLED | Gen2.Bank.GEN2BANKRESERVEDENABLED | Gen2.Bank.GEN2BANKEPCENABLED | Gen2.Bank.GEN2BANKTIDENABLED, 0, length); prgm.PerformReadAllMemOperation(filter, op); Console.WriteLine(); } } catch (ReaderException re) { Console.WriteLine("Error: " + re.Message); } catch (Exception ex) { Console.WriteLine("Error: " + ex.Message); } }
static void Main(string[] args) { // Program setup if (1 != args.Length) { Console.WriteLine(String.Join("\r\n", new string[] { "Please provide reader URL, such as:", "tmr:///com4", "tmr://my-reader.example.com", })); Environment.Exit(1); } try { // Create Reader object, connecting to physical device. // Wrap reader in a "using" block to get automatic // reader shutdown (using IDisposable interface). using (Reader r = Reader.Create(args[0])) { //Uncomment this line to add default transport listener. //r.Transport += r.SimpleTransportListener; r.Connect(); if (Reader.Region.UNSPEC == (Reader.Region)r.ParamGet("/reader/region/id")) { Reader.Region[] supportedRegions = (Reader.Region[])r.ParamGet("/reader/region/supportedRegions"); if (supportedRegions.Length < 1) { throw new FAULT_INVALID_REGION_Exception(); } else { r.ParamSet("/reader/region/id", supportedRegions[0]); } } Gen2ReadAllMemoryBanks prgm = new Gen2ReadAllMemoryBanks(); prgm.reader = r; // Read Plan byte length; string model = (string)r.ParamGet("/reader/version/model"); if ("M6e".Equals(model) || "M6e PRC".Equals(model) || "M6e Micro".Equals(model) || "Mercury6".Equals(model) || "Astra-EX".Equals(model)) { // Specifying the readLength = 0 will return full TID for any tag read in case of M6e varients, M6 and Astra-EX reader. length = 0; } else { length = 2; } prgm.PerformWriteOperation(); TagReadData[] tagReadsFilter = r.Read(500); if (tagReadsFilter.Length == 0) { Console.WriteLine("No tags found"); return; } TagFilter filter = new TagData(tagReadsFilter[0].EpcString); Console.WriteLine("Perform embedded and standalone tag operation - read only user memory without filter"); Console.WriteLine(); TagOp op = new Gen2.ReadData(Gen2.Bank.USER, 0, length); prgm.PerformReadAllMemOperation(null, op); Console.WriteLine(); Console.WriteLine("Perform embedded and standalone tag operation - read user memory, reserved memory, tid memory and epc memory without filter"); Console.WriteLine(); op = null; op = new Gen2.ReadData(Gen2.Bank.USER | Gen2.Bank.GEN2BANKUSERENABLED | Gen2.Bank.GEN2BANKRESERVEDENABLED | Gen2.Bank.GEN2BANKEPCENABLED | Gen2.Bank.GEN2BANKTIDENABLED, 0, length); prgm.PerformReadAllMemOperation(null, op); Console.WriteLine(); Console.WriteLine("Perform embedded and standalone tag operation - read only user memory with filter"); Console.WriteLine(); op = null; op = new Gen2.ReadData(Gen2.Bank.USER, 0, length); prgm.PerformReadAllMemOperation(filter, op); Console.WriteLine(); Console.WriteLine("Perform embedded and standalone tag operation - read user memory, reserved memory with filter"); Console.WriteLine(); op = null; op = new Gen2.ReadData(Gen2.Bank.USER | Gen2.Bank.GEN2BANKUSERENABLED | Gen2.Bank.GEN2BANKRESERVEDENABLED, 0, length); prgm.PerformReadAllMemOperation(filter, op); Console.WriteLine(); Console.WriteLine("Perform embedded and standalone tag operation - read user memory, reserved memory and tid memory with filter"); Console.WriteLine(); op = null; op = new Gen2.ReadData(Gen2.Bank.USER | Gen2.Bank.GEN2BANKUSERENABLED | Gen2.Bank.GEN2BANKRESERVEDENABLED | Gen2.Bank.GEN2BANKTIDENABLED, 0, length); prgm.PerformReadAllMemOperation(filter, op); Console.WriteLine(); Console.WriteLine("Perform embedded and standalone tag operation - read user memory, reserved memory, tid memory and epc memory with filter"); Console.WriteLine(); op = null; op = new Gen2.ReadData(Gen2.Bank.USER | Gen2.Bank.GEN2BANKUSERENABLED | Gen2.Bank.GEN2BANKRESERVEDENABLED | Gen2.Bank.GEN2BANKEPCENABLED | Gen2.Bank.GEN2BANKTIDENABLED, 0, length); prgm.PerformReadAllMemOperation(filter, op); Console.WriteLine(); } } catch (ReaderException re) { Console.WriteLine("Error: " + re.Message); } catch (Exception ex) { Console.WriteLine("Error: " + ex.Message); } }