RFD8500, Reading tags multiple times

M Mugileeshwaran Sugumar 4 months 1 week ago
44 0 0

Hey,
We are using this zebra SDK for xamarin for andriod in our own application,
Scenario:
im trying to read tag using RFD8500, the problem im encountering is if trigger the read event handler, my reader start to read, i have only three tags, but the reader is reading the same tag again and again, im getting 100+ tags duplicates, even i added SetUnique tag report as true,

In 123RFD, only exact three tags i found, can some one explain, what is happening there?
 i facing this error, Any help would be much appreciated!

Event handler
public delegate void TagReadHandler(TagData[] tags);
public event TagReadHandler TagRead;

//my reader configuration
mReader.Events.RemoveEventsListener(this);
mReader.Events.AddEventsListener(this);
mReader.Events.SetAttachTagDataWithReadEvent(true);
mReader.Events.SetHandheldEvent(true);
mReader.Events.SetInventoryStartEvent(true);
mReader.Events.SetInventoryStopEvent(true);
mReader.Events.SetTagReadEvent(true);
mReader.Events.SetReaderDisconnectEvent(true);
mReader.Events.SetBatteryEvent(true);
mReader.Config.SetTriggerMode(ENUM_TRIGGER_MODE.RfidMode, true);
mReader.Config.SetUniqueTagReport(true);
mReader.Config.BeeperVolume = BEEPER_VOLUME.LowBeep;
mReader.Config.StartTrigger = triggerInfo.StartTrigger;
mReader.Config.StopTrigger = triggerInfo.StopTrigger;
mReader.Config.GetDeviceStatus(true, false, false);
mReader.Config.DPOState = DYNAMIC_POWER_OPTIMIZATION.Disable;
int MAX_POWER = mReader.ReaderCapabilities.GetTransmitPowerLevelValues().Length - 1;

config.TransmitPowerIndex = 300;

config.SetrfModeTableIndex(0);
config.Tari = 0;
mReader.Config.Antennas.SetAntennaRfConfig(1, config);

Antennas.SingulationControl s1_singulationControl = mReader.Config.Antennas.GetSingulationControl(1);
s1_singulationControl.Session = SESSION.SessionS0;
s1_singulationControl.TagPopulation = 30;
s1_singulationControl.Action.InventoryState = INVENTORY_STATE.InventoryStateA;
s1_singulationControl.Action.SLFlag = SL_FLAG.SlAll;
mReader.Config.Antennas.SetSingulationControl(1, s1_singulationControl);
mReader.Actions.PreFilters.DeleteAll();

 

//my EventReadNotify invoking my tags
public void EventReadNotify(RfidReadEvents readEvent)
{
   try
   {
       TagData[] myTags = mReader.Actions.GetReadTags(1000);
       if (myTags != null)
       {
           ThreadPool.QueueUserWorkItem(o => TagRead?.Invoke(myTags));
       }
   }
   catch(Exception ex)
   {

   }
}


 

CONTACT
Can’t find what you’re looking for?