Vimba for ARM64 Release Notes

Version: 6.1

Summary

Vimba 6.1 is a release version for ARM64 only. This release contains mainly changes of the CSI TL and support of JetPack 4.6.1.

Components and version reference

Transport Layer

Version

CSI Transport Layer (VimbaCSITL.cti)

1.1.0*

GigE Transport Layer (VimbaGigETL.cti)

1.9.0

USB Transport Layer (VimbaUSBTL.cti)

1.4.1

APIs

Version

Vimba C API (libVimbaC.so)

1.9.2*

Vimba C++ API (libVimbaCPP.so)

1.9.0

Vimba Python API

1.3.0*

Image Transform Library (libVimbaImageTransform.so)

1.6.0

Tools

Version

Vimba Viewer (VimbaViewer)

2.5.1*

Vimba Class Generator (VimbaClassGenerator)

1.0.6

Vimba Firmware Updater (VimbaFirmwareUpdater.exe)

1.2.1*

Vimba Firmware Updater Console (FWUpdaterConsole.exe)

1.2.1*

Third Party Libraries

Version

TinyXML (not shipped with Vimba)

2.6.2

Qt

4.8.5

Qwt

6.1.3

libTIFF

4.0.7

OpenCV

3.0.0

* Changed in this release of Vimba

Hardware requirements

  • ARM board with ARMv8-compatible 64-bit processor

  • Allied Vision GigE cameras require a built-in Gigabit Ethernet network interface or at least one Gigabit Ethernet network card.

    Note for IP configuration: By default, IP Configuration Mode is set to DHCP. You can also select LLA (link-local address) if you connect just one camera. If multiple cameras are connected at the same time, we recommend using DHCP or Persistent IP Address to enable discovery of all cameras.

  • Allied Vision USB cameras require a built-in USB 3.0 controller for PCI Express bus.

Tested platforms and cameras

GigE and USB cameras

Vimba was tested on NVIDIA Xavier AGX with JetPack 4.6.1 (L4T 32.7.1).

Alvium MIPI cameras

The following NVIDIA Jetson developer kit platforms with JetPack 4.6.1 (L4T 32.7.1) support the Alvium MIPI driver and the Vimba CSI TL:

  • AGX Xavier

  • Xavier NX

  • TX2 NX

  • Nano 4GB

  • Nano 2GB

For supported camera models, the latest known issues, and other useful information, see: Getting Started with GenICam for CSI-2

Installation

To install Vimba, see: Vimba installation under Linux

Short instruction:

  • Uncompress the archive with the command tar -xf ./Vimba.tgz to a directory you have writing privileges for like /opt. Under this directory Vimba will be installed in its own folder. In the following, we will refer to this path as [InstallDir].

  • Go to [InstallDir]/VimbaGigETL and/or [InstallDir]/VimbaUSBTL and execute the shell script Install.sh with super user privileges (e.g., sudo ./Install.sh). This registers the GENICAM_GENTL32_PATH and/or the GENICAM_GENTL64_PATH environment variable through a startup script in /etc/profile.d so that every GenICam GenTL consumer (such as the examples that ship with Allied Vision Vimba) can access the Allied Vision Gigabit Ethernet and USB Transport Layers. Please note that this is a per-user setting. If transport layers are not found, follow the instructions in this document: Vimba installation under Linux

  • Reboot computer

Vimba Viewer: Vimba Viewer can be found in, for example, [InstallDir]/Tools/Viewer/Bin/x86_64bit/. This program allows you to configure your Allied Vision cameras and capture images.

Ubuntu 18.04 LTS:

  • To build Vimba Viewer, install the libcanberra-gtk-module: apt-get install libcanberra-gtk-module

Vimba includes many precompiled examples that can be found in Vimba/VimbaC/Examples/Bin and Vimba/VimbaCPP/Examples/Bin. If you want to compile these examples yourself, please refer to the user manual for instructions and required packages.

For uninstalling Vimba, remove the startup scripts by running the shell scripts Uninstall.sh as super user. This prevents any GenTL consumer from loading the Vimba and USB Transport Layers. Then simply remove the installation directory.

Known issues

  • When experiencing trouble with image acquisition, try to increase the priority of your application with “sudo -E nice -n -20 ”.

GigE Transport Layer:

  • A change of the available camera access modes cannot be reported for cameras in different subnets or with malconfigured IP addresses. These cameras can be accessed in configuration mode from different hosts simultaneously.

  • Not all ARM boards come with a GigE network interface. When acquiring images with only 100 Mbit/s, make sure to set the “StreamBytesPerSecond” feature to a reasonable small value (12 400 000). This adjustment is done automatically when the camera is connected directly to a 100 Mbit/s interface.

Tranport layers not found (Error -16):

  • Please follow the instructions in Vimba Installation under Linux:

  • Vimba Firmware Updater and FWUpdaterConsole.exe: Mako-U cameras are not detected after updating the firmware. To detect the camera, please reboot the board.

Camera detection:

  • If multiple IP addresses are configured on one physical Ethernet adapter, then Vimba sends GVCP discovery requests only to the last added IP address. Therefore, the camera is detected only if its IP address was added last.

Vimba Viewer:

  • If a GigE camera was opened and then closed with Vimba Viewer, it is displayed as locked and Vimba Viewer does not open it again. Workaround: Close and open Vimba Viewer.

  • When multiple opened GigE cameras are disconnected at the same time while no other camera stays connected to the very same NIC, the Vimba Viewer’s camera windows stay open.

  • qt error: please install libpng12 if it is missing.

  • After streaming several hours, the displayed image is not updated. Changing camera settings results in a black image. Stopping and starting image acquisition updates the displayed image. The issue affects only the displayed image, not the image itself.

Vimba code examples

Vimba APIs:

  • When API startup and shutdown is performed excessively within the same process, camera initialization may fail sporadically, which may cause exceptions. We recommend to have only one API session during one process.

CSI-2:

  • For the latest known issues, see Getting Started with GenICam for CSI-2

  • If your application causes dropped frames, try to increase the number of frame buffers to approximately 7.

  • Switching the camera from GenICam for CSI-2 to V4L2 or vice versa requires rebooting the board.

  • Exposure times greater than approx. 1 second: Stopping acquisition may cause an error. Please close and open the camera to start streaming again.

Changes and release history

Changes in Vimba 6.1.0

VimbaPython

  • Fixed: Missing frames from some cameras, especially with short exposure times.

VimbaC

  • Fixed: IP configuration

CSITL (supported camera models and ARM boards and known issues: see above)

  • Supports new streaming format (better performance in Announce mode), latest camera firmware required

Vimba Viewer

  • Improved performance with MIPI cameras

Firmware Updater

  • Main window now displays more information about an occured error

Firmware Updater Console

  • Fixed: ShowFailureMessage in case exception is raised

Changes in Vimba 6.0.0

VimbaC

  • Fixed: Issue with null terminator for zipped XML files

CSITL

  • First release (supported camera models and ARM boards and known issues: see above)

USBTL

  • Bug fix (relevant for Windows only)

VimbaPython:

  • Less restrictive C API version check

Changes in Vimba 5.1.0

VimbaC

  • New feature: Support for Alloc And Announce frame allocation mode

  • Feature endianess related fixes (corresponding to GigE TL)

VimbaCPP

  • New feature: Supports Alloc And Announce frame allocation mode

VimbaPython

  • New feature: Supports Alloc And Announce frame allocation mode

Vimba Viewer

  • Supports Alloc And Announce frame allocation mode

  • Chinese localization

  • Supports changes of GigE TL and VimbaC

  • Fixed: IP labels not updated after changing the IP via GevCameraForceAddressSend

  • Fixed: Auto ROI tab always resets ROI at startup

Firmware Updater

  • Supports Git hash representation

Firmware Updater Console

  • Supports Git hash representation

GigETL

  • Changed behaviour of endianess handling (values must match host endianness in little-endian), for better compatibility with third-party software. Affected features that now have a changed byte order:

    • Config Mode

    • IP-related features including MulticastIPAddress

    • Action Commands

  • New feature DeviceUpdateTimeout (only applicable if GigE discovery is switched to Broadcast)

  • New GVSPMaxLookBack default value (0 instead of 1) for improved packet resend handling

  • Fixed: High memory usage during performance bottleneck (Nonpaged pool growing with multiple GigE cameras)

  • Fixed: Action commands caused an error message in the console log

  • Fixed: Multicast IP address range, better compatibility with third-party software

USB TL

  • Updated 3rd-party libraries

Changes in Vimba 5.0.0

GigETL

  • New feature: GVSPHostReceiveBufferSize (SO_RCVBUF) replaces GVSPHostReceiveBuffers (which is still usable in existing applications).

  • Fixed for 5 GigE cameras:

    • Fixed limitations of certain GVSPPacketSize values

VimbaC

  • Fixed: Callbacks after stopping image acquisition caused exceptions in the Python API.

  • Fixed: ListAncillaryDataFeatures example (error “Could not queue frame”)

Vimba Firmware Updater

  • Prepared for CSI-2 support

Vimba Firmware Updater Console

  • Prepared for CSI-2 support

Vimba Viewer

  • Prepared for CSI-2 support

Changes in Vimba 4.3.0

GigETL

  • Prepared for use with 5 GigE Vision cameras

VimbaC

  • Prepared for use with 5 GigE Vision cameras

VimbaCPP

  • Preparations for use with 5 GigE Vision cameras in the underlying VimbaC API

Vimba Python

  • Updated for use with new VimbaC version

  • Fixed: read_memory now returns all 0_bytes

Vimba Firmware Updater

  • Preparations for use with 5 GigE Vision cameras

Vimba Firmware Updater Console

  • Preparations for use with 5 GigE Vision cameras

Vimba Viewer

  • Preparations for use with 5 GigE Vision cameras

Changes in Vimba 4.2.0

Vimba C

  • Standard-compliant ForceIP features instead of Allied Vision custom features, Updated VimbaC ForceIP example to use the standard-compliant ForceIP features

Vimba Python

  • Redirected the used Vimba version to the one delivered in this package.

  • Install.sh suggests compatible Python interpreter versions only

  • Install.sh and Uninstall.sh: Added support of virtual environments, Added debug flag

GigETL

  • Standard-compliant ForceIP features instead of Allied Vision custom features (see also Vimba C)

  • Prepared for use with extended IDs

USBTL

  • Increased default MaxTransferSize value for better performance with current Linux versions

  • Improved camera detection on Linux systems (plugin event handling)

Vimba Viewer

  • Added a dialog for enforcing IP settings to a GigE Vision camera

Changes in Vimba 4.1.0

USBTL

  • Solved conflicts between customers’ boost version and the internally used version

  • Other internal bug fixes

Changes in Vimba 4.0.0

Vimba C

  • Bug fixes

Vimba C++

  • Bug fixes

Vimba Python

  • New API

GigETL

  • Improved resend handling

  • By default, packet resends are enabled

  • Other bug fixes

USBTL

  • Improved visibility of USB camera status

  • Other bug fixes

Vimba GigE Filter Driver

  • Bug fixes

Vimba Viewer

  • Bug fixes

Changes in Vimba 3.1.0

Vimba C

  • Updated for use with GenTL 1.5

Vimba C++

  • Updated for use with GenTL 1.5

GigETL

  • GenTL 1.5 support

USBTL

  • GenTL 1.5 support

Vimba Viewer

  • Bug fixes

Changes in Vimba 3.0.0

Vimba C

  • Bug fixes

Vimba C++

  • Bug fixes

Vimba Viewer

  • Supports Alvium USB cameras

  • Fixed handling of float increments

  • Fixed occasional crashes with high frame rates

  • Several minor bug fixes

GigETL

  • Fixed: GVSPPacketSize now updates as expected

USBTL

  • Bug fixes

Changes in Vimba 2.1.3

Vimba C

  • Added ActionCommands programming example

  • Vimba C Manual: Updated documentation of Action Commands

  • Prepared the API for use with GenTL 1.5

  • Bug fixes

Vimba C++

  • Added ActionCommands programming example

  • Vimba CPP Manual: Updated documentation of Action Commands

  • Prepared the underlying C API for use with GenTL 1.5

  • Vimba CPP Manual: Added chapter Asynchronous image acquisition - overview

  • Bug fixes

Vimba Viewer

  • New plugin architecture

Vima Setup

  • Removed Vimba Class Generator desktop symbol

Vimba Manual

  • Integrated Vimba Features Manual

Changes in Vimba 2.1.0

Vimba C

  • Added functionality for Action Commands.

  • Bug fixes

Vimba C++

  • Added functionality for Action Commands.

  • Bug fixes

Vimba Image Transform Library

  • Support for conversion from 10-bit raw source formats to 16-bit color target formats.

  • Support for conversion from 12-bit raw source formats to 16-bit color target formats.

  • Support for conversion from 14-bit raw source formats to 16-bit color target formats.

  • Support for conversion from 10-bit mono source formats to 16-bit mono target formats.

  • Support for conversion from 12-bit mono source formats to 16-bit mono target formats.

  • Support for conversion from 14-bit mono source formats to 16-bit mono target formats.

Vimba Viewer

  • Allows now saving of 12-bit and 16-bit images (12-bit images are saved in 16-bit containers).

  • Added functionality for Action Commands.

  • Camera list shows the IP address of each device.

  • Bug fixes

GigE Transport Layer

  • The parameter BUFFER_INFO_DELIVERED_IMAGEHEIGHT is filled correctly.

  • Added functionality of Action Commands.

  • Bug fixes

Changes in Vimba 2.0.0

Vimba Setup

  • Added Vimba Viewer Guide document

  • Improved documents, new layout

Vimba C

  • Added functionality of loading and saving camera settings from / to XML

  • Bug fixes

Vimba C++

  • Added functionality of loading and saving camera settings from / to XML

  • Bug fixes

Vimba Image Transform Library

  • Support for conversion from BayerXX10,12 formats to 2 byte output formats (RGB[A], BGR[A])

  • Added interface functions VmbSetImageInfoFromInputParameters and VmbSetImageInfoFromInputImage

Vimba Viewer

  • Enabled making use of load / save settings functionality

  • Added tabsheet widgets for Brightness, ROI, Autofunction ROI, Trigger IO, Color

  • Bug fixes

USB Transport Layer

  • Minor bug fixes

GigE Transport Layer

  • Reworked and improved filter driver

Vimba Class Generator

  • Changes for Camera Link support (affects Windows only)

Changes in Vimba 1.4.1

Package for ARMv7

  • Support of USB Transport Layer

Package for other Linux systems

  • Support of USB Transport Layer

  • Improved documentation

Vimba C

  • Extended camera support (e.g. float increments)

  • Stability improvements

  • Improved some examples

  • Bug fixes

Vimba C++

  • Extended camera support (e.g. float increments, needs Vimba C 1.4)

  • Improved error handling

  • Improved some examples

  • Added and improved examples

  • Bug fixes

Vimba Image Transform Library

  • Added support for PFNC 10p and 12p formats

  • Improved the documentation

GigE Transport Layer

  • Improved stability on high traffic networks

  • Bug fixes for multi-camera usage and incomplete cleanup

  • Fixed range of GevHeartbeatInterval and GevHeartbeatTimeout

Vimba Viewer

  • Added open camera by ID

  • Added endianness switch in direct register dialog

  • Many bug fixes

Vimba Class Generator

  • Small improvements

Changes in Vimba 1.3.0

Package for ARMv7 (new)

  • Support of Vimba C API

  • Support of Vimba C++ API

  • Support of GigE Transport Layer

Package for other Linux systems

  • Added a Vimba Tour document and a Vimba Quickstart Guide

  • Improved the other documents

  • Added examples for Vimba C and C++

  • Added an OpenMP version of the Vimba Image Transform Library

Vimba C 1.3.0

  • Fixed feature access for ancillary data

  • Made device discovery blocking

  • Added system feature GeVDiscoveryAllDuration for adjustable waiting time

  • Fixed issues with mixed feature names

  • Bug-fixes for improving stability

Vimba C++ 1.3.0

  • Fixed feature access for ancillary data

  • Changes caused by bug fixes in Vimba C

Vimba Image Transform Library 1.2.0

  • Allowed more input for VmbSetImageInfoFromString

  • Corrected return codes

  • Removed transformations to Mono10/12/14 and big-endian data

Vimba Viewer 1.1.3

  • Improved handling for GigE camera list changes

  • Fixed issues around saving images

  • GUI usage improvements

GigE Transport Layer 1.3.1

  • Fixed GenTL compliance: Changed the Device ID from the serial number to a MAC-based ID. This changes the way all APIs (C, C++ and .Net) identify the cameras

  • Added a document for GigE camera features

  • Changed the supported GenTL version to 1.3 (e.g. new feature categories BufferHandlingMode and StreamInformation)

  • Separate features for heartbeat timeout and heartbeat interval

  • Adjustable device discovery waiting time

  • Fixed issues with similar serial numbers

  • Fixed issues with many network interfaces

Vimba Class Generator

  • Minor changes to appearance and documentation

Changes in Vimba 1.2.0

Vimba C 1.2.0

  • Version 1.2.0 is only compatible to AVT GigE TL Version 1.2.0 onwards

  • Name independent search for AVT transport layers

  • Made EnumEntries’ “pIsImplemented” condition equivalent to “pIsAvailable” to mimic the behavior of GenICam reference implementation

Vimba C++ 1.2.0

  • Fix for opening camera by IP address

Vimba .NET 1.2.0

  • Fix for 64bit version attempting to load 32bit transport layers

  • Fix for opening camera by IP address

Vimba Viewer 1.1.1

  • SFNC Features directly beneath the root category get listed

  • Many new pixel formats available for histogram support

GigE Transport Layer 1.2.0

  • Improved performance in case of many events

  • Restriction to eight cameras removed

  • Corrected Heartbeat feature

  • Fixed support for small packets