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)
{
}
}
0 Replies