Instruction manual

some kind they must only belong to the same 'family' like , , , and .
Because the grabbers of a family may have different hardware resources the function of a few API calls
might differ slightly. Please referer to the software reference.
Using grabbers of different families is more complicated because two libraries have to be used. This leads
to a collision of the function names in the libraries. So simple linking of both libraries to an application
does not work.Bit depending on the operation system the are possibilites, like dynamical linking, to
overcome this problem.
5.1.11. Error Handling
In case of failure of a function call, the function el_GetErrorCode can be used to get information of the
cause. A list of error codes follows later in this chapter.
5.1.12. Downloading the software
Please download our software from the web site ELTEC Elektronik AG [http://www.eltec.de] selecting
support/drivers and updates or ask our support ( <support@eltec.de> ).
5.1.13. Image Sequences - Program flow
Image sequences are a very versatile tool for solving some common problems in imaging:
Functional description:
An image sequence consists of a n frames. Each frame is located at a contiguous memory region, the
different frames are not allocated contiguously, however. A single snapshot means that a complete
sequence of frames is acquired without any CPU intervention. After the snapshot all frames of the
sequence are present in memory. Continuous acquisition (live) means that after the last frame of the
sequence is in memory the acquisition starts again with the first frame.
Swing buffers:
Swing buffers are used for continuous acquisition where one image buffer is being acquired into and the
other is being evaluated; after one frame time the role of the two buffers is interchanged. The most
common method is to implement them with interrupts. However, image sequences can be used here,
also. A short sequence of 2..4 frames with continuous acquisition makes a first-class swing (ping-pong)
buffer.
How far has the acquisition progressed?
Since the acquisition is done completely in hardware, the CPU has no implicit knowledge about which
frame is ready for image processing: It can be inquired by el_TestFrameCount. Another method is to write
a distinct pattern (0xFF00FF00 e.g.) into frame memory and to test if it has been overwritten by the
acquisition process.
SAMPLE:
// This sample shows the overall sequence of settings things up and acquiring a sequence.
int SizeX=748;
int SizeY=576;
int NumberOfFrames = 100; /* This needs more than 40 MB of main memory */
BoardId = el_OpenHW( 0, 0); /* Get board handle */
el_InitContext( BoardId, SetupFileName);
/* Initialize library software structures */
50