Impact Acquire SDK Python
SystemV4L2 Class Reference

A class containing mvV4L2 specific settings to control the overall behaviour of the driver(Device specific interface layout only). More...

Inheritance diagram for SystemV4L2:
[legend]

Public Member Functions

 __init__ (self, pDev)
 Constructs a new mvIMPACT.acquire.SystemV4L2 object.
 hObj (self)
 Returns a unique identifier for the component collection referenced by this object.
 restoreDefault (self)
 Restores the default for every component of this collection.

Properties

 acquisitionIdleTimeMax_ms = property(lib_mvIMPACT_acquire.SystemSettings_acquisitionIdleTimeMax_ms_get, doc=)
 An integer property defining the maximum time in ms the driver waits for new requests being queued until streaming by the device will automatically be stopped.
 acquisitionMode = property(lib_mvIMPACT_acquire.SystemSettings_acquisitionMode_get, doc=)
 An enumerated integer property defining the acquisition mode of the device.
 balance = property(lib_mvIMPACT_acquire.SystemV4L2_balance_get, doc=)
 If V4L2 device supports audio, this integer property adjusts the audio balance.
 bass = property(lib_mvIMPACT_acquire.SystemV4L2_bass_get, doc=)
 If V4L2 device supports audio, this integer property adjusts the audio bass.
 featurePollingEnable = property(lib_mvIMPACT_acquire.SystemSettings_featurePollingEnable_get, doc=)
 An enumerated integer property defining whether features defining a polling time shall be updated automatically or not.
 featurePollingInterval_ms = property(lib_mvIMPACT_acquire.SystemSettings_featurePollingInterval_ms_get, doc=)
 An integer property defining the polling interval in ms the driver waits for each iteration before running through update loop again.
 genDCParserEnable = property(lib_mvIMPACT_acquire.SystemSettings_genDCParserEnable_get, doc=)
 An enumerated integer property which can be used to enable/disable automatic GenICam™ GenDC Container parsing.
 imageProcessingMaximumThreadCount = property(lib_mvIMPACT_acquire.SystemSettings_imageProcessingMaximumThreadCount_get, doc=)
 An integer property influencing the number of parallel threads used by the internal image processing pipeline.
 imageProcessingMode = property(lib_mvIMPACT_acquire.SystemSettings_imageProcessingMode_get, doc=)
 An enumerated integer property influencing the behaviour of the internal image processing pipeline.
 imageProcessingOptimization = property(lib_mvIMPACT_acquire.SystemSettings_imageProcessingOptimization_get, doc=)
 An enumerated integer property influencing the behaviour of the internal image processing algorithms.
 loudness = property(lib_mvIMPACT_acquire.SystemV4L2_loudness_get, doc=)
 If V4L2 device supports audio, this enumerated integer property sets audio loudness on/off.
 methodPollingInterval_ms = property(lib_mvIMPACT_acquire.SystemSettings_methodPollingInterval_ms_get, doc=)
 An integer property defining the polling interval in ms the driver waits during each iteration before checking a methods execution state again.
 methodPollingMaxRetryCount = property(lib_mvIMPACT_acquire.SystemSettings_methodPollingMaxRetryCount_get, doc=)
 An integer property defining the polling interval in ms the driver waits during each iteration before checking a methods execution state again.
 mute = property(lib_mvIMPACT_acquire.SystemV4L2_mute_get, doc=)
 If V4L2 device supports audio, this enumerated integer property sets audio mute on/off.
 requestCount = property(lib_mvIMPACT_acquire.SystemSettings_requestCount_get, doc=)
 An integer property defining the number of requests allocated by the driver.
 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
 treble = property(lib_mvIMPACT_acquire.SystemV4L2_treble_get, doc=)
 If V4L2 device supports audio, this integer property adjusts the audio treble.
 volume = property(lib_mvIMPACT_acquire.SystemV4L2_volume_get, doc=)
 If V4L2 device supports audio, this integer property adjusts the audio volume.
 waitForPendingRequestsOnStopEnable = property(lib_mvIMPACT_acquire.SystemSettings_waitForPendingRequestsOnStopEnable_get, doc=)
 An enumerated integer property influencing the behavior of the mvIMPACT.acquire.FunctionInterface.acquisitionStop function.

Detailed Description

A class containing mvV4L2 specific settings to control the overall behaviour of the driver(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

◆ __init__()

__init__ ( self,
pDev )

Constructs a new mvIMPACT.acquire.SystemV4L2 object.

Parameters
pDev[in] A pointer to a mvIMPACT.acquire.Device object obtained from a mvIMPACT.acquire.DeviceManager object.

Member Function Documentation

◆ hObj()

hObj ( self)
inherited

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()

restoreDefault ( self)
inherited

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.

Property Documentation

◆ acquisitionIdleTimeMax_ms

acquisitionIdleTimeMax_ms = property(lib_mvIMPACT_acquire.SystemSettings_acquisitionIdleTimeMax_ms_get, doc=)
staticinherited

An integer property defining the maximum time in ms the driver waits for new requests being queued until streaming by the device will automatically be stopped.

This property defines the maximum time in milliseconds the driver waits for new mvIMPACT.acquire.Request objects being queued by calling mvIMPACT.acquire.FunctionInterface.imageRequestSingle once the driver will automatically send an acquisition stop command to a streaming device (such as a GigE Vision or USB3 Vision device) when the driver's request queue has run empty (thus the driver has no more buffers to capture data into).

This property will only be taken into account when mvIMPACT.acquire.Device.acquisitionStartStopBehaviour has been set to mvIMPACT.acquire.assbDefault.

Note
This property will not be available for every device. Right now only devices operated through the GenTL driver package will support this feature.
Since
2.4.1

◆ acquisitionMode

acquisitionMode = property(lib_mvIMPACT_acquire.SystemSettings_acquisitionMode_get, doc=)
staticinherited

An enumerated integer property defining the acquisition mode of the device.

Valid values for this property may be: mvIMPACT.acquire.amContinuous, mvIMPACT.acquire.amMultiFrame, mvIMPACT.acquire.amSingleFrame.

◆ balance

balance = property(lib_mvIMPACT_acquire.SystemV4L2_balance_get, doc=)
static

If V4L2 device supports audio, this integer property adjusts the audio balance.

This property represents a V4L2-audio-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.

◆ bass

bass = property(lib_mvIMPACT_acquire.SystemV4L2_bass_get, doc=)
static

If V4L2 device supports audio, this integer property adjusts the audio bass.

This property represents a V4L2-audio-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.

◆ featurePollingEnable

featurePollingEnable = property(lib_mvIMPACT_acquire.SystemSettings_featurePollingEnable_get, doc=)
staticinherited

An enumerated integer property defining whether features defining a polling time shall be updated automatically or not.

Valid values for this property may be: mvIMPACT.acquire.bFalse, mvIMPACT.acquire.bTrue.

See also
mvIMPACT.acquire.SystemSettings.featurePollingInterval_ms

◆ featurePollingInterval_ms

featurePollingInterval_ms = property(lib_mvIMPACT_acquire.SystemSettings_featurePollingInterval_ms_get, doc=)
staticinherited

An integer property defining the polling interval in ms the driver waits for each iteration before running through update loop again.

Some features define a so called polling time. This is a recommendation by the device/driver stating that this property might change its value without user interaction act a certain rate (e.g. the device temperature could be one example for a feature with such a behaviour). When mvIMPACT.acquire.SystemSettings.featurePollingEnable is set to mvIMPACT.acquire.bTrue a thread will check every featurePollingInterval_ms if features need to be updated. This will only cause communication with a device for each feature whose polling time has elapsed.

Note
This property will not be available for every device. Right now only devices operated through the GenTL driver package will support this feature.
Since
2.18.3

◆ genDCParserEnable

genDCParserEnable = property(lib_mvIMPACT_acquire.SystemSettings_genDCParserEnable_get, doc=)
staticinherited

An enumerated integer property which can be used to enable/disable automatic GenICam™ GenDC Container parsing.

When working with a GenICam™ compliant device, that transmits data using the GenDC format this property can be used to switch on/off the automatic parsing of the received containers. The default value of this property will be mvIMPACT.acquire.bTrue, so a GenDC container will be parsed upon reception and will be reported as the individual components like described here. This results in slightly more CPU time being consumed which sometimes might not be desirable since the GenDC Containers shall be processed later by another entity of the application or shall just be written to some storage location for off-line processing at a later moment in time. When this property is set to mvIMPACT.acquire.bFalse the data buffer will reported as a raw GenDC Container. mvIMPACT.acquire.Request.payloadType will return mvIMPACT.acquire.ptGenDC then and mvIMPACT.acquire.Request.imagePixelFormat will be mvIMPACT.acquire.ibpfRaw then. mvIMPACT.acquire.Request.imageData and mvIMPACT.acquire.Request.imageSize however can directly be fed into any GenDC capable algorithm.

Note
This property will not be available for every device. Only GenICam™ compliant devices will support this feature. More Information about the GenICam™ GenDC format can be found here: https://www.emva.org/standards-technology/genicam/genicam-downloads/.

Valid values for this property may be: mvIMPACT.acquire.bFalse, mvIMPACT.acquire.bTrue.

Since
3.2.0

◆ imageProcessingMaximumThreadCount

imageProcessingMaximumThreadCount = property(lib_mvIMPACT_acquire.SystemSettings_imageProcessingMaximumThreadCount_get, doc=)
staticinherited

An integer property influencing the number of parallel threads used by the internal image processing pipeline.

This property can be used to control the size of the internal thread pool used for image processing tasks. Using a value higher than the number of physical CPU cores usually has a negative impact on the performance. Use with care!

Note
This property will only be available on some platforms. Always check if this property is available before using it!
See also
mvIMPACT.acquire.SystemSettings.imageProcessingOptimization
mvIMPACT.acquire.SystemSettings.imageProcessingMode
Multithreading
Since
2.41.0

◆ imageProcessingMode

imageProcessingMode = property(lib_mvIMPACT_acquire.SystemSettings_imageProcessingMode_get, doc=)
staticinherited

An enumerated integer property influencing the behaviour of the internal image processing pipeline.

Valid values for this property may be: mvIMPACT.acquire.ipmDefault, mvIMPACT.acquire.ipmProcessLatestOnly.

Note
This property will only be available if mvIMPACT.acquire.Device.userControlledImageProcessingEnable has been set to mvIMPACT.acquire.bTrue before the device is opened.
See also
mvIMPACT.acquire.Device.userControlledImageProcessingEnable
mvIMPACT.acquire.Request.hasProcessingBeenSkipped
Since
2.14.0

◆ imageProcessingOptimization

imageProcessingOptimization = property(lib_mvIMPACT_acquire.SystemSettings_imageProcessingOptimization_get, doc=)
staticinherited

An enumerated integer property influencing the behaviour of the internal image processing algorithms.

Valid values for this property may be: mvIMPACT.acquire.ipoMaximizeSpeed, mvIMPACT.acquire.ipoMinimizeMemoryUsage.

Since
2.12.2

◆ loudness

loudness = property(lib_mvIMPACT_acquire.SystemV4L2_loudness_get, doc=)
static

If V4L2 device supports audio, this enumerated integer property sets audio loudness on/off.

This property represents a boolean-valued V4L2-control ID. Valid values for this property may be: mvIMPACT.acquire.bFalse, mvIMPACT.acquire.bTrue.

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.

◆ methodPollingInterval_ms

methodPollingInterval_ms = property(lib_mvIMPACT_acquire.SystemSettings_methodPollingInterval_ms_get, doc=)
staticinherited

An integer property defining the polling interval in ms the driver waits during each iteration before checking a methods execution state again.

When working with a GenICam™ compliant device, GenICam™ method objects need to be checked for their completion status every now and then. This parameter defines how often this shall be done.

Note
This property will not be available for every device. Right now only devices operated through the GenTL driver package will support this feature.
Since
2.18.3

◆ methodPollingMaxRetryCount

methodPollingMaxRetryCount = property(lib_mvIMPACT_acquire.SystemSettings_methodPollingMaxRetryCount_get, doc=)
staticinherited

An integer property defining the polling interval in ms the driver waits during each iteration before checking a methods execution state again.

When working with a GenICam™ compliant device, GenICam™ method objects need to be checked for their completion status every now and then. This parameter defines how often this shall be done at all. A method is checked for completion methodPollingMaxRetryCount * methodPollingInterval_ms at max. Until then either the device starts to inform the driver that it needs more time OR the execution of the method has completed successfully or an error will be generated.

Note
This property will not be available for every device. Right now only devices operated through the GenTL driver package will support this feature.
Since
2.18.3

◆ mute

mute = property(lib_mvIMPACT_acquire.SystemV4L2_mute_get, doc=)
static

If V4L2 device supports audio, this enumerated integer property sets audio mute on/off.

This property represents a boolean-valued V4L2-control ID. Valid values for this property may be: mvIMPACT.acquire.bFalse, mvIMPACT.acquire.bTrue.

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.

◆ requestCount

requestCount = property(lib_mvIMPACT_acquire.SystemSettings_requestCount_get, doc=)
staticinherited

An integer property defining the number of requests allocated by the driver.

Each request object can be used to capture data into. Multiple requests can be processed by a device driver as background tasks.

Setting this property to a value at least allowing a driver to capture data for up to 500ms without user interaction (thus 0.5 times the expected frame rate) is highly recommended. Increasing this value will NOT introduce additional latency to your application. The only drawback will be additional RAM consumption by the driver but applications that do not need to copy the request buffers can even benefit from that as the overall memory fragmentation is likely to go down then. Values smaller than 3 most likely result in undesired behaviour and should be avoided unless absolutely needed.

Note
For performance reasons this value can be increased at any time(only exception: Working with the interface layout mvIMPACT.acquire.dilGenICam while streaming is active) but can only be decreased when no request object is currently locked by the application and no requests has been queued for acquisition. So modifying this value might require the application to call mvIMPACT.acquire.FunctionInterface.imageRequestReset and several calls to mvIMPACT.acquire.Request.unlock before.

There are not too many reasons to modify the default request count suggested by the device driver. Good reasons include:

  • a single image is huge compared to the overall system memory(e.g. a single image has 200MB while the system itself only has about 2GB of RAM. Here it might make sense to reduce the number of capture buffers to 1 or 2. Please note that in such a scenario double buffering or live display when one buffer is constantly blocked by the display engine can become a challenge!
  • the frame rate is high(larger than 100 frames per second) and no frames shall be lost. Here it might make sense to set the number of capture buffers to something like frame rate divided by 2 to 5 as a rule of thumb.
See also
mvIMPACT.acquire.FunctionInterface.requestCount

◆ thisown

thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
static

◆ treble

treble = property(lib_mvIMPACT_acquire.SystemV4L2_treble_get, doc=)
static

If V4L2 device supports audio, this integer property adjusts the audio treble.

This property represents a V4L2-audio-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.

◆ volume

volume = property(lib_mvIMPACT_acquire.SystemV4L2_volume_get, doc=)
static

If V4L2 device supports audio, this integer property adjusts the audio volume.

This property represents a V4L2-audio-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.

◆ waitForPendingRequestsOnStopEnable

waitForPendingRequestsOnStopEnable = property(lib_mvIMPACT_acquire.SystemSettings_waitForPendingRequestsOnStopEnable_get, doc=)
staticinherited

An enumerated integer property influencing the behavior of the mvIMPACT.acquire.FunctionInterface.acquisitionStop function.

If this property is set to mvIMPACT.acquire.TBoolean.bTrue before calling mvIMPACT.acquire.FunctionInterface.acquisitionStop all requests still queued will be processed before actually stopping the data transfer and acquisition engine. As a result the mvIMPACT.acquire.FunctionInterface.acquisitionStop function might return late. E.g. in case of missing trigger pulses the function might not return at all if not calling mvIMPACT.acquire.FunctionInterface.imageRequestReset from another thread.

Note
This feature should only be used under very rare circumstances! It provides a custom functionality that can be implemented much nicer in an application an should only be used to achieve a certain backward compatibility.

Valid values for this property may be: mvIMPACT.acquire.bFalse, mvIMPACT.acquire.bTrue.

Note
This property will only be available when mvIMPACT.acquire.Device.acquisitionStartStopBehaviour has been set to mvIMPACT.acquire.assbUser.
Since
3.5.0