Hi,
I have some trouble getting this use case working on. I'd like to perform an Inventory, reading multiple memory banks and display them to the end user.
In order to do that, I use an Access Sequence with multiple READ operations (one on each bank), following the developer guide. However, when I try to retrieve the readresult:
for (int i = 0; i nRead; i++)
reader.Actions.getReadTags(100).get(i)
I only get the latest read in the sequence. Is there a way to get all of them? Or is it a limitation of the SDK?
Any hint is welcome,
Regards,
Jean-Guillaume
2 Replies
Yes indeed, this works.
I was reading n tags (with n being the number of memory bank I need to access), and not 100 like in your answer For some reason I am getting duplicates in the getReadTags so I was effectively reading the same data. I had to go further in the array.
I am curious however, as to why 100? This could lead to a perf problem because of the loop. Especially of you need to apply some logic other than printing the results to the console.
Anyway, it works ok for now.
Thank you,
i don't know if this helps, or if you have already include this part. You need to pass the inventory information to an TagData array and after that you will can access to the information of each inventoried tag :
TagData[] myTags = myReader.Actions.getReadTags(100);
if (myTags != null)
{
for (int index = 0; index < myTags.length; index++)
{
System.out.println("Tag ID " + myTags[index].getTagID());
if (myTags[index].getOpCode() ==ACCESS_OPERATION_CODE.ACCESS_OPERATION_READ &&
myTags[index].getOpStatus() ==ACCESS_OPERATION_STATUS.ACCESS_SUCCESS){
if (myTags[index].getMemoryBankData().length() > 0) {
System.out.println(" Mem Bank Data " + myTags[index].getMemoryBankData());
}
}
}
}