Configuration#

Windows#

To use ItalaApi and GenApi the user should configure its tools in such a way that:

  • The include path points to the Development\include folder.

  • The linker gets the .lib files from the Development\lib folder.

Note

GenICam and GenApi libraries are linked automatically thanks to a set of macros included in the header files of the libraries themselves. There is no need to explicitly indicate the .lib files to the linker, only the folder is needed.

The Itala SDK installer creates an environment variable called ITALA_DEV which points to the Development directory. If the tools used by the user allow it, the ITALA_DEV variable can be used for convenience. The installer also adds to the system path the directories containing the binary files of ItalaApi and GenICam in both Release and Debug versions, so that they can be used out-of-the-box.

Warning

If the user prevented the Itala SDK installer from adding the DLLs to the system path, it must take care of manually placing the DLLs in the same folder of the executable linked to ItalaApi and GenICam.

ItalaApi is available to the user code by including ItalaApi\Itala.h. The full GenICam functionality can be included via GenICam.h. For example:

#include <ItalaApi/Itala.h>
#include <GenICam.h>

The current release targets Microsoft Windows machines with MSVC v140 compiler or higher. Using Microsoft Visual Studio comes naturally. All IDE versions from 2015 to 2022 integrate MSVC versions compatible with ItalaApi. The CodeSamples Visual Studio solution shows how projects can be configured to use the API. For hardware or network configuration instructions, please refer to the manual of the camera.

Example with Visual Studio 2022#

ItalaApi can be easily integrated into a project developed with Microsoft Visual Studio. The configuration can be performed in the property pages of the project, accessible in the Project -> Properties menu of the IDE. The following section shows a configuration example with Microsoft Visual Studio 2022, for 64-bit machines in Release build.

VS example includes

Include folders should be specified in the include settings of the project, under C/C++ -> General -> Additional Include Directories.

VS example linker directories release

Library folders should be specified in the linker settings of the project, under Linker -> General -> Additional Library Directories.

VS example linker input release

ItalaApi.lib must be specified as input of the linker in the linker settings, under Linker -> Input -> Additional Dependencies. Note that no input library for GenICam and GenApi is explicitly specified, as mentioned above.

Linux#

ItalaApi can be easily imported in a CMake project by adding to the CMAKE_PREFIX_PATH variable the location of ItalaApi’s CMake exports, i.e /usr/lib/itala-sdk/cmake, or by setting the CMake default variable ItalaApi_DIR to that same location. ItalaApi’s CMake target can be made available after calling find_package(ItalaApi). The same is true for GenApi with find_package(GenApi).

Under /usr/share/itala-sdk/samples a set of CMake samples shows how CMake projects can be configured to use ItalaApi.

To use ItalaApi independently from CMake, the user should configure its tools in such a way that:

  • The include path points to the /usr/include folder.

  • The user code gets compiled against the libItalaApi.so, libGenApi_gcc7_v3_3_OptoE.so, libGCBase_gcc7_v3_3_OptoE.so and libLog_gcc7_v3_3_OptoE.so shared libraries available under /usr/lib/itala-sdk.

If no CMake installation is available on the system, a Makefile (under samples/_Makefiles) is made available to the user. It automatically compiles and outputs all the samples executables in the same directory. The file is not relocatable.

ItalaApi’s shared libraries are automatically added to the linker locations via the config file under /etc/ld.so.conf.d/. For hardware or network configuration instructions, please refer to the manual of the camera.

IP Configurator#

To configure cameras network addresses a command line IP configurator is provided on Linux only. You can find the executable under /usr/bin/itala-sdk/. To list all the available devices you can simply execute:

/usr/bin/itala-sdk/itala-ipconfig list

To have a complete overview of the commands (staticip, dhcp, forceip) available please execute it with --help.

Firmware Updater#

To update the firmare a command line Firmware Updater is provided on Linux only. You can find the executable under /usr/bin/itala-sdk/. To have a complete list of the available commands please execute the updater with --help.

For instance: to list all the available devices you can simply execute:

/usr/bin/itala-sdk/itala-fwupdate list

GenTL Producer#

A GenTL producer implementation (ItalaGenTL.cti file) is provided along with ItalaApi. The path of the producer is automatically added to the GENICAM_GENTL64_PATH variable so that GenTL consumers on the machine can use ItalaGenTL. Under Linux, the changes in the variable are effetive only after a new login of the user.

Device Emulation#

The Itala GenTL producer implementation provides a convenient way to experiment with its functionalities by emulating a simple camera, referred to as Virtual Camera. This way, there is no need to have a physical device connected to the host. Despite the set of functionalities of the virtual camera is kept minimal, it’s sufficient to understand how the camera configuration and acquisition processes work.

To activate the virtual device functionality, a specific environment variable must be manually defined:

ITALA_VIRTUAL_CAMERA_COUNT = 2

The value of the variable states the number of virtual devices available on the host. Once the variable is set, the device can be enumerated and accessed in the usual way, both from GenTL and the API.

Warning

Due to the restricted set of of feature available Wizards and IP Configurator in Itala View are not supported.

Logging#

The logging functionality of ItalaApi is based on the Log4Cpp library and it can be activated by placing the logging configuration file logging.properties (available in the Development\logging folder) in the working directory of the user application. By editing the file (with the Log4Cpp syntax) the user is able to customize the logging level, output and more.