Pseudo-asynchronous reading, Continuous reading, Return on n tags found – ThingMagic Mercury API v1.23.0 User Manual

Page 27: Return on n tags found 27

Advertising
background image

Reading Tags - The Basics

Level 1 API

27

Note

The C# version of this API uses the native delegate/event mechanism with
delegates called

TagReadHandler and ReadExceptionHandler and

events named

TagRead and ReadException, rather than the Java-style

listener mechanism.

Pseudo-Asynchronous Reading

In pseudo-asynchronous reading a synchronous search is looped over and over again
running indefinitely in a separate thread. Tags are off-loaded once every synchronous
search is completed. i.e., read listeners will be called once for every “/reader/read/
asyncOnTime” milliseconds. On all readers except the M6, M6e and Micro pseudo-
asynchronous reading is the only implementation used for background reading
operations.

Continuous Reading

The M6, M6e and Micro also support true continuous reading which allows for 100% read
duty cycle - with the exception of brief pauses during RF frequency hops. Continuous
reading is enabled when

/reader/read/asyncOffTime

is set to zero. In this mode tags are

streamed to the host processor as they are read.

Note

In continuous mode there is currently no on-reader de-duplication, every tag
read will result in a tagread event being raised. This can result in a lot of
communication and tag handling overhead which the host processor must
be able to handle it. Consider the details on setting Gen2 Session and
Target values, as described in

How UHF RFID Works (Gen2)

, to decrease the

frequency of tag replies to inventory operations as a way to decrease traffic.

Return on N Tags Found

In addition to reading for the specified timeout or asyncOnTime period and returning all
the tags found during that period, it is also possible to return immediately (more
specifically, the time granularity is one Gen2 inventory round) upon reading a specified
number of tags.

The behavior is invoked by creating a

StopTriggerReadPlan

with the desired number of

tags and setting it as the active

/reader/read/plan

.

For optimum performance it is recommended to use a StaticQ setting for

/reader/gen2/q

appropriate for the specified value of N, where:

Advertising