Acquisition device drivers and CVB Programming Interfaces

<< Click to Display Table of Contents >>

Navigation:  Image Manager > CVB Technology >

Acquisition device drivers and CVB Programming Interfaces

 

There are the core DLLs that contain the adaption of the hardware abstraction layer of Common Vision Blox for a given data source and they are commonly referred to as "drivers" or "vin drivers" in Common Vision Blox.

The Video INterface (VIN) files are used in Common Vision Blox to access different frame grabbers, cameras and other real or virtual devices.
These drivers are installed to the %CVB%Drivers directory.

 
The set of CVB hardware drivers that is available for a given release can be found on the Common Vision Blox setup:

in CVB download area https://www.commonvisionblox.com/en/cvb-download/

Please  visit www.commonvisionblox.com frequently for getting actual available driver setups for supported cameras and framegrabbers.

Video interface drivers use an COM-like interface concept for their implementation and are therefore not tied to specific versions of Common Vision Blox.

In other words: It is (within certain boundaries) no problem to use a video interface driver that is significantly older or newer than the version of Common Vision Blox you are using.

 

The majority of available vin drivers has been developed by STEMMER IMAGING.

A Driver Development Kit (DDK) for implementing vin drivers is available - interested hardware manufacturers are encouraged to contact STEMMER IMAGING for details.

 

CVB interfaces

representing the hardware abstaction layer of CVB for different camera/acquisition technologies

software interfaces for selecting the hardware: IBoardSelect, IBoardSelect2, ICameraSelect, ICameraSelect2

software interfaces for accessing the hardware: IDeviceControl, INodeMapHandle, INodeMapHandle2, INotify, IPropertyChange, IRegPort, ISoftwareTrigger, ITrigger, IBasicDigIO

software interfaces for grabbing images: IGrabber, IGrab2, IPingPong, , ILineScan

software interface for working with an Image object: IImageVPA  

 

Find all CVB interfaces listed here in Image Manager CVCDriver.dll and CVCImg.dll.

 

Using Grabber Properties menu item or icon from Common Vision Blox Viewer from Start Menu or CVSysTray.exe from %CVB%Applications directory
shows the Common Vision Blox interfaces supported by image when a driver is loaded:

CVGrabber_PropertyPage01

 

Common CVB interfaces

What software interfaces do image/drivers support ?
Most of these interfaces are implemented by the drivers, details are listed in each specific CVB driver documentation ( %CVB%Drivers directory or https://www.commonvisionblox.com/en/cvb-download/)

Interface in CVCDriver.dll

Description

IBasicDigIO

Controlling IOs

IBoardSelect/IBoardSelect2

Switching between different devices

ICameraSelect/ICameraSelect2

Switching between different devices

IDeviceControl

Controlling hardware settings

IGrab2/IGrabber

Image acquisition

IImageRect

Image handling and acquisition (grab and snap)

IImageVPA

Image Access

INodeMapHandle/INodeMapHandle2

Control of GenICam compliant devices

INotify

Register callback functions for events

IPingPong

Image acquisition

IRingBuffer

Recording to ram buffers

ISoftwareTrigger

Sending a software trigger to a device

ITrigger

Reacting on external triggers

 

For details using these interfaces refer CVCDriver.dll  and CVBImg.dll description.

Tutorials with examples how to use these interfaces to access devices and process images can be found in

%CVB%Tutorial directory (Windows) or

/opt/cvb/tutorial (Linux).

 

Specific CVB interfaces

Interface in CVCDriver.dll

Description

ILineScan

Special features for controlling line scan cameras

IPort

Only AVT FireWire driver

IPropertyChange

Dalsa Genie driver, AVT driver

IRegPort

GenICam driver only