Impact Acquire SDK C++
IOSubSystemFrameGrabber Class Reference

A class to handle the digital inputs and outputs for frame grabber devices(Device specific interface layout only) (deprecated. More...

#include <mvIMPACT_acquire.h>

Inheritance diagram for IOSubSystemFrameGrabber:
[legend]

Public Member Functions

unsigned int getHDOutputCount (void) const
 Returns the number of available HD output pins for the mvIMPACT::acquire::Device associated with this object.
 
unsigned int getInputCount (void) const
 Returns the number of mvIMPACT::acquire::DigitalInput s available for the mvIMPACT::acquire::Device associated with this object.
 
unsigned int getOutputCount (void) const
 Returns the number of digital outputs available for the mvIMPACT::acquire::Device associated with this object.
 
PulseStartConfigurationgetPulseStartConfiguration (unsigned int nr) const
 Returns a pointer to a mvIMPACT::acquire::PulseStartConfiguration associated with this device.
 
unsigned int getPulseStartConfigurationCount (void) const
 Returns the number of mvIMPACT::acquire::PulseStartConfiguration objects available for the mvIMPACT::acquire::Device associated with this object.
 
RTCtrProgramgetRTCtrProgram (unsigned int nr) const
 Returns a pointer to a mvIMPACT::acquire::RTCtrProgram associated with this device.
 
unsigned int getVDOutputCount (void) const
 Returns the number of available VD output pins for the mvIMPACT::acquire::Device associated with this object.
 
SyncOutputHDOutput (unsigned int nr) const
 Returns a pointer to a mvIMPACT::acquire::SyncOutput object that represents a HD output for this device.
 
const DigitalInputinput (unsigned int nr) const
 Returns a const pointer to a mvIMPACT::acquire::DigitalInput object.
 
 IOSubSystemFrameGrabber (Device *pDev)
 Constructs a new mvIMPACT::acquire::IOSubSystemFrameGrabber object.
 
DigitalOutputoutput (unsigned int nr) const
 Returns a pointer to a mvIMPACT::acquire::DigitalOutput object.
 
virtual unsigned int readInputRegister (void) const
 Returns the current state of the digital input register.
 
virtual unsigned int readOutputRegister (void) const
 Returns the current state of the digital output register.
 
unsigned int RTCtrProgramCount (void) const
 Returns the number of mvIMPACT::acquire::RTCtrProgram s available for the mvIMPACT::acquire::Device associated with this object.
 
SyncOutputVDOutput (unsigned int nr) const
 Returns a pointer to a mvIMPACT::acquire::SyncOutput object that represents a VD output for this device.
 
void writeOutputRegister (unsigned int value, unsigned int mask=UINT_MAX)
 Alters the state of the digital output register.
 

Public Attributes

PropertyIDeviceSyncOutMode syncOutputMode
 An enumerated integer property defining the current mode for sync. signal creation.
 

Detailed Description

A class to handle the digital inputs and outputs for frame grabber devices(Device specific interface layout only) (deprecated.

Deprecated
Beginning with the release of 3.0.0 of Impact Acquire everything specifically related to frame grabber boards will be considered as deprecated and might be removed without further notice!

This class provides a convenient basic access to the digital inputs and outputs of a frame grabber device.

Note
The number of digital inputs and outputs available will vary significantly from device to device. Some devices might not even have digital inputs and/or digital outputs. Therefore it's crucial to check for available pins before using them. The corresponding functions to do that can be found in the base class mvIMPACT::acquire::IOSubSystem.

To create more complex digital output related signals the class mvIMPACT::acquire::OutputSignalGeneratorFrameGrabber should be used.

Note
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

◆ IOSubSystemFrameGrabber()

IOSubSystemFrameGrabber ( Device * pDev)
explicit

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

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

Member Function Documentation

◆ getHDOutputCount()

unsigned int getHDOutputCount ( void ) const
inline

Returns the number of available HD output pins for the mvIMPACT::acquire::Device associated with this object.

◆ getInputCount()

unsigned int getInputCount ( void ) const
inlineinherited

Returns the number of mvIMPACT::acquire::DigitalInput s available for the mvIMPACT::acquire::Device associated with this object.

Examples
DigitalIOs.cpp, and DigitalIOs.legacy.cpp.

◆ getOutputCount()

unsigned int getOutputCount ( void ) const
inlineinherited

Returns the number of digital outputs available for the mvIMPACT::acquire::Device associated with this object.

Examples
DigitalIOs.cpp, and DigitalIOs.legacy.cpp.

◆ getPulseStartConfiguration()

PulseStartConfiguration * getPulseStartConfiguration ( unsigned int nr) const
inlineinherited

Returns a pointer to a mvIMPACT::acquire::PulseStartConfiguration associated with this device.

If nr is invalid(too large) an STL out_of_range exception will be thrown.

Parameters
[in]nrThe number of the pulse start configuration to return

◆ getPulseStartConfigurationCount()

unsigned int getPulseStartConfigurationCount ( void ) const
inlineinherited

Returns the number of mvIMPACT::acquire::PulseStartConfiguration objects available for the mvIMPACT::acquire::Device associated with this object.

Examples
DigitalIOs.cpp, and DigitalIOs.legacy.cpp.

◆ getRTCtrProgram()

RTCtrProgram * getRTCtrProgram ( unsigned int nr) const
inlineinherited

Returns a pointer to a mvIMPACT::acquire::RTCtrProgram associated with this device.

If nr is invalid(too large) an STL out_of_range exception will be thrown.

Parameters
[in]nrThe number of the real time controller program to return

◆ getVDOutputCount()

unsigned int getVDOutputCount ( void ) const
inline

Returns the number of available VD output pins for the mvIMPACT::acquire::Device associated with this object.

◆ HDOutput()

SyncOutput * HDOutput ( unsigned int nr) const
inline

Returns a pointer to a mvIMPACT::acquire::SyncOutput object that represents a HD output for this device.

nr MUST be a valid number ( larger or equal than 0 and smaller than the value returned by mvIMPACT::acquire::IOSubSystemFrameGrabber::getHDOutputCount.

If nr references an invalid pin an STL out_of_range exception will be thrown.

Returns
A pointer to a mvIMPACT::acquire::SyncOutput object.
Parameters
[in]nrThe number of the HD output to return.

◆ input()

const DigitalInput * input ( unsigned int nr) const
inlineinherited

Returns a const pointer to a mvIMPACT::acquire::DigitalInput object.

If nr references an invalid pin an STL out_of_range exception will be thrown.

Note
The possibility to access the digital inputs of a device as single objects is just provided for convenience. The same thing can be achieved by calling the function mvIMPACT::acquire::IOSubSystem::readInputRegister.
Parameters
[in]nrThe number of the digital input.
Examples
DigitalIOs.cpp, and DigitalIOs.legacy.cpp.

◆ output()

DigitalOutput * output ( unsigned int nr) const
inlineinherited

Returns a pointer to a mvIMPACT::acquire::DigitalOutput object.

If nr references an invalid pin an STL out_of_range exception will be thrown.

Note
The possibility to access the digital outputs of a device as single objects is just provided for convenience. The same thing can be achieved by calling the function mvIMPACT::acquire::IOSubSystem::writeOutputRegister with the corresponding bit mask.
Parameters
[in]nrThe number of the digital output.
Examples
DigitalIOs.cpp, and DigitalIOs.legacy.cpp.

◆ readInputRegister()

virtual unsigned int readInputRegister ( void ) const
inlinevirtualinherited

Returns the current state of the digital input register.

This function can be used to read all digital inputs as a single value. Each bit represents the status of one digital output pin.

EXAMPLE

A value of '3' returned by this function means that digital inputs 0 and 1 are currently have a voltage considered as logical '1' applied to them.

Returns
The current state of the digital inputs where bit 0 in the result represents the state of digital input 0, bit 1 the state of digital input 1 a.s.o.

Implements IOSubSystem.

◆ readOutputRegister()

virtual unsigned int readOutputRegister ( void ) const
inlinevirtualinherited

Returns the current state of the digital output register.

This function can be used to read all digital outputs as a single value. Each bit represents the status of one digital output pin.

EXAMPLE

A value of '3' returned by this function means that digital output 0 and 1 are currently set to high.

Returns
The current state of the digital outputs where bit 0 in the result represents the state of digital output 0, bit 1 the state of digital output 1 a.s.o.

Implements IOSubSystem.

◆ RTCtrProgramCount()

unsigned int RTCtrProgramCount ( void ) const
inlineinherited

Returns the number of mvIMPACT::acquire::RTCtrProgram s available for the mvIMPACT::acquire::Device associated with this object.

Examples
DigitalIOs.cpp, and DigitalIOs.legacy.cpp.

◆ VDOutput()

SyncOutput * VDOutput ( unsigned int nr) const
inline

Returns a pointer to a mvIMPACT::acquire::SyncOutput object that represents a VD output for this device.

nr MUST be a valid number ( larger or equal than 0 and smaller than the value returned by mvIMPACT::acquire::IOSubSystemFrameGrabber::getVDOutputCount. If nr references an invalid pin an STL out_of_range exception will be thrown.

Returns
A pointer to a mvIMPACT::acquire::SyncOutput object.
Parameters
[in]nrThe number of the VD output to return.

◆ writeOutputRegister()

void writeOutputRegister ( unsigned int value,
unsigned int mask = UINT_MAX )
inlinevirtualinherited

Alters the state of the digital output register.

This function can be used to alter the state of certain (or all) digital outputs with a single function call. By working with the parameter mask certain bits can remain unaffected.

EXAMPLE

If the previous state of a digital output register was '5', which means that outputs 0 and 2 are set to high a call to mvIMPACT::acquire::IOSubSystem::writeOutputRegister with value set to 2 and mask set to 3 would result in '6' as the new value for the output register. Pin 2 will remain unaffected, as mask states just to modify pin 0 and 1 ( 3 = 00000011 binary ).

Parameters
[in]valueThe value to be applied to the output register
[in]maskThe mask to specify which pins to modify. A bit set to '1' in this parameter means that the state of this output has to adopt its style according to the value in value.

Implements IOSubSystem.

Member Data Documentation

◆ syncOutputMode

An enumerated integer property defining the current mode for sync. signal creation.

Sometimes it's desired to create a signal to sync. cameras connected to a capture device. E.g. when capturing 3 monochrome cameras in parallel these should be synchronized. Therefore some devices can create HD and VD signals that synchronize the connected cameras.

To create sync. signals this property must be set either to mvIMPACT::acquire::dsomNonInterlaced or mvIMPACT::acquire::dsomInterlaced.

In interlaced mode only the frequency of the VD signals can be modified, while in non-interlaced mode the width (in percent) the signal stays low can be modified as well.

Now e.g. to sync. two or more CCIR compliant cameras connected to a capture device that can create sync. signals, the HD signals must be generated with a CCIR compliant frequency. The function mvIMPACT::acquire::IOSubSystemFrameGrabber::HDOutput can be used to access the desired output pin. Then its property mvIMPACT::acquire::SyncOutput::frequency_Hz is set to 15625 Hz (CCIR standard). The remaining values can be left untouched. The capture device will no generate HD signals with the desired frequency and VD outputs with the frequency stored by the property mvIMPACT::acquire::SyncOutput::frequency_Hz belonging to the pointer to the object returned by a call to mvIMPACT::acquire::IOSubSystemFrameGrabber::VDOutput.