6
2. GenApi
addresses the problem of configuring cameras. The way this is achieved is generic, and
applies to different kinds of devices, including frame grabbers. In this chapter, everything we say
about cameras also applies to frame grabbers.
GenApi requires two things to work: a
register description
, and a
GenApi implementation
.
Register description
A
register description
is an XML file that can be thought of as a computer-readable datasheet of
the camera. It defines camera settings (such as
PixelFormat
and
TriggerSource
), and
instructions on how to configure them (e.g., to set
ExposureMode
to
Timed
, write value
0x12
to
register
0xE0140
). It can also contain camera documentation.
GenApi implementation
A
GenApi implementation
is a software module that can read and interpret register description
files.
The
provides a
, but it is fairly difficult to use, and logging is
very poor. Instead, we recommend using the Euresys implementation bundled with the Coaxlink
software package. This implementation also allows writing powerful
.
Features
What the user gets from GenApi is a bunch of named
features
, organized in categories.
Set/get features
Set/get features are simple settings (called
parameters
in
), and can be of different
types:
n
integer (e.g.,
Width
)
n
float (e.g.,
AcquisitionFrameRate
)
n
enumeration (e.g.,
PixelFormat
)
n
boolean (e.g.,
LUTEnable
)
n
string (e.g.,
DeviceVendorName
)
The value of features can be retrieved/modified using
get/set
functions. Some features are read-
only and some are write-only, but most allow read/write access.
Coaxlink
Programmer Guide
2. GenApi