![Euresys Coaxlink Programmer'S Manual Download Page 11](http://html1.mh-extra.com/html/euresys/coaxlink/coaxlink_programmers-manual_2436136011.webp)
Euresys::EGenTL
Coaxlink Programmer's Guide
static
const
uint32_t CARD_IX = 0;
static
const
uint32_t DEVICE_IX = 0;
void
showInfo() {
Euresys::EGenTL gentl;
// 2
Euresys::EGrabber<> grabber(gentl, CARD_IX, DEVICE_IX);
// 3
std::string card = grabber.getString<Euresys::InterfaceModule>(
"InterfaceID"
);
// 4
std::string dev = grabber.getString<Euresys::DeviceModule>(
"DeviceID"
);
// 5
int64_t width = grabber.getInteger<Euresys::RemoteModule>(
"Width"
);
// 6
int64_t height = grabber.getInteger<Euresys::RemoteModule>(
"Height"
);
// 6
std::cout <<
"Interface: "
<< card << std::endl;
std::cout <<
"Device: "
<< dev << std::endl;
std::cout <<
"Resolution: "
<< width <<
"x"
<< height << std::endl;
}
int
main() {
try
{
// 7
showInfo();
}
catch
(
const
std::exception &e) {
// 7
std::cout <<
"error: "
<< e.what() << std::endl;
}
}
1. Include
EGenTL.h
, which contains the definition of the
Euresys::EGenTL
class.
2. Create a
Euresys::EGenTL
object. This involves the following operations:
• locate and dynamically load the Coaxlink GenTL producer (
coaxlink.cti
);
• retrieve pointers to the functions exported by
coaxlink.cti
, and make them available via
Euresys::EGenTL
methods;
• initialize
coaxlink.cti
(this is done by calling the GenTL initialization function
GCInitLib
).
3. Open the GenTL producer. This returns a handle of type
GenTL::TL_HANDLE
. The
GenTL
namespace is defined
in the standard
GenTL header file
, which has been automatically included by
EGenTL.h
in step 1.
4. Find out how many cards are present in the system.
5. Retrieve the id of the n-th card.
6.
Euresys::EGenTL
uses exceptions to report errors, so we wrap our code inside a
try ... catch
block.
Example of program output:
[0] PC1633 - Coaxlink Quad G3 (1-camera, line-scan) - KQG00014
[1] PC1632 - Coaxlink Quad (1-camera) - KQU00031
Relevant files
include/EGenTL.h
Main header. Includes all the other headers. Defines
Euresys::EGenTL
include/GenTL_v1_5.h
Standard GenTL header. Defines standard types, functions and constants.
include/GenTL_v1_5_EuresysCustom.h
Defines Coaxlink-specific constants
11