Impact Acquire SDK Java
CustomCommandGenerator Class Reference

Contains convenience functions to control features understood by a devices custom command interpreter. More...

Public Member Functions

long commandBufferSize ()
 Returns the size of the command buffer for this device in bytes.
 
long commandBufferSizeUsed ()
 Returns the amount of bytes of the command buffer currently used(thus the amount of bytes that await sending) for this device in bytes.
 
 CustomCommandGenerator (Device pDev)
 Constructs a new mvIMPACT.acquire.CustomCommandGenerator object.
 
 CustomCommandGenerator (Device pDev, String settingName)
 Constructs a new mvIMPACT.acquire.CustomCommandGenerator object.
 
synchronized void delete ()
 
void discardCommandBuffer ()
 Discards all pending custom commands to the device.
 
int modifySequencerSetValue (long sequencerSet, int parameter, double value)
 Modifies a value of a certain sequencer set at runtime.
 
int modifySequencerSetValue (long sequencerSet, int parameter, long value)
 Modifies a value of a certain sequencer set at runtime.
 
int queueSequencerSetValueModification (long sequencerSet, int parameter, double value)
 Queues the modification of a value of a certain sequencer set at runtime.
 
int queueSequencerSetValueModification (long sequencerSet, int parameter, long value)
 Queues the modification of a value of a certain sequencer set at runtime.
 
int queueTransmissionRequest (long timestamp_us, int offsetX, int offsetY, int width, int height)
 Request the transmission of an image with a certain timestamp in a different mode/ROI.
 
int queueTransmissionRequest (long timestamp_us, int offsetX, int offsetY, int width, int height, int mode)
 Request the transmission of an image with a certain timestamp in a different mode/ROI.
 
int queueTransmissionRequest (long timestamp_us, int offsetX, int offsetY, int width, int height, int mode, long identifier)
 Request the transmission of an image with a certain timestamp in a different mode/ROI.
 
int queueTransmissionRequest (Request pRequest)
 Request the transmission of an image currently associated with the Request object in full resolution.
 
int queueTransmissionRequest (Request pRequest, int offsetX, int offsetY, int width, int height)
 Request the transmission of an image currently associated with the Request object in a different mode/ROI.
 
int queueTransmissionRequest (Request pRequest, int offsetX, int offsetY, int width, int height, int mode)
 Request the transmission of an image currently associated with the Request object in a different mode/ROI.
 
int queueTransmissionRequest (Request pRequest, int offsetX, int offsetY, int width, int height, int mode, long identifier)
 Request the transmission of an image currently associated with the Request object in a different mode/ROI.
 
int queueTransmissionRequest (Request pRequest, long identifier)
 Request the transmission of an image currently associated with the Request object in full resolution.
 
int requestTransmission (long timestamp_us, int offsetX, int offsetY, int width, int height)
 Request the transmission of an image with a certain timestamp in a different mode/ROI.
 
int requestTransmission (long timestamp_us, int offsetX, int offsetY, int width, int height, int mode)
 Request the transmission of an image with a certain timestamp in a different mode/ROI.
 
int requestTransmission (long timestamp_us, int offsetX, int offsetY, int width, int height, int mode, long identifier)
 Request the transmission of an image with a certain timestamp in a different mode/ROI.
 
int requestTransmission (Request pRequest)
 Request the transmission of an image currently associated with the Request object in full resolution.
 
int requestTransmission (Request pRequest, int offsetX, int offsetY, int width, int height)
 Request the transmission of an image currently associated with the Request object in a different mode/ROI.
 
int requestTransmission (Request pRequest, int offsetX, int offsetY, int width, int height, int mode)
 Request the transmission of an image currently associated with the Request object in a different mode/ROI.
 
int requestTransmission (Request pRequest, int offsetX, int offsetY, int width, int height, int mode, long identifier)
 Request the transmission of an image currently associated with the Request object in a different mode/ROI.
 
int requestTransmission (Request pRequest, long identifier)
 Request the transmission of an image currently associated with the Request object in full resolution.
 
int sendCommandBuffer ()
 Applies all pending custom commands to the device.
 

Protected Member Functions

 CustomCommandGenerator (long cPtr, boolean cMemoryOwn)
 
void finalize ()
 

Static Protected Member Functions

static long swigRelease (CustomCommandGenerator obj)
 

Protected Attributes

transient boolean swigCMemOwn
 

Detailed Description

Contains convenience functions to control features understood by a devices custom command interpreter.

Contains convenience functions to control features understood by a devices custom command interpreter.

Note
Creating an instance of this class will only succeed when the device associated with this object supports the mvIMPACT.acquire.mvCustomData.mvCustomCommandBuffer feature. If the feature is not supported an exception will be raised!

This class will allow to create various special commands understood by some MATRIX VISION and Balluff imaging devices. For example an application can modify parameters in a running sequencer program without stopping the acquisition engine and/or the sequencer program (see mvIMPACT.acquire.SequencerControl and the corresponding use cases for details). This allows changes to be applied much faster than with a conventional approach which would work like this:

AcquisitionControl ac = new AcquisitionControl( getDevicePointerFromSomewhere() );
SequencerControl sc = new SequencerControl( getDevicePointerFromSomewhere() );
sc.getSequencerMode().writeS( "Off" );
sc.getSequencerSetLoad().call(); // needed as otherwise other parameters in the set might get changed as well.
ac.getExposureTime().write( 20000 );
sc.getSequencerMode().writeS( "On" );
Category for the acquisition and trigger control features.
Definition AcquisitionControl.java:16
PropertyF getExposureTime()
A floating point property.
Definition AcquisitionControl.java:600
int call(StringVector params)
Calls an underlying driver function.
Definition Method.java:129
PropertyF write(double value, int index)
Writes one value to the property.
Definition PropertyF.java:349
PropertyI64 write(long value, int index)
Writes one value to the property.
Definition PropertyI64.java:349
Property writeS(String value, int index)
Assigns a new value to this property.
Definition Property.java:754
Category for the Sequencer Control features.
Definition SequencerControl.java:16
PropertyI64 getSequencerConfigurationMode()
An enumerated integer property.
Definition SequencerControl.java:108
Method getSequencerSetLoad()
A method object.
Definition SequencerControl.java:174
PropertyI64 getSequencerSetSelector()
An integer property.
Definition SequencerControl.java:156
PropertyI64 getSequencerMode()
An enumerated integer property.
Definition SequencerControl.java:92
Method getSequencerSetSave()
A method object.
Definition SequencerControl.java:165

A single parameter in a defined sequencer set can be modified much faster at runtime like this:

CustomCommandGenerator ccg = new CustomCommandGenerator( getDevicePointerFromSomewhere() );
// change the exposure time in sequencer set 2 to 30000 us.
Contains convenience functions to control features understood by a devices custom command interpreter...
Definition CustomCommandGenerator.java:388
int modifySequencerSetValue(long sequencerSet, int parameter, long value)
Modifies a value of a certain sequencer set at runtime.
Definition CustomCommandGenerator.java:959
Defines valid parameters that can be modified within a sequencer set at runtime.
Definition TSequencerSetParameter.java:20
static final int sspExposureTime
Requests the ExposureTime property to be modified in a user selected sequencer set.
Definition TSequencerSetParameter.java:38
Attention
In a real world application the instance of mvIMPACT.acquire.CustomCommandGenerator should be a member of a class or stored elsewhere as constructing objects from the mvIMPACT.acquire namespace is taking time so this shouldn't be done for each command that shall be sent!

This class uses an internal command buffer which allows an application to send multiple change commands in a single packet. This can be achieved like this:

CustomCommandGenerator ccg = new CustomCommandGenerator( getDevicePointerFromSomewhere() );
// queue 2 parameter change requests
// change the \c AnalogAll gain in sequencer set 0 to 3.14 dB.
// change the exposure time in sequencer set 1 to 20000 us.
// send the 2 modifications in a single package
int sendCommandBuffer()
Applies all pending custom commands to the device.
Definition CustomCommandGenerator.java:1045
int queueSequencerSetValueModification(long sequencerSet, int parameter, long value)
Queues the modification of a value of a certain sequencer set at runtime.
Definition CustomCommandGenerator.java:1004
static final int sspGain_AnalogAll
Requests the Gain[GainSelector=AnalogAll] property to be modified in a user selected sequencer set.
Definition TSequencerSetParameter.java:40

The command queue NEVER overflows. When no more data can be stored in the queue before queuing the next parameter change all the pending changes will be transmitted to the device. Calling mvIMPACT.acquire.CustomCommandGenerator.queueSequencerSetValueModification and mvIMPACT.acquire.CustomCommandGenerator.sendCommandBuffer directly afterwards is equivalent to call mvIMPACT.acquire.CustomCommandGenerator.modifySequencerSetValue. So the previous example can also be rewritten like this:

CustomCommandGenerator ccg = new CustomCommandGenerator( getDevicePointerFromSomewhere() );
// queue 2 parameter change requests
// change the \c AnalogAll gain in sequencer set 0 to 3.14 dB.
// change the exposure time in sequencer set 1 to 20000 us and send both requests to the device in a single packet.

Because there can never be an overflow of the command queue even this code is valid:

for( int i = 0; i < 100; i += 2 )
{
// if the command buffer is full everything should be sent to the device thus no error should be returned here
}
double getMinValue()
Reads the minimum value from a property.
Definition PropertyF.java:241
static final int sspCounterDuration_Counter1
Requests the CounterDuration[CounterSelector=Counter1] property to be modified in a user selected seq...
Definition TSequencerSetParameter.java:22

Apart from modifying sequencer sets at runtime some MATRIX VISION and Balluff imaging devices support the so called Smart Frame Recall feature. For more information about the feature itself please refer to the corresponding use case in the product documentation. There is also a C++ example called GenICamSmartFrameRecallUsage.cpp which can be read to get a first glimpse. The source code and the documentation of this example can be found in the C++ version of this documentation. The mvIMPACT.acquire.CustomCommandGenerator provides functions to request a full resolution version of an image based on a mvIMPACT.acquire.Request object containing an image with reduced resolution passed to it (internally the relevant piece of information is the timestamp of the image to request). To request an image an application can call one of the various versions of the mvIMPACT.acquire.CustomCommandGenerator.requestTransmission functions.

import java.util.concurrent.ThreadLocalRandom; // for random number!
// ... more code, class definition, etc.
public static int getNextRandomValue( int min, int max )
{
return ThreadLocalRandom.current().nextInt( min, max + 1 );
}
// ... more code, function body, etc.
//...
// switch on the smart frame recall feature
// more code
Request pRequest = getRequestFromSomewhere();
// request the transmission of an arbitrary ROI of this image in full resolution
int w = getNextRandomValue( 1, pRequest.getImageWidth().read() );
int h = getNextRandomValue( 1, pRequest.getImageHeight().read() );
int x = getNextRandomValue( 0, pRequest.getImageWidth().read() - w );
int y = getNextRandomValue( 0, pRequest.getImageHeight().read() - h );
PropertyI getMvSmartFrameRecallEnable()
A boolean property.
Definition AcquisitionControl.java:1127
int requestTransmission(long timestamp_us, int offsetX, int offsetY, int width, int height, int mode, long identifier)
Request the transmission of an image with a certain timestamp in a different mode/ROI.
Definition CustomCommandGenerator.java:725
PropertyI write(int value, int index)
Writes one value to the property.
Definition PropertyI.java:350
int read(int index)
Reads a value from a property.
Definition PropertyI.java:198
Contains information about a captured buffer.
Definition Request.java:32
PropertyI getImageHeight()
An integer property (read-only) containing the height of the image in pixels.
Definition Request.java:1544
PropertyI getImageWidth()
An integer property (read-only) containing the width of the image in pixels.
Definition Request.java:1525
Defines a Boolean value type.
Definition TBoolean.java:15
static final int bTrue
On, true or logical high.
Definition TBoolean.java:19
Defines valid request transmission modes.
Definition TRequestTransmissionMode.java:20
static final int rtmFullResolution
Request transmission of an image in full resolution.
Definition TRequestTransmissionMode.java:22

To allow the application to distinguish easily between images belonging to the reduced data stream and the ones that have been explicitly requested by the application the mvIMPACT.acquire.Request.getChunkmvCustomIdentifier() can be used. When requesting a full resolution ROI the application can tag the requested images with a custom identifier. This identifier is later returned in the chunk data of the image. The following example demonstrates how to use this feature:

CustomCommandGenerator ccg = new CustomCommandGenerator( getDevicePointerFromSomewhere() );
// switch on the smart frame recall feature
AcquisitionControl ac = new AcquisitionControl( getDevicePointerFromSomewhere() );
// the chunk mode must be switched on to use chunk data for processing:
ChunkDataControl cdc = new ChunkDataControl( getDevicePointerFromSomewhere() );
cdc.getChunkSelector().writeS("Image");
// enable the 'mvCustomIdentifier' chunk
cdc.getChunkSelector().writeS( "mvCustomIdentifier" );
// more code ...
long customID = 42;
Request pRequest = getRequestFromSomewhere();
if( pRequest.getChunkmvCustomIdentifier().read() == 0 )
{
// As the 'mvCustomIdentifier' is 0 this is a frame from the normal stream
Rectangle r = new Rectangle();
if( doesImageContainInteresstingData( r ) )
{
// request the transmission of the interesting ROI this image in full resolution
ccg.requestTransmission( pRequest, r.x, r.y, r.w, r.h, TRequestTransmissionMode.rtmFullResolution, customID );
}
}
else if( pRequest.getChunkmvCustomIdentifier.read() == customID )
{
// As the 'mvCustomIdentifier' is 'customID' this is a frame explicitly requested by the application
processImage( pRequest );
}
else
{
// some other ID (this however must have been set by the application as well)
}
// normal 'unlocking' code for requests should reside here!!
// more code...
Category that contains the Chunk Data control features.
Definition ChunkDataControl.java:16
PropertyI getChunkModeActive()
A boolean property.
Definition ChunkDataControl.java:85
PropertyI getChunkEnable()
A boolean property.
Definition ChunkDataControl.java:170
PropertyI64 getChunkSelector()
An enumerated integer property.
Definition ChunkDataControl.java:161
long read(int index)
Reads a value from a property.
Definition PropertyI64.java:197
PropertyI64 getChunkmvCustomIdentifier()
A 64 bit integer property (read-only) containing the previously configured user defined identifier at...
Definition Request.java:1253
Since
2.18.0

Constructor & Destructor Documentation

◆ CustomCommandGenerator() [1/3]

CustomCommandGenerator ( long cPtr,
boolean cMemoryOwn )
protected

◆ CustomCommandGenerator() [2/3]

CustomCommandGenerator ( Device pDev,
String settingName )

Constructs a new mvIMPACT.acquire.CustomCommandGenerator object.

Parameters
pDev[in] A pointer to a mvIMPACT.acquire.Device object obtained from a mvIMPACT.acquire.DeviceManager object.
settingName[in] The 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

◆ CustomCommandGenerator() [3/3]

Constructs a new mvIMPACT.acquire.CustomCommandGenerator object.

Parameters
pDev[in] A pointer to a mvIMPACT.acquire.Device object obtained from a mvIMPACT.acquire.DeviceManager object. 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

◆ commandBufferSize()

long commandBufferSize ( )

Returns the size of the command buffer for this device in bytes.

Since
2.18.0
Returns
The size of the command buffer for this device in bytes.

◆ commandBufferSizeUsed()

long commandBufferSizeUsed ( )

Returns the amount of bytes of the command buffer currently used(thus the amount of bytes that await sending) for this device in bytes.

Since
2.18.0
Returns
The amount of bytes of the command buffer currently used(thus the amount of bytes that await sending) for this device in bytes.

◆ delete()

synchronized void delete ( )

◆ discardCommandBuffer()

void discardCommandBuffer ( )

Discards all pending custom commands to the device.

This function will discard all pending custom commands. After calling this function the pending command queue will be empty an can be filled with new commands.

Since
2.18.0

◆ finalize()

void finalize ( )
protected

◆ modifySequencerSetValue() [1/2]

int modifySequencerSetValue ( long sequencerSet,
int parameter,
double value )

Modifies a value of a certain sequencer set at runtime.

This is a convenience function combining a call to mvIMPACT.acquire.CustomCommandGenerator.queueSequencerSetValueModification directly followed by a call to mvIMPACT.acquire.CustomCommandGenerator.sendCommandBuffer. Commands which have been queued before and have not yet been sent will be sent as well when calling this function.

Since
2.18.0
Returns
Parameters
sequencerSetThe index of the sequencer set to modify.
parameterThe parameter within the selected sequencer set to modify.
valueThe new value the selected parameter within the selected sequencer set shall be set to.

◆ modifySequencerSetValue() [2/2]

int modifySequencerSetValue ( long sequencerSet,
int parameter,
long value )

Modifies a value of a certain sequencer set at runtime.

This is a convenience function combining a call to mvIMPACT.acquire.CustomCommandGenerator.queueSequencerSetValueModification directly followed by a call to mvIMPACT.acquire.CustomCommandGenerator.sendCommandBuffer. Commands which have been queued before and have not yet been sent will be sent as well when calling this function.

Since
2.18.0
Returns
Parameters
sequencerSetThe index of the sequencer set to modify.
parameterThe parameter within the selected sequencer set to modify.
valueThe new value the selected parameter within the selected sequencer set shall be set to.

◆ queueSequencerSetValueModification() [1/2]

int queueSequencerSetValueModification ( long sequencerSet,
int parameter,
double value )

Queues the modification of a value of a certain sequencer set at runtime.

This function queues a single parameter modification of a selected sequencer set. The actual modification will not become effective until mvIMPACT.acquire.CustomCommandGenerator.sendCommandBuffer is called. With this function multiple modifications can be sent to a device at once. When the new command does not fit inside the internal command queue any more all pending commands will be sent to the device before the new one is put into the queue.

See also
mvIMPACT.acquire.CustomCommandGenerator.sendCommandBuffer
Since
2.18.0
Returns
Parameters
sequencerSetThe index of the sequencer set to modify.
parameterThe parameter within the selected sequencer set to modify.
valueThe new value the selected parameter within the selected sequencer set shall be set to.

◆ queueSequencerSetValueModification() [2/2]

int queueSequencerSetValueModification ( long sequencerSet,
int parameter,
long value )

Queues the modification of a value of a certain sequencer set at runtime.

This function queues a single parameter modification of a selected sequencer set. The actual modification will not become effective until mvIMPACT.acquire.CustomCommandGenerator.sendCommandBuffer is called. With this function multiple modifications can be sent to a device at once. When the new command does not fit inside the internal command queue any more all pending commands will be sent to the device before the new one is put into the queue.

See also
mvIMPACT.acquire.CustomCommandGenerator.sendCommandBuffer
Since
2.18.0
Returns
Parameters
sequencerSetThe index of the sequencer set to modify.
parameterThe parameter within the selected sequencer set to modify.
valueThe new value the selected parameter within the selected sequencer set shall be set to.

◆ queueTransmissionRequest() [1/8]

int queueTransmissionRequest ( long timestamp_us,
int offsetX,
int offsetY,
int width,
int height )

Request the transmission of an image with a certain timestamp in a different mode/ROI.

If mvIMPACT.acquire.AcquisitionControl.mvSmartFrameRecallEnable is set to mvIMPACT.acquire.TBoolean.bTrue this function can be used to request the transmission of the image currently associated with pRequest in a different mode/resolution. One use case would be to transmit every image taken by the sensor with a very coarse resolution e.g. by setting the properties mvIMPACT.acquire.ImageFormatControl.decimationHorizontal and/or mvIMPACT.acquire.ImageFormatControl.decimationVertical to values greater than 1. When then an algorithm finds something interesting within an image this function can be used to request the transmission of the very same image in full resolution for detailed processing.

Since
2.18.1
Returns
Parameters
timestamp_us[in] The timestamp of the mvIMPACT.acquire.Request object shall be transmitted again.
offsetX[in] The X-offset of the ROI of the image that shall be transmitted within the current image.
offsetY[in] The Y-offset of the ROI of the image that shall be transmitted within the current image.
width[in] The width of the ROI of the image that shall be transmitted within the current image.
height[in] The height of the ROI of the image that shall be transmitted within the current image. mvIMPACT.acquire.Request.getChunkmvCustomIdentifier() property so in order to actually benefit from this parameter the corresponding chunk must be enabled. See mvIMPACT.acquire.ChunkDataControl for details.

◆ queueTransmissionRequest() [2/8]

int queueTransmissionRequest ( long timestamp_us,
int offsetX,
int offsetY,
int width,
int height,
int mode )

Request the transmission of an image with a certain timestamp in a different mode/ROI.

If mvIMPACT.acquire.AcquisitionControl.mvSmartFrameRecallEnable is set to mvIMPACT.acquire.TBoolean.bTrue this function can be used to request the transmission of the image currently associated with pRequest in a different mode/resolution. One use case would be to transmit every image taken by the sensor with a very coarse resolution e.g. by setting the properties mvIMPACT.acquire.ImageFormatControl.decimationHorizontal and/or mvIMPACT.acquire.ImageFormatControl.decimationVertical to values greater than 1. When then an algorithm finds something interesting within an image this function can be used to request the transmission of the very same image in full resolution for detailed processing.

Since
2.18.1
Returns
Parameters
timestamp_us[in] The timestamp of the mvIMPACT.acquire.Request object shall be transmitted again.
offsetX[in] The X-offset of the ROI of the image that shall be transmitted within the current image.
offsetY[in] The Y-offset of the ROI of the image that shall be transmitted within the current image.
width[in] The width of the ROI of the image that shall be transmitted within the current image.
height[in] The height of the ROI of the image that shall be transmitted within the current image.
mode[in] The mode in which this image shall be transmitted. mvIMPACT.acquire.Request.getChunkmvCustomIdentifier() property so in order to actually benefit from this parameter the corresponding chunk must be enabled. See mvIMPACT.acquire.ChunkDataControl for details.

◆ queueTransmissionRequest() [3/8]

int queueTransmissionRequest ( long timestamp_us,
int offsetX,
int offsetY,
int width,
int height,
int mode,
long identifier )

Request the transmission of an image with a certain timestamp in a different mode/ROI.

If mvIMPACT.acquire.AcquisitionControl.mvSmartFrameRecallEnable is set to mvIMPACT.acquire.TBoolean.bTrue this function can be used to request the transmission of the image currently associated with pRequest in a different mode/resolution. One use case would be to transmit every image taken by the sensor with a very coarse resolution e.g. by setting the properties mvIMPACT.acquire.ImageFormatControl.decimationHorizontal and/or mvIMPACT.acquire.ImageFormatControl.decimationVertical to values greater than 1. When then an algorithm finds something interesting within an image this function can be used to request the transmission of the very same image in full resolution for detailed processing.

Since
2.18.1
Returns
Parameters
timestamp_us[in] The timestamp of the mvIMPACT.acquire.Request object shall be transmitted again.
offsetX[in] The X-offset of the ROI of the image that shall be transmitted within the current image.
offsetY[in] The Y-offset of the ROI of the image that shall be transmitted within the current image.
width[in] The width of the ROI of the image that shall be transmitted within the current image.
height[in] The height of the ROI of the image that shall be transmitted within the current image.
mode[in] The mode in which this image shall be transmitted.
identifier[in] A user defined identifier that shall be attached to the image that will be sent as a result of calling this function. This value will be written into the mvIMPACT.acquire.Request.getChunkmvCustomIdentifier() property so in order to actually benefit from this parameter the corresponding chunk must be enabled. See mvIMPACT.acquire.ChunkDataControl for details.

◆ queueTransmissionRequest() [4/8]

int queueTransmissionRequest ( Request pRequest)

Request the transmission of an image currently associated with the Request object in full resolution.

If mvIMPACT.acquire.AcquisitionControl.mvSmartFrameRecallEnable is set to mvIMPACT.acquire.TBoolean.bTrue this function can be used to queue the transmission request of the image currently associated with pRequest in full resolution. One use case would be to transmit every image taken by the sensor with a very coarse resolution e.g. by setting the properties mvIMPACT.acquire.ImageFormatControl.decimationHorizontal and/or mvIMPACT.acquire.ImageFormatControl.decimationVertical to values greater than 1. When then an algorithm finds something interesting within an image this function can be used to request the transmission of the very same image in full resolution for detailed processing.

The actual transmission request will not be sent to the device until mvIMPACT.acquire.CustomCommandGenerator.sendCommandBuffer is called. With this function multiple commands can be sent to a device at once. When the new command does not fit inside the internal command queue any more all pending commands will be sent to the device before the new one is put into the queue.

See also
mvIMPACT.acquire.CustomCommandGenerator.sendCommandBuffer
Since
2.18.1
Returns
Parameters
pRequest[in] A pointer to a mvIMPACT.acquire.Request object currently associated with the image that shall be transmitted again. mvIMPACT.acquire.Request.getChunkmvCustomIdentifier() property so in order to actually benefit from this parameter the corresponding chunk must be enabled. See mvIMPACT.acquire.ChunkDataControl for details.

◆ queueTransmissionRequest() [5/8]

int queueTransmissionRequest ( Request pRequest,
int offsetX,
int offsetY,
int width,
int height )

Request the transmission of an image currently associated with the Request object in a different mode/ROI.

If mvIMPACT.acquire.AcquisitionControl.mvSmartFrameRecallEnable is set to mvIMPACT.acquire.TBoolean.bTrue this function can be used to request the transmission of the image currently associated with pRequest in a different mode/resolution. One use case would be to transmit every image taken by the sensor with a very coarse resolution e.g. by setting the properties mvIMPACT.acquire.ImageFormatControl.decimationHorizontal and/or mvIMPACT.acquire.ImageFormatControl.decimationVertical to values greater than 1. When then an algorithm finds something interesting within an image this function can be used to request the transmission of the very same image in full resolution for detailed processing.

Since
2.18.1
Returns
Parameters
pRequest[in] A pointer to a mvIMPACT.acquire.Request object currently associated with the image that shall be transmitted again.
offsetX[in] The X-offset of the ROI of the image that shall be transmitted within the current image.
offsetY[in] The Y-offset of the ROI of the image that shall be transmitted within the current image.
width[in] The width of the ROI of the image that shall be transmitted within the current image.
height[in] The height of the ROI of the image that shall be transmitted within the current image. mvIMPACT.acquire.Request.getChunkmvCustomIdentifier() property so in order to actually benefit from this parameter the corresponding chunk must be enabled. See mvIMPACT.acquire.ChunkDataControl for details.

◆ queueTransmissionRequest() [6/8]

int queueTransmissionRequest ( Request pRequest,
int offsetX,
int offsetY,
int width,
int height,
int mode )

Request the transmission of an image currently associated with the Request object in a different mode/ROI.

If mvIMPACT.acquire.AcquisitionControl.mvSmartFrameRecallEnable is set to mvIMPACT.acquire.TBoolean.bTrue this function can be used to request the transmission of the image currently associated with pRequest in a different mode/resolution. One use case would be to transmit every image taken by the sensor with a very coarse resolution e.g. by setting the properties mvIMPACT.acquire.ImageFormatControl.decimationHorizontal and/or mvIMPACT.acquire.ImageFormatControl.decimationVertical to values greater than 1. When then an algorithm finds something interesting within an image this function can be used to request the transmission of the very same image in full resolution for detailed processing.

Since
2.18.1
Returns
Parameters
pRequest[in] A pointer to a mvIMPACT.acquire.Request object currently associated with the image that shall be transmitted again.
offsetX[in] The X-offset of the ROI of the image that shall be transmitted within the current image.
offsetY[in] The Y-offset of the ROI of the image that shall be transmitted within the current image.
width[in] The width of the ROI of the image that shall be transmitted within the current image.
height[in] The height of the ROI of the image that shall be transmitted within the current image.
mode[in] The mode in which this image shall be transmitted. mvIMPACT.acquire.Request.getChunkmvCustomIdentifier() property so in order to actually benefit from this parameter the corresponding chunk must be enabled. See mvIMPACT.acquire.ChunkDataControl for details.

◆ queueTransmissionRequest() [7/8]

int queueTransmissionRequest ( Request pRequest,
int offsetX,
int offsetY,
int width,
int height,
int mode,
long identifier )

Request the transmission of an image currently associated with the Request object in a different mode/ROI.

If mvIMPACT.acquire.AcquisitionControl.mvSmartFrameRecallEnable is set to mvIMPACT.acquire.TBoolean.bTrue this function can be used to request the transmission of the image currently associated with pRequest in a different mode/resolution. One use case would be to transmit every image taken by the sensor with a very coarse resolution e.g. by setting the properties mvIMPACT.acquire.ImageFormatControl.decimationHorizontal and/or mvIMPACT.acquire.ImageFormatControl.decimationVertical to values greater than 1. When then an algorithm finds something interesting within an image this function can be used to request the transmission of the very same image in full resolution for detailed processing.

Since
2.18.1
Returns
Parameters
pRequest[in] A pointer to a mvIMPACT.acquire.Request object currently associated with the image that shall be transmitted again.
offsetX[in] The X-offset of the ROI of the image that shall be transmitted within the current image.
offsetY[in] The Y-offset of the ROI of the image that shall be transmitted within the current image.
width[in] The width of the ROI of the image that shall be transmitted within the current image.
height[in] The height of the ROI of the image that shall be transmitted within the current image.
mode[in] The mode in which this image shall be transmitted.
identifier[in] A user defined identifier that shall be attached to the image that will be sent as a result of calling this function. This value will be written into the mvIMPACT.acquire.Request.getChunkmvCustomIdentifier() property so in order to actually benefit from this parameter the corresponding chunk must be enabled. See mvIMPACT.acquire.ChunkDataControl for details.

◆ queueTransmissionRequest() [8/8]

int queueTransmissionRequest ( Request pRequest,
long identifier )

Request the transmission of an image currently associated with the Request object in full resolution.

If mvIMPACT.acquire.AcquisitionControl.mvSmartFrameRecallEnable is set to mvIMPACT.acquire.TBoolean.bTrue this function can be used to queue the transmission request of the image currently associated with pRequest in full resolution. One use case would be to transmit every image taken by the sensor with a very coarse resolution e.g. by setting the properties mvIMPACT.acquire.ImageFormatControl.decimationHorizontal and/or mvIMPACT.acquire.ImageFormatControl.decimationVertical to values greater than 1. When then an algorithm finds something interesting within an image this function can be used to request the transmission of the very same image in full resolution for detailed processing.

The actual transmission request will not be sent to the device until mvIMPACT.acquire.CustomCommandGenerator.sendCommandBuffer is called. With this function multiple commands can be sent to a device at once. When the new command does not fit inside the internal command queue any more all pending commands will be sent to the device before the new one is put into the queue.

See also
mvIMPACT.acquire.CustomCommandGenerator.sendCommandBuffer
Since
2.18.1
Returns
Parameters
pRequest[in] A pointer to a mvIMPACT.acquire.Request object currently associated with the image that shall be transmitted again.
identifier[in] A user defined identifier that shall be attached to the image that will be sent as a result of calling this function. This value will be written into the mvIMPACT.acquire.Request.getChunkmvCustomIdentifier() property so in order to actually benefit from this parameter the corresponding chunk must be enabled. See mvIMPACT.acquire.ChunkDataControl for details.

◆ requestTransmission() [1/8]

int requestTransmission ( long timestamp_us,
int offsetX,
int offsetY,
int width,
int height )

Request the transmission of an image with a certain timestamp in a different mode/ROI.

This is a convenience function combining a call to mvIMPACT.acquire.CustomCommandGenerator.queueTransmissionRequest directly followed by a call to mvIMPACT.acquire.CustomCommandGenerator.sendCommandBuffer. Commands which have been queued before and have not yet been sent will be sent as well when calling this function.

If mvIMPACT.acquire.AcquisitionControl.mvSmartFrameRecallEnable is set to mvIMPACT.acquire.TBoolean.bTrue this function can be used to request the transmission of the image currently associated with pRequest in a different mode/resolution. One use case would be to transmit every image taken by the sensor with a very coarse resolution e.g. by setting the properties mvIMPACT.acquire.ImageFormatControl.decimationHorizontal and/or mvIMPACT.acquire.ImageFormatControl.decimationVertical to values greater than 1. When then an algorithm finds something interesting within an image this function can be used to request the transmission of the very same image in full resolution for detailed processing.

Since
2.18.1
Returns
Parameters
timestamp_us[in] The timestamp of the mvIMPACT.acquire.Request object shall be transmitted again.
offsetX[in] The X-offset of the ROI of the image that shall be transmitted within the current image.
offsetY[in] The Y-offset of the ROI of the image that shall be transmitted within the current image.
width[in] The width of the ROI of the image that shall be transmitted within the current image.
height[in] The height of the ROI of the image that shall be transmitted within the current image. mvIMPACT.acquire.Request.getChunkmvCustomIdentifier() property so in order to actually benefit from this parameter the corresponding chunk must be enabled. See mvIMPACT.acquire.ChunkDataControl for details.

◆ requestTransmission() [2/8]

int requestTransmission ( long timestamp_us,
int offsetX,
int offsetY,
int width,
int height,
int mode )

Request the transmission of an image with a certain timestamp in a different mode/ROI.

This is a convenience function combining a call to mvIMPACT.acquire.CustomCommandGenerator.queueTransmissionRequest directly followed by a call to mvIMPACT.acquire.CustomCommandGenerator.sendCommandBuffer. Commands which have been queued before and have not yet been sent will be sent as well when calling this function.

If mvIMPACT.acquire.AcquisitionControl.mvSmartFrameRecallEnable is set to mvIMPACT.acquire.TBoolean.bTrue this function can be used to request the transmission of the image currently associated with pRequest in a different mode/resolution. One use case would be to transmit every image taken by the sensor with a very coarse resolution e.g. by setting the properties mvIMPACT.acquire.ImageFormatControl.decimationHorizontal and/or mvIMPACT.acquire.ImageFormatControl.decimationVertical to values greater than 1. When then an algorithm finds something interesting within an image this function can be used to request the transmission of the very same image in full resolution for detailed processing.

Since
2.18.1
Returns
Parameters
timestamp_us[in] The timestamp of the mvIMPACT.acquire.Request object shall be transmitted again.
offsetX[in] The X-offset of the ROI of the image that shall be transmitted within the current image.
offsetY[in] The Y-offset of the ROI of the image that shall be transmitted within the current image.
width[in] The width of the ROI of the image that shall be transmitted within the current image.
height[in] The height of the ROI of the image that shall be transmitted within the current image.
mode[in] The mode in which this image shall be transmitted. mvIMPACT.acquire.Request.getChunkmvCustomIdentifier() property so in order to actually benefit from this parameter the corresponding chunk must be enabled. See mvIMPACT.acquire.ChunkDataControl for details.

◆ requestTransmission() [3/8]

int requestTransmission ( long timestamp_us,
int offsetX,
int offsetY,
int width,
int height,
int mode,
long identifier )

Request the transmission of an image with a certain timestamp in a different mode/ROI.

This is a convenience function combining a call to mvIMPACT.acquire.CustomCommandGenerator.queueTransmissionRequest directly followed by a call to mvIMPACT.acquire.CustomCommandGenerator.sendCommandBuffer. Commands which have been queued before and have not yet been sent will be sent as well when calling this function.

If mvIMPACT.acquire.AcquisitionControl.mvSmartFrameRecallEnable is set to mvIMPACT.acquire.TBoolean.bTrue this function can be used to request the transmission of the image currently associated with pRequest in a different mode/resolution. One use case would be to transmit every image taken by the sensor with a very coarse resolution e.g. by setting the properties mvIMPACT.acquire.ImageFormatControl.decimationHorizontal and/or mvIMPACT.acquire.ImageFormatControl.decimationVertical to values greater than 1. When then an algorithm finds something interesting within an image this function can be used to request the transmission of the very same image in full resolution for detailed processing.

Since
2.18.1
Returns
Parameters
timestamp_us[in] The timestamp of the mvIMPACT.acquire.Request object shall be transmitted again.
offsetX[in] The X-offset of the ROI of the image that shall be transmitted within the current image.
offsetY[in] The Y-offset of the ROI of the image that shall be transmitted within the current image.
width[in] The width of the ROI of the image that shall be transmitted within the current image.
height[in] The height of the ROI of the image that shall be transmitted within the current image.
mode[in] The mode in which this image shall be transmitted.
identifier[in] A user defined identifier that shall be attached to the image that will be sent as a result of calling this function. This value will be written into the mvIMPACT.acquire.Request.getChunkmvCustomIdentifier() property so in order to actually benefit from this parameter the corresponding chunk must be enabled. See mvIMPACT.acquire.ChunkDataControl for details.

◆ requestTransmission() [4/8]

int requestTransmission ( Request pRequest)

Request the transmission of an image currently associated with the Request object in full resolution.

This is a convenience function combining a call to mvIMPACT.acquire.CustomCommandGenerator.queueTransmissionRequest directly followed by a call to mvIMPACT.acquire.CustomCommandGenerator.sendCommandBuffer. Commands which have been queued before and have not yet been sent will be sent as well when calling this function.

If mvIMPACT.acquire.AcquisitionControl.mvSmartFrameRecallEnable is set to mvIMPACT.acquire.TBoolean.bTrue this function can be used to request the transmission of the image currently associated with pRequest in full resolution. One use case would be to transmit every image taken by the sensor with a very coarse resolution e.g. by setting the properties mvIMPACT.acquire.ImageFormatControl.decimationHorizontal and/or mvIMPACT.acquire.ImageFormatControl.decimationVertical to values greater than 1. When then an algorithm finds something interesting within an image this function can be used to request the transmission of the very same image in full resolution for detailed processing.

Since
2.18.0
Returns
Parameters
pRequest[in] A pointer to a mvIMPACT.acquire.Request object currently associated with the image that shall be transmitted again. mvIMPACT.acquire.Request.getChunkmvCustomIdentifier() property so in order to actually benefit from this parameter the corresponding chunk must be enabled. See mvIMPACT.acquire.ChunkDataControl for details.

◆ requestTransmission() [5/8]

int requestTransmission ( Request pRequest,
int offsetX,
int offsetY,
int width,
int height )

Request the transmission of an image currently associated with the Request object in a different mode/ROI.

This is a convenience function combining a call to mvIMPACT.acquire.CustomCommandGenerator.queueTransmissionRequest directly followed by a call to mvIMPACT.acquire.CustomCommandGenerator.sendCommandBuffer. Commands which have been queued before and have not yet been sent will be sent as well when calling this function.

If mvIMPACT.acquire.AcquisitionControl.mvSmartFrameRecallEnable is set to mvIMPACT.acquire.TBoolean.bTrue this function can be used to request the transmission of the image currently associated with pRequest in a different mode/resolution. One use case would be to transmit every image taken by the sensor with a very coarse resolution e.g. by setting the properties mvIMPACT.acquire.ImageFormatControl.decimationHorizontal and/or mvIMPACT.acquire.ImageFormatControl.decimationVertical to values greater than 1. When then an algorithm finds something interesting within an image this function can be used to request the transmission of the very same image in full resolution for detailed processing.

Since
2.18.0
Returns
Parameters
pRequest[in] A pointer to a mvIMPACT.acquire.Request object currently associated with the image that shall be transmitted again.
offsetX[in] The X-offset of the ROI of the image that shall be transmitted within the current image.
offsetY[in] The Y-offset of the ROI of the image that shall be transmitted within the current image.
width[in] The width of the ROI of the image that shall be transmitted within the current image.
height[in] The height of the ROI of the image that shall be transmitted within the current image. mvIMPACT.acquire.Request.getChunkmvCustomIdentifier() property so in order to actually benefit from this parameter the corresponding chunk must be enabled. See mvIMPACT.acquire.ChunkDataControl for details.

◆ requestTransmission() [6/8]

int requestTransmission ( Request pRequest,
int offsetX,
int offsetY,
int width,
int height,
int mode )

Request the transmission of an image currently associated with the Request object in a different mode/ROI.

This is a convenience function combining a call to mvIMPACT.acquire.CustomCommandGenerator.queueTransmissionRequest directly followed by a call to mvIMPACT.acquire.CustomCommandGenerator.sendCommandBuffer. Commands which have been queued before and have not yet been sent will be sent as well when calling this function.

If mvIMPACT.acquire.AcquisitionControl.mvSmartFrameRecallEnable is set to mvIMPACT.acquire.TBoolean.bTrue this function can be used to request the transmission of the image currently associated with pRequest in a different mode/resolution. One use case would be to transmit every image taken by the sensor with a very coarse resolution e.g. by setting the properties mvIMPACT.acquire.ImageFormatControl.decimationHorizontal and/or mvIMPACT.acquire.ImageFormatControl.decimationVertical to values greater than 1. When then an algorithm finds something interesting within an image this function can be used to request the transmission of the very same image in full resolution for detailed processing.

Since
2.18.0
Returns
Parameters
pRequest[in] A pointer to a mvIMPACT.acquire.Request object currently associated with the image that shall be transmitted again.
offsetX[in] The X-offset of the ROI of the image that shall be transmitted within the current image.
offsetY[in] The Y-offset of the ROI of the image that shall be transmitted within the current image.
width[in] The width of the ROI of the image that shall be transmitted within the current image.
height[in] The height of the ROI of the image that shall be transmitted within the current image.
mode[in] The mode in which this image shall be transmitted. mvIMPACT.acquire.Request.getChunkmvCustomIdentifier() property so in order to actually benefit from this parameter the corresponding chunk must be enabled. See mvIMPACT.acquire.ChunkDataControl for details.

◆ requestTransmission() [7/8]

int requestTransmission ( Request pRequest,
int offsetX,
int offsetY,
int width,
int height,
int mode,
long identifier )

Request the transmission of an image currently associated with the Request object in a different mode/ROI.

This is a convenience function combining a call to mvIMPACT.acquire.CustomCommandGenerator.queueTransmissionRequest directly followed by a call to mvIMPACT.acquire.CustomCommandGenerator.sendCommandBuffer. Commands which have been queued before and have not yet been sent will be sent as well when calling this function.

If mvIMPACT.acquire.AcquisitionControl.mvSmartFrameRecallEnable is set to mvIMPACT.acquire.TBoolean.bTrue this function can be used to request the transmission of the image currently associated with pRequest in a different mode/resolution. One use case would be to transmit every image taken by the sensor with a very coarse resolution e.g. by setting the properties mvIMPACT.acquire.ImageFormatControl.decimationHorizontal and/or mvIMPACT.acquire.ImageFormatControl.decimationVertical to values greater than 1. When then an algorithm finds something interesting within an image this function can be used to request the transmission of the very same image in full resolution for detailed processing.

Since
2.18.0
Returns
Parameters
pRequest[in] A pointer to a mvIMPACT.acquire.Request object currently associated with the image that shall be transmitted again.
offsetX[in] The X-offset of the ROI of the image that shall be transmitted within the current image.
offsetY[in] The Y-offset of the ROI of the image that shall be transmitted within the current image.
width[in] The width of the ROI of the image that shall be transmitted within the current image.
height[in] The height of the ROI of the image that shall be transmitted within the current image.
mode[in] The mode in which this image shall be transmitted.
identifier[in] A user defined identifier that shall be attached to the image that will be sent as a result of calling this function. This value will be written into the mvIMPACT.acquire.Request.getChunkmvCustomIdentifier() property so in order to actually benefit from this parameter the corresponding chunk must be enabled. See mvIMPACT.acquire.ChunkDataControl for details.

◆ requestTransmission() [8/8]

int requestTransmission ( Request pRequest,
long identifier )

Request the transmission of an image currently associated with the Request object in full resolution.

This is a convenience function combining a call to mvIMPACT.acquire.CustomCommandGenerator.queueTransmissionRequest directly followed by a call to mvIMPACT.acquire.CustomCommandGenerator.sendCommandBuffer. Commands which have been queued before and have not yet been sent will be sent as well when calling this function.

If mvIMPACT.acquire.AcquisitionControl.mvSmartFrameRecallEnable is set to mvIMPACT.acquire.TBoolean.bTrue this function can be used to request the transmission of the image currently associated with pRequest in full resolution. One use case would be to transmit every image taken by the sensor with a very coarse resolution e.g. by setting the properties mvIMPACT.acquire.ImageFormatControl.decimationHorizontal and/or mvIMPACT.acquire.ImageFormatControl.decimationVertical to values greater than 1. When then an algorithm finds something interesting within an image this function can be used to request the transmission of the very same image in full resolution for detailed processing.

Since
2.18.0
Returns
Parameters
pRequest[in] A pointer to a mvIMPACT.acquire.Request object currently associated with the image that shall be transmitted again.
identifier[in] A user defined identifier that shall be attached to the image that will be sent as a result of calling this function. This value will be written into the mvIMPACT.acquire.Request.getChunkmvCustomIdentifier() property so in order to actually benefit from this parameter the corresponding chunk must be enabled. See mvIMPACT.acquire.ChunkDataControl for details.

◆ sendCommandBuffer()

int sendCommandBuffer ( )

Applies all pending custom commands to the device.

This function will send all pending custom commands to a device. After calling this function the pending command queue will be empty an can be filled with new commands. Calling this function multiple times without queuing new commands after each send will have no effect!

Since
2.18.0
Returns

◆ swigRelease()

static long swigRelease ( CustomCommandGenerator obj)
staticprotected

Member Data Documentation

◆ swigCMemOwn

transient boolean swigCMemOwn
protected