mvIMPACT Acquire SDK C++

Category that contains the Logic Block control features. More...

#include <mvIMPACT_acquire_GenICam.h>

Public Member Functions

 LogicBlockControl (mvIMPACT::acquire::Device *pDev, const std::string &settingName="Base")
 Constructs a new mvIMPACT::acquire::GenICam::LogicBlockControl object.
 

Public Attributes

PropertyI64 logicBlockFunction
 An enumerated integer property. Selects the combinational logic Function of the Logic Block to configure.
 
PropertyIBoolean logicBlockInputInverter
 A boolean property. Selects if the selected Logic Block Input source signal is inverted.
 
PropertyI64 logicBlockInputNumber
 An integer property. Specifies the number of active signal inputs of the Logic Block.
 
PropertyI64 logicBlockInputSelector
 An integer property. Selects the Logic Block's input to configure.
 
PropertyI64 logicBlockInputSource
 An enumerated integer property. Selects the source signal for the input into the Logic Block.
 
PropertyI64 logicBlockLUTIndex
 An integer property. Controls the index of the truth table to access in the selected LUT.
 
PropertyI64 logicBlockLUTSelector
 An enumerated integer property. Selects which of the two LUTs to configure when the selected Logic Block is a Latched dual LUTs (i.e: LogicalBlockFunction = LatchedLUT).
 
PropertyIBoolean logicBlockLUTValue
 A boolean property. Read or Write the Value associated with the entry at index LogicBlockLUTIndex of the selected LUT.
 
PropertyI64 logicBlockLUTValueAll
 An integer property. Sets the values of all the output bits of the selected LUT in one access ignoring LogicBlockLUTIndex.
 
PropertyI64 logicBlockSelector
 An enumerated integer property. Specifies the Logic Block to configure.
 

Detailed Description

Category that contains the Logic Block control features.

A category that contains the Logic Block control features.

Constructor & Destructor Documentation

◆ LogicBlockControl()

LogicBlockControl ( mvIMPACT::acquire::Device pDev,
const std::string &  settingName = "Base" 
)
inlineexplicit

Constructs a new mvIMPACT::acquire::GenICam::LogicBlockControl 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 Data Documentation

◆ logicBlockFunction

PropertyI64 logicBlockFunction

An enumerated integer property. Selects the combinational logic Function of the Logic Block to configure.

Selects the combinational logic Function of the Logic Block to configure.

The following string values might be valid for this feature:

  • AND (Display string: 'AND'): Selects a Logic Block that does the logical AND of all the inputs.
  • OR (Display string: 'OR'): Selects a Logic Block that does the logical OR of all the inputs.
  • LUT (Display string: 'LUT'): Selects a Logic Block that does a Look Up Table Transformation on all the inputs.
  • LatchedLUT (Display string: 'Latched LUT'): Selects a Logic Block with 2 LUTs as inputs to a Flip-Flop.
Note
Depending on the device some of these values might not be supported and especially when working with third party devices there might be custom values which are not listed here. To get a complete and reliable list of supported values at runtime an application should therefore call mvIMPACT::acquire::EnumPropertyI::getTranslationDictStrings() or one of the other functions dealing with translation dictionaries for enumerated properties.

◆ logicBlockInputInverter

PropertyIBoolean logicBlockInputInverter

A boolean property. Selects if the selected Logic Block Input source signal is inverted.

Selects if the selected Logic Block Input source signal is inverted. This feature is not available when the LogicBlockInputSource is set to True or False.

◆ logicBlockInputNumber

PropertyI64 logicBlockInputNumber

An integer property. Specifies the number of active signal inputs of the Logic Block.

Specifies the number of active signal inputs of the Logic Block.

◆ logicBlockInputSelector

PropertyI64 logicBlockInputSelector

An integer property. Selects the Logic Block's input to configure.

Selects the Logic Block's input to configure.

◆ logicBlockInputSource

PropertyI64 logicBlockInputSource

An enumerated integer property. Selects the source signal for the input into the Logic Block.

Selects the source signal for the input into the Logic Block. True or False indicates the input is forced constant.

The following string values might be valid for this feature:

  • True (Display string: 'True'): Logic Block input is forced to One.
  • False (Display string: 'False'): Logic Block input is forced to Zero.
  • AcquisitionTriggerWait (Display string: 'Acquisition Trigger Wait'): Device is currently waiting for a trigger for the capture of one or many Frames.
  • AcquisitionTrigger (Display string: 'Acquisition Trigger'): Device is currently waiting for a trigger for the capture of one or many Frames.
  • AcquisitionTriggerMissed (Display string: 'Acquisition Trigger Missed'): Device has missed a trigger for the capture of one or many Frames.
  • AcquisitionActive (Display string: 'Acquisition Active'): Device is acquiring one or many Frames.
  • FrameTriggerWait (Display string: 'Frame Trigger Wait'): Device is currently waiting for a Frame start trigger.
  • FrameTrigger (Display string: 'Frame Trigger'): Device is currently waiting for a Frame start trigger.
  • FrameTriggerMissed (Display string: 'Frame Trigger Missed'): Device has missed a Frame start trigger.
  • FrameActive (Display string: 'Frame Active'): Device is currently doing the capture of a Frame.
  • ExposureActive (Display string: 'Exposure Active'): Device is doing the exposure of a Frame (or Line).
  • LineTriggerWait (Display string: 'Line Trigger Wait'): Device is currently waiting for a Line start trigger.
  • LineTrigger (Display string: 'Line Trigger'): Device is currently waiting for a Line start trigger.
  • LineTriggerMissed (Display string: 'Line Trigger Missed'): Device has missed a Line start trigger.
  • LineActive (Display string: 'Line Active'): Device is currently doing the capture of a Line.
  • Counter0Active (Display string: 'Counter 0 Active'): The chosen counter is in active state (counting).
  • Counter1Active (Display string: 'Counter 1 Active'): The chosen counter is in active state (counting).
  • Counter2Active (Display string: 'Counter 2 Active'): The chosen counter is in active state (counting).
  • Counter#3#Active (Display string: 'Counter #3# Active'): The chosen counter is in active state (counting).
  • Timer0Active (Display string: 'Timer 0 Active'): The chosen Timer is in active state.
  • Timer1Active (Display string: 'Timer 1 Active'): The chosen Timer is in active state.
  • Timer2Active (Display string: 'Timer 2 Active'): The chosen Timer is in active state.
  • Timer#3#Active (Display string: 'Timer #3# Active'): The chosen Timer is in active state.
  • Encoder0 (Display string: 'Encoder 0'): The chosen Encoder Output state.
  • Encoder1 (Display string: 'Encoder 1'): The chosen Encoder Output state.
  • Encoder2 (Display string: 'Encoder 2'): The chosen Encoder Output state.
  • Encoder#3# (Display string: 'Encoder #3#'): The chosen Encoder Output state.
  • LogicBlock0 (Display string: 'Logic Block 0'): The choosen Logic Block output state.
  • LogicBlock1 (Display string: 'Logic Block 1'): The choosen Logic Block output state.
  • LogicBlock2 (Display string: 'Logic Block 2'): The choosen Logic Block output state.
  • LogicBlock#3# (Display string: 'Logic Block #3#'): The choosen Logic Block output state.
  • SoftwareSignal0 (Display string: 'Software Signal 0'): The choosen Software Signal output state.
  • SoftwareSignal1 (Display string: 'Software Signal 1'): The choosen Software Signal output state.
  • SoftwareSignal2 (Display string: 'Software Signal 2'): The choosen Software Signal output state.
  • SoftwareSignal#3# (Display string: 'Software Signal #3#'): The choosen Software Signal output state.
  • Line0 (Display string: 'Line 0'): The chosen I/OLine state.
  • Line1 (Display string: 'Line 1'): The chosen I/OLine state.
  • Line2 (Display string: 'Line 2'): The chosen I/OLine state.
  • Line#3# (Display string: 'Line #3#'): The chosen I/OLine state.
  • UserOutput0 (Display string: 'User Output 0'): The chosen User Output bit state as defined by its current UserOutputValue.
  • UserOutput1 (Display string: 'User Output 1'): The chosen User Output bit state as defined by its current UserOutputValue.
  • UserOutput2 (Display string: 'User Output 2'): The chosen User Output bit state as defined by its current UserOutputValue.
  • UserOutput#3# (Display string: 'User Output #3#'): The chosen User Output bit state as defined by its current UserOutputValue.
  • Stream0TransferActive (Display string: 'Stream 0 Transfer Active'): Transfer on the stream is active.
  • Stream1TransferActive (Display string: 'Stream 1 Transfer Active'): Transfer on the stream is active.
  • Stream#2#TransferActive (Display string: 'Stream #2# Transfer Active'): Transfer on the stream is active.
  • Stream0TransferPaused (Display string: 'Stream 0 Transfer Paused'): Transfer on the stream is paused.
  • Stream1TransferPaused (Display string: 'Stream 1 Transfer Paused'): Transfer on the stream is paused.
  • Stream#2#TransferPaused (Display string: 'Stream #2# Transfer Paused'): Transfer on the stream is paused.
  • Stream0TransferStopping (Display string: 'Stream 0 Transfer Stopping'): Transfer on the stream is stopping.
  • Stream1TransferStopping (Display string: 'Stream 1 Transfer Stopping'): Transfer on the stream is stopping.
  • Stream#2#TransferStopping (Display string: 'Stream #2# Transfer Stopping'): Transfer on the stream is stopping.
  • Stream0TransferStopped (Display string: 'Stream 0 Transfer Stopped'): Transfer on the stream is stopped.
  • Stream1TransferStopped (Display string: 'Stream 1 Transfer Stopped'): Transfer on the stream is stopped.
  • Stream#2#TransferStopped (Display string: 'Stream #2# Transfer Stopped'): Transfer on the stream is stopped.
  • Stream0TransferOverflow (Display string: 'Stream 0 Transfer Overflow'): Transfer on the stream is in overflow.
  • Stream1TransferOverflow (Display string: 'Stream 1 Transfer Overflow'): Transfer on the stream is in overflow.
  • Stream#2#TransferOverflow (Display string: 'Stream #2# Transfer Overflow'): Transfer on the stream is in overflow.
Note
Depending on the device some of these values might not be supported and especially when working with third party devices there might be custom values which are not listed here. To get a complete and reliable list of supported values at runtime an application should therefore call mvIMPACT::acquire::EnumPropertyI::getTranslationDictStrings() or one of the other functions dealing with translation dictionaries for enumerated properties.

◆ logicBlockLUTIndex

PropertyI64 logicBlockLUTIndex

An integer property. Controls the index of the truth table to access in the selected LUT.

Controls the index of the truth table to access in the selected LUT.

◆ logicBlockLUTSelector

PropertyI64 logicBlockLUTSelector

An enumerated integer property. Selects which of the two LUTs to configure when the selected Logic Block is a Latched dual LUTs (i.e: LogicalBlockFunction = LatchedLUT).

Selects which of the two LUTs to configure when the selected Logic Block is a Latched dual LUTs (i.e: LogicalBlockFunction = LatchedLUT).

The following string values might be valid for this feature:

  • Value (Display string: 'Value'): Selects the LUT controlling the data input of the flip-flop.
  • Enable (Display string: 'Enable'): Selects the LUT controlling the enable input of the flip-flop.
Note
Depending on the device some of these values might not be supported and especially when working with third party devices there might be custom values which are not listed here. To get a complete and reliable list of supported values at runtime an application should therefore call mvIMPACT::acquire::EnumPropertyI::getTranslationDictStrings() or one of the other functions dealing with translation dictionaries for enumerated properties.

◆ logicBlockLUTValue

PropertyIBoolean logicBlockLUTValue

A boolean property. Read or Write the Value associated with the entry at index LogicBlockLUTIndex of the selected LUT.

Read or Write the Value associated with the entry at index LogicBlockLUTIndex of the selected LUT.

◆ logicBlockLUTValueAll

PropertyI64 logicBlockLUTValueAll

An integer property. Sets the values of all the output bits of the selected LUT in one access ignoring LogicBlockLUTIndex.

Sets the values of all the output bits of the selected LUT in one access ignoring LogicBlockLUTIndex. LogicBlockLUTValueAll value can be any binary number and each bit correspond to the output value for the corresponding index (i.e. Bit 0 = LUT Index 0 output binary value).

◆ logicBlockSelector

PropertyI64 logicBlockSelector

An enumerated integer property. Specifies the Logic Block to configure.

Specifies the Logic Block to configure.

The following string values might be valid for this feature:

  • LogicBlock0 (Display string: 'Logic Block 0'): Logic Block 0 is selected.
  • LogicBlock1 (Display string: 'Logic Block 1'): Logic Block 1 is selected.
  • LogicBlock2 (Display string: 'Logic Block 2'): Logic Block 2 is selected.
  • LogicBlock#3# (Display string: 'Logic Block #3#'): Logic Block #3# is selected.
Note
Depending on the device some of these values might not be supported and especially when working with third party devices there might be custom values which are not listed here. To get a complete and reliable list of supported values at runtime an application should therefore call mvIMPACT::acquire::EnumPropertyI::getTranslationDictStrings() or one of the other functions dealing with translation dictionaries for enumerated properties.