![Euresys Coaxlink Series Скачать руководство пользователя страница 10](http://html1.mh-extra.com/html/euresys/coaxlink-series/coaxlink-series_programmers-manual_2436137010.webp)
10
3.4. Data stream module
The data stream module handles
. During acquisition runs, images are sent from the
camera to the frame grabber, which transfers them to memory buffers allocated on the host
computer. The data stream module is where image acquisition occurs. It is where most of the
functionality resides.
Buffer handling is very flexible. Any number of buffers can be used. Buffers are either in the input
queue, in the output queue, or temporarily unqueued. The application decides when empty
buffers are queued (to the input FIFO), and when filled buffers are popped (from the output
FIFO).
3.5. Buffer module
The buffer module simply represents a memory buffer given to a parent data stream. Useful
metadata is associated to buffers. This includes the image width, height, pixel format,
timestamp... These are retrieved through
info commands
(see
BUFFER_INFO_CMD_LIST
in the
standard
).
The buffer module is the only module that doesn't have read/write port functions; it doesn't
have GenApi features.
3.6. GenTL API
GenTL makes it possible to detect, control and use all camera and frame grabber features, but
its usage is tedious:
n
cti
files must be dynamically loaded, and the functions they export must be accessed
through pointers.
n
Functions return an error code that must be checked by the application.
n
Most functions read from/write to untyped buffers: the application must determine the
required buffer size, allocate a temporary buffer, convert data to/from this buffer, and finally
release the buffer memory.
Instead of using the GenTL API directly, we recommend using either:
n
the
Euresys::EGenTL
library which deals with these complications so that the user doesn't
have to;
n
or the
Euresys::EGrabber
library which provides a high-level, easy-to-use interface.
Coaxlink
Programmer Guide
3. GenTL