Programmer's Guide
The Application Programming Interface (API) for Coaxlink cards is based on GenICam.
The goal of GenICam is to provide a standardized, uniform programming interface for using cameras and frame grabbers based on different physical interfaces (CoaXPress, GigE Vision, etc.) or from different vendors.
GenICam is a set of EMVA standards (GenApi and GenTL), as well as related conventions for naming things (the SFNC for standard features, the PFNC for pixel formats).
● | GenApi is about description. At the core of GenApi is the concept of register description. Register descriptions are provided in the form of XML files. They map low-level hardware registers to high-level features. GenApi allows applications to detect, configure and use the features of cameras and frame grabbers in a uniform and consistent way. |
● | GenTL is about data transport. The TL suffix stands for Transport Layer. The GenTL standard defines a set of C functions and data types for enumerating, configuring, and grabbing images from cameras and frame grabbers. This API is defined by a C header file. Frame grabber vendors provide libraries that implement this API (i.e., libraries that export the functions declared in the standard header file). These libraries are referred to as GenTL producers, or Common Transport Interfaces (CTI) and use the cti file extension. The GenTL producer for Coaxlink cards is coaxlink.cti . |
This document is meant to be read from beginning to end. Each chapter and section builds upon the preceding ones. If you skip parts of the text, some of the explanations and examples may seem cryptic. If that happens, you should go back and read the parts that you've skipped over.