Update... did some more debugging. The reader is generated events ok. The issue seems to be something else.
I have 3 tags, each with the following serial #s in memory:
If I put TEST12 & T_CFCPX on the reader together both events are generated. Then when I place TEST34 on the reader the event isn’t generated. Likewise when I place TEST34 & T_CFCPX both events are generated. When TEST12 goes on there it’s not.
If I place TEST12, then TEST34 on the reader only TEST12 is generated. If I take TEST12 off nothing happens. When I take TEST34 off, then the event for TEST12 lost is generated even though I just removed TEST34.
Now if I read the tag ID, the full ID is there. But it seems clear that the EMDK seems to think TEST12 and TEST34 are the same tag. I’m really hoping this is a reader configuration issue and not a bug in the EMDK. Any thoughts?
Here is the tag DB with all 3 tags on there. Only tag events for T_CFCPX and TEST34 were generated by the EMDK, even though the reader sees all 3
First Read Time
Last Read Time
Upon further testing it seems that the issue is random. Regardless of the mixture of serial numbers not all events were picked up.
I haven't found a resolution to this issue, but I have a workaround:
Originally I was polling tags using PerformInventory and attaching events per the code above.
In the new code I use PerformSequence instead:
TagAccess.Sequence.Operation op1 = new TagAccess.Sequence.Operation();
op1.AccessOperationCode = ACCESS_OPERATION_CODE.ACCESS_OPERATION_READ;
op1.ReadAccessParams.MemoryBank = MEMORY_BANK.MEMORY_BANK_USER;
op1.ReadAccessParams.ByteCount = 0;
op1.ReadAccessParams.ByteOffset = 0;
op1.ReadAccessParams.AccessPassword = 0;
newZebraReader.Actions.TagAccess.OperationSequence.PerformSequence(null, null, null);
This will generate continuous read events for all tags. Note that TriggerInfo is null - if that's set up then I run into the same issue I had before. Unfortunately the event generated has no info attached, so I don't have simple visible or not visible events like I'd like to have. I have to check for a tag not being visible by attaching a lost timer to it that will fire if it's not stopped by an event. Not ideal but it works for now.