Impact Acquire SDK C++
ImageMemoryManager Class Reference

An interface class to access DMA memory related properties(Device specific interface layout only). More...

#include <mvIMPACT_acquire.h>

Inheritance diagram for ImageMemoryManager:
[legend]

Public Member Functions

HOBJ hObj (void) const
 Returns a unique identifier for the component collection referenced by this object.
 
 ImageMemoryManager (Device *pDev)
 Constructs a new mvIMPACT::acquire::ImageMemoryManager object.
 
const ComponentCollectionrestoreDefault (void) const
 Restores the default for every component of this collection.
 

Public Attributes

PropertyI allocatedDMAMemory_bytes
 An integer property (read-only) containing the size of the allocated DMA memory (in bytes).
 
PropertyIMemoryManagerMode mode
 An enumerated integer property containing the mode the memory manager is currently operated in.
 
PropertyI poolBlockCount
 An integer property (read-only) containing the number of individual blocks of DMA memory currently available when using the current pool block size and pool mode.
 
PropertyI poolBlockSize_bytes
 An integer property defining the size (in bytes) to use for each block of DMA memory.
 
PropertyIMemoryManagerPoolMode poolMode
 An enumerated integer property containing the mode the memory managers memory pool is currently operated in.
 
PropertyI usedBlocks
 An integer property (read-only) containing the number of individual blocks of DMA memory currently used by the device.
 
PropertyI usedDMAMemory_bytes
 An integer property (read-only) containing the size of the DMA memory (in bytes) currently used by the device.
 

Protected Attributes

HOBJ m_hRoot
 

Detailed Description

An interface class to access DMA memory related properties(Device specific interface layout only).

This class can be used to configure the way the device works with DMA memory. This is an advanced feature and shall only be used if necessary or to fine tune an application to achieve optimal performance.

All frame grabbers belonging to the mvTITAN, mvGAMMA, mvSIGMA and mvDELTA series use a special, preallocated block of memory(DMA memory) as target for fast image transfer. The total size of this block has to be set during driver installation. The memory is claimed from the operating system during startup and is shared between all installed devices.

The memory size needed to achieve optimal performance depends on the image size to grab, the queue depth and the mode the memory manager is operated in. Valid values for this property are defined by the enumeration mvIMPACT::acquire::TMemoryManagerMode and can be selected by modifying the property mvIMPACT::acquire::ImageMemoryManager::mode.

Note
This class is currently available for frame grabber devices only.
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

◆ ImageMemoryManager()

ImageMemoryManager ( Device * pDev)
inlineexplicit

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

Parameters
[in]pDevA pointer to a mvIMPACT::acquire::Device object obtained from a mvIMPACT::acquire::DeviceManager object.

Member Function Documentation

◆ 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

◆ allocatedDMAMemory_bytes

PropertyI allocatedDMAMemory_bytes

An integer property (read-only) containing the size of the allocated DMA memory (in bytes).

◆ m_hRoot

HOBJ m_hRoot
protectedinherited

◆ mode

An enumerated integer property containing the mode the memory manager is currently operated in.

Valid values for this property are defined by the enumeration mvIMPACT::acquire::TMemoryManagerMode.

◆ poolBlockCount

PropertyI poolBlockCount

An integer property (read-only) containing the number of individual blocks of DMA memory currently available when using the current pool block size and pool mode.

◆ poolBlockSize_bytes

PropertyI poolBlockSize_bytes

An integer property defining the size (in bytes) to use for each block of DMA memory.

◆ poolMode

An enumerated integer property containing the mode the memory managers memory pool is currently operated in.

Valid values for this property are defined by the enumeration mvIMPACT::acquire::TMemoryManagerPoolMode.

◆ usedBlocks

PropertyI usedBlocks

An integer property (read-only) containing the number of individual blocks of DMA memory currently used by the device.

◆ usedDMAMemory_bytes

PropertyI usedDMAMemory_bytes

An integer property (read-only) containing the size of the DMA memory (in bytes) currently used by the device.