OPERATING AND USER MANUAL QUARTZ series CXP
17
Control of the camera
5.
Introduction CoaXPress and GenICam
5.1
The CoaXPress interface is register-based and GenICam compliant. The former means in practice
that if a setting is changed or queried, a value is written to or obtained from a camera register with an
address. The exact address and interpretation of the value are camera specific.
GenICam (Generic Interface for Cameras) is designed to bridge this. With CoaXPress frame grabbers a
GenICam Application Programming Interface (GenAPI) is provided. This is a software layer that maps
generic programming syntax onto the camera registers, using a description XML file. The programming
syntax complies to the GenICam SFNC (Standard Features Naming Convention).
The description XML file is stored in the camera. Upon camera startup, most frame grabbers will
automatically download the description XML file from the camera.
Communication between application and camera through SFNC, GenAPI and CoaXPress is
schematically shown in figure 5.1.
Schematic view of communication between application and camera through SFNC, GenAPI and CoaXPress
Figure 5.1:
In practice the camera is controlled as follows. If a user would like to change a camera setting, for
example gain, GenICam (SFNC) prescribes a standardized syntax, currently only in C++:
if( IsAvailable(Camera.Gain) )
Camera.Gain = 150;
GenAPI can interpret such commands by the description file, and for example figure out that in order
to set the gain to ‘150’, a value of 96 (HEX) must be written to a register located at address 0x0815
(HEX). Other tasks involved might be to check in advance whether the camera possesses a Gain
feature and to check whether the new value is consistent with the allowed Gain range.
This register message is transmitted via the CoaXPress protocol and interpreted and applied inside the
camera.
Application
GenAPI
CoaXPress
Camera
Description
XML
Frame Grabber manuafacturer
Adimec
Command syntax
(according to SFNC,):e.g.
Camera. Gain= 150
Interprets (SFNC)
syntax with description
file; identify associated
register address
Transmit register address
and value according to
CXP protocol
Change setting; write
value to register