Impact Acquire SDK Java
TRequestResult Class Reference

Defines valid result of an image request. More...

Static Public Attributes

static final int rrCameraNotSupported = acquireJNI.rrCameraNotSupported_get()
 The current camera description is not supported by the capture device.
 
static final int rrDataAcquisitionNotSupported = acquireJNI.rrDataAcquisitionNotSupported_get()
 The device does not support capturing data in the current configuration.
 
static final int rrDeviceAccessLost = acquireJNI.rrDeviceAccessLost_get()
 The access to the device has been lost.
 
static final int rrError = acquireJNI.rrError_get()
 An error occurred during the processing of this request.
 
static final int rrFrameCorrupt = acquireJNI.rrFrameCorrupt_get()
 The device has reported that an image acquisition did fail on the device side thus BEFORE the data transfer.
 
static final int rrFrameIncomplete = acquireJNI.rrFrameIncomplete_get()
 An incomplete frame was transferred.
 
static final int rrInconsistentBufferContent = acquireJNI.rrInconsistentBufferContent_get()
 A complete buffer has been delivered, but it did fail to pass the internal validation check.
 
static final int rrNoBufferAvailable = acquireJNI.rrNoBufferAvailable_get()
 No free buffer available to process this request.
 
static final int rrNotEnoughMemory = acquireJNI.rrNotEnoughMemory_get()
 There is not enough memory available to the driver to process the current image request.
 
static final int rrOK = acquireJNI.rrOK_get()
 This image request has been processed successfully.
 
static final int rrRequestAborted = acquireJNI.rrRequestAborted_get()
 This request has been aborted either because there are no free internal buffers or the user itself caused this abort e.g.
 
static final int rrTimeout = acquireJNI.rrTimeout_get()
 This image request resulted in a timeout.
 
static final int rrUnprocessibleRequest = acquireJNI.rrUnprocessibleRequest_get()
 This request is not processible.
 

Detailed Description

Defines valid result of an image request.

Whenever during the processing of the capture parameters but well before the actual image capture and error is detected the MSB of this enumeration will be set to 1. In this case almost every time the current input parameters can't lead to a correct image and have to be changed.

Member Data Documentation

◆ rrCameraNotSupported

final int rrCameraNotSupported = acquireJNI.rrCameraNotSupported_get()
static

The current camera description is not supported by the capture device.

This error code currently is relevant for frame grabbers only and might occur e.g. when selecting a MEDIUM CameraLink® camera description for a grabber, that only supports BASE cameras.

◆ rrDataAcquisitionNotSupported

final int rrDataAcquisitionNotSupported = acquireJNI.rrDataAcquisitionNotSupported_get()
static

The device does not support capturing data in the current configuration.

This error code will occur if a request has been sent to a device that does not support the acquisition of data. This can e.g. be the case

Since
2.5.0

◆ rrDeviceAccessLost

final int rrDeviceAccessLost = acquireJNI.rrDeviceAccessLost_get()
static

The access to the device has been lost.

In this case no further access to the device will succeed. Only closing and re-opening the device will fix this problem. There can be numerous reasons for this error to occur, however the most likely one is that a device, that a timeout register inside the device, that needs to be refreshed constantly by the driver hasn't been refreshed during the timeout period. In this case the device will disconnect itself from the driver. This e.g. can happen if a network device is used and the application is operated in debug mode. For debugging the corresponding timeout register must be set to an appropriate value.

◆ rrError

final int rrError = acquireJNI.rrError_get()
static

An error occurred during the processing of this request.

mvBlueFOX specific: This error typically results in some kind of USB transmission problem. The log-file will contain more information in that case.

◆ rrFrameCorrupt

final int rrFrameCorrupt = acquireJNI.rrFrameCorrupt_get()
static

The device has reported that an image acquisition did fail on the device side thus BEFORE the data transfer.

This e.g. might happen if a device is running low on local memory or because of some other problem detected on the device itself. This result status is just meant for information. The associated buffer will not contain valid image data.

◆ rrFrameIncomplete

final int rrFrameIncomplete = acquireJNI.rrFrameIncomplete_get()
static

An incomplete frame was transferred.

This can have several reasons, however the one most likely is that the transfer channel couldn't cope with the amount of data that was transmitted resulting in parts of the frame or in the worst case the complete frame being lost.

This e.g. might happen if several network devices transmit at the same time or a single device (e.g. connected to a PCI bus transfers more data than the PCI bus can pass to the receiving end until a temporary buffer on the device runs full. The log output will contain additional information.

If the information is available the property 'MissingData_pc' belonging to that request will contain information about the amount of data missing. Also some of the statistical properties will provide hints about how much data is lost. E.g. the properties 'MissingPacktesRecovered', 'RetransmitCount' and 'MissingDataAverage_pc' might be of interest here. Please note that not every property is supported by every device.

◆ rrInconsistentBufferContent

final int rrInconsistentBufferContent = acquireJNI.rrInconsistentBufferContent_get()
static

A complete buffer has been delivered, but it did fail to pass the internal validation check.

This e.g. might happen with drivers that transmit buffers that contain more than a pure block of pixel data. Examples for this might be run-length encoded images, or buffers with additional information somewhere in the buffer that will be interpreted by the device driver. This error is most likely a result of a device that doesn't transfer data in the requested format. The log output will contain additional information.

◆ rrNoBufferAvailable

final int rrNoBufferAvailable = acquireJNI.rrNoBufferAvailable_get()
static

No free buffer available to process this request.

To get more memory either some old requests should be unlocked or the size of the DMA memory (frame grabbers only) could be increased using the tools provided.

◆ rrNotEnoughMemory

final int rrNotEnoughMemory = acquireJNI.rrNotEnoughMemory_get()
static

There is not enough memory available to the driver to process the current image request.

To get more memory either some old requests should be unlocked or the size of the DMA memory (frame grabbers only) could be increased using the tools provided.

Another possibility might be, that the process currently hosting the application cannot map all the capture memory requested by the application. In this case adding more memory to the system might solve the problem. Please note that when running on a 32 bit system no more than 2 GB of RAM can be used by a single process, thus applications demanding a lot of memory might still not run then. In this case only reducing the number of request buffers will help.

◆ rrOK

final int rrOK = acquireJNI.rrOK_get()
static

This image request has been processed successfully.

◆ rrRequestAborted

final int rrRequestAborted = acquireJNI.rrRequestAborted_get()
static

This request has been aborted either because there are no free internal buffers or the user itself caused this abort e.g.

by clearing the request queue.

◆ rrTimeout

final int rrTimeout = acquireJNI.rrTimeout_get()
static

This image request resulted in a timeout.

No image has been captured during the allowed period of time.

◆ rrUnprocessibleRequest

final int rrUnprocessibleRequest = acquireJNI.rrUnprocessibleRequest_get()
static

This request is not processible.

If this flag (the MSB) is set this either indicates that the current input parameters can't be used to capture an image (in that case the result will not be the MSB alone) or that an internal error occurred during the process of this request.