w w w . u q d e v i c e s . c o m
L o g i c 1 6 U s e r M a n u a l
| 44
TimeTag Mode
In this mode, the internal ram is used as a fifo. The tags are transmitted to the computer by a background
thread. With this configuration, very high transmission rates can be achieved. At an internal fifo overflow,
the
DataOverflow
flag is set and the error led on the front panel is lit.
StartTimetags()
This function puts the device into time-tag readout mode. The time tags are written into the internal fifo.
The background thread starts to read the time tags into the RAM of the computer.
Syntax:
C#
myTagger.StartTimetags()
C++
timetag.StartTimetags()
StopTimetags()
The tags are no longer written into internal fifo. The background thread is stopped.
Syntax:
C#
myTagger.StopTimetags()
C++
timetag.StopTimetags()
ReadTags(channel, times)
This returns value: size of arrays. Time[n] is the absolute time in internal units (78.125 or 156.25 ps).
Channel [n] is the number of the corresponding input. The first input is number 1. The array is sorted by
time. When two tags occur at the same time, then the tag with the smaller channel number is transmitted
first. The arrays can be used until the next call of ReadTags. When the data is needed for a longer time it
has to be copied to a different array. The array is allocated by the driver software and returned to user
code with an out parameter. Returning with an out parameter is similar to returning values by a pointer
or reference in C / C++;
The “virtual channel” 30 is used for the overflow tag. The overflow tag is sent whenever a data overflow
error occurs. The data overflow tag indicates, that some data is missing at this point.
When there are no tags present, this function may wait up to 300 ms before it returns a zero result. When
you don’t want this behavior, use TagsPresent() to check availability first.
Syntax:
C#
myTagger.ReadTags(out byte[] channels, out long[] times);
C++
timetag.ReadTags(
unsigned char * channels, long long *times
)