GenTL
producers configuration
The eGrabber configuration files allow to configure the internal
behavior of some functionalities. There is one configuration file per
GenTL producer: coaxlink.ini, grablink.ini,
gigelink.ini and playlink.ini. For Playlink,
there is also a file playlink.cfg, which serves to define
its data streams from eGrabber Recorder containers.
The configuration files are located in:
|
●
|
Windows: %PUBLIC%\Documents\Euresys\eGrabber
(C:\Users\Public\Documents\Euresys\eGrabber) |
|
●
|
Linux: /etc/opt/euresys/egrabber |
|
●
|
macOS: /usr/local/etc/opt/euresys/egrabber |
These files follow the INI format of key=value pairs
inside a [Section]. Depending on the producer, different
sections and parameters are available.
The values read from the configuration files can be consulted in the
System module, under the ConfigurationFile
category.
coaxlink.ini and grablink.ini
|
●
|
[Genapi]/MathParserMode: Configure the behavior of
GenApi SwissKnife parser
| ● | Standard: permissive mode that operates like the
GenICam reference implementation (left associativity) |
| ● | Strict: evaluation of the formulas must be non
ambiguous, using parentheses is required when several logical operators
are used at the same level |
|
|
●
|
[System]/InterfaceOrder: Sort the discovered interfaces
according to a specific ordering. Possible values are:
| ● | Ascending: sort interfaces based on the card
ID, in ascending order |
| ● | Descending: sort interfaces based on the card
ID, in descending order |
| ● | PciPosition: sort interfaces based on the PCI
position value |
| ● | PciSlot: sort interfaces based on the slot ID
(if available, Windows only, and subject to drivers and hardware
limitations) |
| ● | System: do not sort interfaces, use the default
ordering obtained during discovery |
|
Notes:
|
●
|
the card ID is defined as the card full name concatenated
with its serial number:
ProductCode - Name (Variant) - SerialNumber |
|
●
|
the PCI position is an internal numeric value calculated
from the bus and slot information |
Sample coaxlink.ini
[System]
InterfaceOrder=Ascending
[Genapi]
MathParserMode=Auto
gigelink.ini
|
●
|
[Genapi]/MathParserMode:
| ● | Standard: permissive mode that operates like the
GenICam reference implementation (left associativity) |
| ● | Strict: evaluation of the formulas must be non
ambiguous, using parentheses is required when several logical operators
are used at the same level |
|
|
●
|
[Interface]/CameraSubnet: restrict discovery to cameras
whose IPv4 address matches the given IPv4 subnet,
e.g. 192.168.100.0/24 for cameras ranging from
192.168.100.1 to 192.168.100.254. |
|
●
|
[Interface]/DiscoveryTimeout: define how long to wait
for a discovery reply (value in milliseconds) |
|
●
|
[Interface]/AllowBroadcastAck: devices are allowed to
send discovery replies in IPv4 broadcast packets. This helps the
discovery of cameras with misconfigured network (y/Y or
n/N) |
|
●
|
[Stream]/UseFilterDriver: enable the use of
gigelink.sys filter driver for GVSP protocol processing
(y/Y or n/N) |
|
●
|
[Stream]/PacketResend: enable packet retransmission
with the given maximum number of requests per block (n/N
for disabled, an integer value otherwise) |
|
●
|
[Stream]/GenDCExtraPackets: extra packets to use in
GenDC container transmission (integer value) |
|
●
|
[Stream]/RdmaConnectionTimeout: define how long to wait
for device acknowledge during NetworkDirect+InfiniBand connection
establishment (value in milliseconds) |
|
●
|
[Stream]/ForceRdma: try to create a RDMA stream in the
given list of IP addresses (a comma-separated list of IP addresses) |
Sample gigelink.ini
[Genapi]
MathParserMode=Auto
[Interface]
CameraSubnet=169.254.0.0/16
DiscoveryTimeout=2500
AllowBroadcastAck=n
[Stream]
UseFilterDriver=y
PacketResend=5
GenDCExtraPackets=2
RdmaConnectionTimeout=3500
ForceRdma=169.254.0.3,169.254.0.4
playlink.ini
|
●
|
[Genapi]/MathParserMode: Configure the behavior of
GenApi SwissKnife parser
| ● | Standard: permissive mode that operates like the
GenICam reference implementation (left associativity) |
| ● | Strict: evaluation of the formulas must be non
ambiguous, using parentheses is required when several logical operators
are used at the same level |
|
Sample playlink.ini
[Genapi]
MathParserMode=Auto
playlink.cfg
# Playlink configuration file
# ---------------------------
#
# Playlink (playlink.cti) is a Euresys GenTL producer that turns Euresys Recorder
# containers into GenTL data streams.
#
# This config file allows you to configure playlink.cti.
# Each line starting with an '#' is a comment line and is ignored.
# Blank lines are ignored too.
# Otherwise, each line maps a GenTL data stream to a Euresys Recorder container
# path.
# The GenTL hierarchy of the data stream is explicitly defined by the Interface,
# Device and Stream module IDs.
# The next line shows the syntax used to declare and configure the GenTL modules:
# /{Interface name}/Device{id}/Stream0 = {Path to Euresys Recorder container}
# - {Interface name} is to be replaced with the desired name.
# Valid characters for the name of the interface are:
# + Latin letters (no diacritics)
# + Digits
# + The following special characters: '+', '-', '(', ')', ' '
# - {id} is to be replaced with the id of the device (only digits are allowed)
# - {Path to Euresys Recorder container} is to be replaced with the actual path
# to the Euresys Recorder container.
# The path may contain any character except these ones:
# + Question mark: '?'
# + Carriage return: '\r'
# + Line feed: '\n'
# An absolute path is expected.
# - Since the stream name is fixed, there can only be one stream per device.
# For example:
# /My Interface/Device0/Stream0 = E:\Containers\foo
# Will create an interface named "My Interface", a device named "Device0" and
# a datastream named "Stream0". The created stream will output buffers from
# the Euresys Recorder container at "E:\Containers\foo"
# An interface can contain one or more devices, e.g.:
# /My (Interface)/Device42/Stream0=/mnt/containers/bar
# /My (Interface)/Device666/Stream0 = /mnt/containers/baz
# Each configuration line can also declare key-value attributes that further configure
# the device.
# Attributes are introduced by a '?' right after the path.
# Each attribute is a key-value pair of the form {key}={value}.
# Attributes are separated by a '&'.
# Here is an example:
# /Iface/Device0/Stream0 = C:/con/te/partiro?PlaybackLoop=true&PlaybackFrameRateMode=auto&PlaybackFrameRateMultiplier=2
# There exists many attributes and they expect values of different types:
# "PlaybackLoop": {true, false}
# "PlaybackMode": {container, chapter}
# "PlaybackFrameRateMode": {auto, fixed}
# "PlaybackFixedFrameRate": float
# "PlaybackFrameRateMultiplier": float
# "RewindOnStop": {true, false}