FX9500 EMDK Capturing TAG_NOT_VISIBLE status

I'm currently using the EMDK with an FX9500 and FX7500 to consume RFID events and publish the data to MQTT.


I'm capturing the event using the readnotifyhandler like so:

newZebraReader.Events.ReadNotify += new Events.ReadNotifyHandler(Events_ReadNotify);


Then in the method I have:

Symbol.RFID3.TagData tData = e.ReadEventData.TagData;


And I determine whether the event was visible or not visible:

if (tData.TagEvent == TAG_EVENT.TAG_NOT_VISIBLE)

     //code if the tag was lost


     //code if the tag was observed


This seems to work about 60-70% of the time. But I run into a lot of cases where tags are observed or lost and the event doesn't fire. Any help would be appreciated.


Also note that this is my trigger info:

            TriggerInfo tI = new TriggerInfo();         

            if (newZebraReader.ReaderCapabilities.IsTagEventReportingSupported)


                tI.EnableTagEventReport = true;

                tI.TagReportTrigger = 1;


                tI.TagEventReportInfo.ReportNewTagEvent = TAG_EVENT_REPORT_TRIGGER.IMMEDIATE;

                tI.TagEventReportInfo.ReportTagBackToVisibilityEvent = TAG_EVENT_REPORT_TRIGGER.IMMEDIATE;

                tI.TagEventReportInfo.ReportTagInvisibleEvent = TAG_EVENT_REPORT_TRIGGER.IMMEDIATE;


            return tI;