Impact Acquire SDK C++
CameraSettingsV4L2Device Class Reference

mvV4L2 related camera settings(Device specific interface layout only). More...

#include <mvIMPACT_acquire.h>

Inheritance diagram for CameraSettingsV4L2Device:
[legend]

Public Member Functions

 CameraSettingsV4L2Device (Device *pDev, const std::string &settingName="Base")
 Constructs a new mvIMPACT::acquire::CameraSettingsV4L2Device object.
 
Component getCustomFeatureIterator (void) const
 Returns an iterator to for iterating inside a device specific feature list.
 
HOBJ hObj (void) const
 Returns a unique identifier for the component collection referenced by this object.
 
const ComponentCollectionrestoreDefault (void) const
 Restores the default for every component of this collection.
 

Public Attributes

PropertyI aoiHeight
 An integer property defining the number of lines to capture.
 
PropertyI aoiStartX
 An integer property defining the X-offset for each capture line.
 
PropertyI aoiStartY
 An integer property defining the Y-offset.
 
PropertyI aoiWidth
 An integer property defining the number of pixels to capture per line.
 
PropertyIBoolean autoGain
 An enumerated integer property to switch on/off the auto gain.
 
PropertyIBoolean autoWhiteBalance
 An enumerated integer property to switch on/off the auto white balance function of the V4L2-device.
 
PropertyI backlightCompensation
 An integer property to adjust the backlight compensation.
 
PropertyS basedOn
 A string property (read-only) containing the name of the setting this setting is based on.
 
PropertyI blackLevel
 An integer property to adjust the black level.
 
PropertyI blueBalance
 An integer property to adjust the blue balance.
 
PropertyI brightness
 An integer property to adjust the brightness.
 
PropertyI contrast
 An integer property to adjust the contrast.
 
PropertyI exposure
 An integer property to adjust the exposure.
 
PropertyI gain
 An integer property to adjust the gain.
 
PropertyI gamma
 An integer property to adjust the gamma.
 
PropertyIBoolean HFlip
 An enumerated integer property to mirror the frames horizontally.
 
PropertyI hue
 An integer property to adjust the hue.
 
PropertyIBoolean hueAuto
 An enumerated integer property to switch on/off auto hue.
 
PropertyI imageHeight
 An integer property defining the height of the image supplied by the V4L2 device.
 
PropertyI imageRequestTimeout_ms
 An integer property defining the maximum time to wait for an image in ms.
 
PropertyI imageWidth
 An integer property defining the width of the image supplied by the V4L2 device.
 
PropertyI pixelFormat
 An integer property defining the pixel format of captured frames.
 
PropertyI powerLineFrequency
 An enumerated integer property to enable power line frequency filter.
 
PropertyI redBalance
 An integer property to adjust the red balance.
 
PropertyI saturation
 An integer property to adjust the saturation.
 
PropertyI sharpness
 An integer property to adjust the sharpness.
 
PropertyIBoolean VFlip
 An integer property to mirror the frames vertically.
 
PropertyI videoStandard
 An integer property defining the video standard.
 
PropertyI whiteBalanceTemperature
 An integer property to adjust white balance temperature.
 

Protected Attributes

HOBJ m_hRoot
 

Detailed Description

mvV4L2 related camera settings(Device specific interface layout only).

Note
UNDER CONSTRUCTION! Subject to change.
This class will only be available if mvIMPACT::acquire::Device::interfaceLayout is set to mvIMPACT::acquire::dilDeviceSpecific before the device is opened.

Constructor & Destructor Documentation

◆ CameraSettingsV4L2Device()

CameraSettingsV4L2Device ( Device * pDev,
const std::string & settingName = "Base" )
inlineexplicit

Constructs a new mvIMPACT::acquire::CameraSettingsV4L2Device object.

Parameters
[in]pDevA pointer to a mvIMPACT::acquire::Device object obtained from a mvIMPACT::acquire::DeviceManager object.
[in]settingNameThe name of the driver internal setting to access with this instance. A list of valid setting names can be obtained by a call to mvIMPACT::acquire::FunctionInterface::getAvailableSettings, new settings can be created with the function mvIMPACT::acquire::FunctionInterface::createSetting

Member Function Documentation

◆ getCustomFeatureIterator()

Component getCustomFeatureIterator ( void ) const
inline

Returns an iterator to for iterating inside a device specific feature list.

This can be useful a device offers custom features that are not defined in the V4L2 standard and thus can't be known at compile time.

It allows to write code like this:

CameraSettingsV4L2Device cs( getDevicePointerFromSomewhere() );
Component it( cs.getCustomFeatureIterator() );
std::map<std::string, std::string> m;
while( it.isValid() )
{
// collect all entries that are properties and store their current name and value in a map
if( it.isProp() && it.isVisible() )
{
Property prop( it );
m.insert( std::make_pair( prop.name(), prop.readS() );
}
++it;
}
mvV4L2 related camera settings(Device specific interface layout only).
Definition mvIMPACT_acquire.h:19031
A base class to implement access to internal driver components.
Definition mvIMPACT_acquire.h:1439
A base class for properties.
Definition mvIMPACT_acquire.h:3134

◆ hObj()

HOBJ hObj ( void ) const
inlineinherited

Returns a unique identifier for the component collection referenced by this object.

This handle will always reference an object of type mvIMPACT::acquire::ComponentList.

Returns
A unique identifier for the component referenced by this object.

◆ restoreDefault()

const ComponentCollection & restoreDefault ( void ) const
inlineinherited

Restores the default for every component of this collection.

Calling this function will restore the default value for every component belonging to this collection.

Note
The caller must have the right to modify the component. Otherwise an exception will be thrown.
Returns
A const reference to the component.

Member Data Documentation

◆ aoiHeight

PropertyI aoiHeight
inherited

An integer property defining the number of lines to capture.

◆ aoiStartX

PropertyI aoiStartX
inherited

An integer property defining the X-offset for each capture line.

Example: When setting this property to 5 the first pixel in each line of the resulting image will be pixel number 5 of each line transmitted by the camera.

◆ aoiStartY

PropertyI aoiStartY
inherited

An integer property defining the Y-offset.

Example: When setting this property to 5 the first line of the resulting image will be line number 5 of the image transmitted by the camera.

◆ aoiWidth

PropertyI aoiWidth
inherited

An integer property defining the number of pixels to capture per line.

◆ autoGain

PropertyIBoolean autoGain

An enumerated integer property to switch on/off the auto gain.

This property represents a boolean-valued V4L2-control ID. Valid values for this property are defined by the enumeration mvIMPACT::acquire::TBoolean.

Note
This property is not supported by every device. Therefore always call the function mvIMPACT::acquire::Component::isValid to check if this property is available or not.

◆ autoWhiteBalance

PropertyIBoolean autoWhiteBalance

An enumerated integer property to switch on/off the auto white balance function of the V4L2-device.

This property represents a boolean-valued V4L2-control ID. Valid values for this property are defined by the enumeration mvIMPACT::acquire::TBoolean.

Note
This property is not supported by every device. Therefore always call the function mvIMPACT::acquire::Component::isValid to check if this property is available or not.

◆ backlightCompensation

PropertyI backlightCompensation

An integer property to adjust the backlight compensation.

This property represents a V4L2-control ID.

Note
This property is not supported by every device. Therefore always call the function mvIMPACT::acquire::Component::isValid to check if this property is available or not. If supported, a min-value, a max-value and step-width are defined. Thus, invalid values may be tuned after writing to fit within the limits.

◆ basedOn

PropertyS basedOn
inherited

A string property (read-only) containing the name of the setting this setting is based on.

Since
1.12.67

◆ blackLevel

PropertyI blackLevel

An integer property to adjust the black level.

This property represents a V4L2-control ID.

Note
This property is not supported by every device. Therefore always call the function mvIMPACT::acquire::Component::isValid to check if this property is available or not. If supported, a minimum value, a maximum value and step width will be defined. Thus, invalid values may be tuned after writing to fit within the step size, values too large or too small will raise an exception.

◆ blueBalance

PropertyI blueBalance

An integer property to adjust the blue balance.

This property represents a V4L2-control ID.

Note
This property is not supported by every device. Therefore always call the function mvIMPACT::acquire::Component::isValid to check if this property is available or not. If supported, a minimum value, a maximum value and step width will be defined. Thus, invalid values may be tuned after writing to fit within the step size, values too large or too small will raise an exception.

◆ brightness

PropertyI brightness

An integer property to adjust the brightness.

This property represents a V4L2-control ID.

Note
This property is not supported by every device. Therefore always call the function mvIMPACT::acquire::Component::isValid to check if this property is available or not. If supported, a minimum value, a maximum value and step width will be defined. Thus, invalid values may be tuned after writing to fit within the step size, values too large or too small will raise an exception.

◆ contrast

PropertyI contrast

An integer property to adjust the contrast.

This property represents a V4L2-control ID.

Note
This property is not supported by every device. Therefore always call the function mvIMPACT::acquire::Component::isValid to check if this property is available or not. If supported, a minimum value, a maximum value and step width will be defined. Thus, invalid values may be tuned after writing to fit within the step size, values too large or too small will raise an exception.

◆ exposure

PropertyI exposure

An integer property to adjust the exposure.

This property represents a V4L2-control ID.

Note
This property is not supported by every device. Therefore always call the function mvIMPACT::acquire::Component::isValid to check if this property is available or not. If supported, a minimum value, a maximum value and step width will be defined. Thus, invalid values may be tuned after writing to fit within the step size, values too large or too small will raise an exception.

◆ gain

PropertyI gain

An integer property to adjust the gain.

This property represents a V4L2-control ID.

Note
This property is not supported by every device. Therefore always call the function mvIMPACT::acquire::Component::isValid to check if this property is available or not. If supported, a minimum value, a maximum value and step width will be defined. Thus, invalid values may be tuned after writing to fit within the step size, values too large or too small will raise an exception.

◆ gamma

PropertyI gamma

An integer property to adjust the gamma.

This property represents a V4L2-control ID

Note
This property is not supported by every device. Therefore always call the function mvIMPACT::acquire::Component::isValid to check if this property is available or not. If supported, a min-value, a max-value and step-width are defined. Thus, invalid values may be tuned after writing to fit within the limits.

◆ HFlip

An enumerated integer property to mirror the frames horizontally.

This property represents a boolean-valued V4L2-control ID. Valid values for this property are defined by the enumeration mvIMPACT::acquire::TBoolean.

Note
This property is not supported by every device. Therefore always call the function mvIMPACT::acquire::Component::isValid to check if this property is available or not.

◆ hue

PropertyI hue

An integer property to adjust the hue.

This property represents a V4L2-control ID.

Note
This property is not supported by every device. Therefore always call the function mvIMPACT::acquire::Component::isValid to check if this property is available or not. If supported, a minimum value, a maximum value and step width will be defined. Thus, invalid values may be tuned after writing to fit within the step size, values too large or too small will raise an exception.

◆ hueAuto

An enumerated integer property to switch on/off auto hue.

This property represents a boolean-valued V4L2-control ID. Valid values for this property are defined by the enumeration mvIMPACT::acquire::TBoolean.

Note
This property is not supported by every device. Therefore always call the function mvIMPACT::acquire::Component::isValid to check if this property is available or not.

◆ imageHeight

PropertyI imageHeight

An integer property defining the height of the image supplied by the V4L2 device.

See also
V4L2 API at http://v4l2spec.bytesex.org/spec-single/v4l2.html

◆ imageRequestTimeout_ms

PropertyI imageRequestTimeout_ms
inherited

An integer property defining the maximum time to wait for an image in ms.

Attention
Since Impact Acquire 2.32.0 the default value for this property has been changed! See Calling 'imageRequestWaitFor' Never Returns / An Application No Longer Terminates After Upgrading To Impact Acquire 2.32.0 Or Greater for details.

When this property is set to 0 the timeout never elapses. If the timeout this property defines elapses the currently processed request will be returned to the user even if no data has been captured so far. The result structure of the request object should be examined in that case. Also this should be considered as an error from the users point of view in which case he should clean up the acquisition queue by calling mvIMPACT::acquire::FunctionInterface::imageRequestReset. Afterwards the capture loop can be restarted.

Note
It is crucial to understand that this is a timeout PER REQUEST! The timespan taken into account for the measurement starts when the driver begins to capture data into this particular buffer! So when queuing 4 buffers with a timeout of 3000 ms each and no data being transmitted by the device for any reason will cause the last buffer to time out 3000*4 = 12000 ms AFTER the buffer has been queued and the acquisition has been started as the driver will wait for up to 3 seconds for each buffer that is being processed. When the device sends data this timeout does not affect the runtime behaviour at all. No additional delay is introduced by it when everything runs as planned.

◆ imageWidth

PropertyI imageWidth

An integer property defining the width of the image supplied by the V4L2 device.

See also
V4L2 API at http://v4l2spec.bytesex.org/spec-single/v4l2.html

◆ m_hRoot

HOBJ m_hRoot
protectedinherited

◆ pixelFormat

PropertyI pixelFormat

An integer property defining the pixel format of captured frames.

Use this property to set the pixel format within the image buffer supplied by the V4L2-device. Available pixel formats depend on the V4L2-device and conform to v4l2_fourcc()

See also
V4L2 API at http://v4l2spec.bytesex.org/spec-single/v4l2.html

◆ powerLineFrequency

PropertyI powerLineFrequency

An enumerated integer property to enable power line frequency filter.

This property represents a V4L2-control ID.

Note
This property is not supported by every device. Therefore always call the function mvIMPACT::acquire::Component::isValid to check if this property is available or not.

If supported, possible values conform to V4L2 API:

string representationnumerical representation
V4L2_CID_POWER_LINE_FREQUENCY_DISABLED0
V4L2_CID_POWER_LINE_FREQUENCY_50HZ1
V4L2_CID_POWER_LINE_FREQUENCY_60HZ2

◆ redBalance

PropertyI redBalance

An integer property to adjust the red balance.

This property represents a V4L2-control ID.

Note
This property is not supported by every device. Therefore always call the function mvIMPACT::acquire::Component::isValid to check if this property is available or not. If supported, a minimum value, a maximum value and step width will be defined. Thus, invalid values may be tuned after writing to fit within the step size, values too large or too small will raise an exception.

◆ saturation

PropertyI saturation

An integer property to adjust the saturation.

This property represents a V4L2-control ID.

Note
This property is not supported by every device. Therefore always call the function mvIMPACT::acquire::Component::isValid to check if this property is available or not. If supported, a minimum value, a maximum value and step width will be defined. Thus, invalid values may be tuned after writing to fit within the step size, values too large or too small will raise an exception.

◆ sharpness

PropertyI sharpness

An integer property to adjust the sharpness.

This property represents a V4L2-control ID.

Note
This property is not supported by every device. Therefore always call the function mvIMPACT::acquire::Component::isValid to check if this property is available or not. If supported, a minimum value, a maximum value and step width will be defined. Thus, invalid values may be tuned after writing to fit within the step size, values too large or too small will raise an exception.

◆ VFlip

An integer property to mirror the frames vertically.

This property represents a boolean-valued V4L2-control ID. Valid values for this property are defined by the enumeration mvIMPACT::acquire::TBoolean.

Note
This property is not supported by every device. Therefore always call the function mvIMPACT::acquire::Component::isValid to check if this property is available or not.

◆ videoStandard

PropertyI videoStandard

An integer property defining the video standard.

Use this property to configure the V4L2-device corresponding to the connected video source. Available video standards depend on the V4L2-device and conform to v4l2_std_id

See also
V4L2 API at http://v4l2spec.bytesex.org/spec-single/v4l2.html

◆ whiteBalanceTemperature

PropertyI whiteBalanceTemperature

An integer property to adjust white balance temperature.

This property represents a V4L2-control ID.

Note
This property is not supported by every device. Therefore always call the function mvIMPACT::acquire::Component::isValid to check if this property is available or not. If supported, a minimum value, a maximum value and step width will be defined. Thus, invalid values may be tuned after writing to fit within the step size, values too large or too small will raise an exception.