Skip to content
This repository has been archived by the owner on Jun 8, 2022. It is now read-only.

Multiple readers with incorrect corresponding UID #31

Open
kaichunchou opened this issue Jun 17, 2020 · 2 comments
Open

Multiple readers with incorrect corresponding UID #31

kaichunchou opened this issue Jun 17, 2020 · 2 comments

Comments

@kaichunchou
Copy link

kaichunchou commented Jun 17, 2020

I have two tags and two readers. Everything looks good when I put two tags on two different readers.

However, when I am trying to move tag#2 away from reader#2 to a distance that the reading is not stable. The UID reading( getInventoryon() ) of tag#2 will toggle randomly between No Card, tag#2 uid, and "tag#1" id. Tag#1 is certainly far away from the reader#2. What might be the cause to the problem?

With only one reader and one tag, if I try to move the tag away from the reader, the reading would toggle randomly between No Card, tag id. This makes sense to me and is the behavior I expect.

With 6 readers and 6 tags, when I try to move tag#3 away, the following readings would appear randomly:

1(stable readings when every tag is placed correctly: tag#1, tag#2, tag#3, tag#4, tag#5, tag#6
2(move tag#3 far away from the reader): tag#1, tag#2, NoCard, tag#4, tag#5, tag#6
3~ (move tag#3 away from the reader to a distance that the reading is unstable.
3: tag#1, tag#2, tag#3, tag#4, tag#5, tag#6
4: tag#1, tag#2, NoCard, tag#4, tag#5, tag#6
5: tag#1, tag#2, tag#2, tag#4, tag#5, tag#6
6: tag#1, tag#2, NoCard, tag#2, tag#5, tag#6
7: tag#1, tag#2, NoCard, tag#4, tag#5, tag#5

It seems like sometimes the reader would read the previous value when a tag is placed at an awkward distance.

A quick workaround is to call getInventory() twice for each reader. This made the reading more stable.

@bodomliu
Copy link

I have the same problem.

@kaichunchou
Copy link
Author

kaichunchou commented Oct 13, 2021

@bodomliu The buffer is static being shared by all class instances. The workaround I did is to reset the buffer manually in readData function. This makes the false readings stick to its reader.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants