Impact Acquire SDK .NET
|
A class to create complex digital output signals(Device specific interface layout only). More...
Public Member Functions | |
int | defineLineScanPulse (DigitalOutput output, TDeviceSignalOutputStartEvent pulseStartEvent, int softwareSignalPeriod_pclk, int width_pclk, int polarity, int divider) |
Defines a pulse to trigger line scan cameras. | |
int | definePassThroughSignal (DigitalOutput output, String digitalSignal) |
Assing a certain signal to a digital output. | |
int | definePassThroughSignal (DigitalOutput output, String digitalSignal, bool boInverted) |
Assing a certain signal to a digital output. | |
int | definePassThroughSignal (DigitalOutput output, TDigitalSignal digitalSignal) |
Assing a certain signal to a digital output. | |
int | definePassThroughSignal (DigitalOutput output, TDigitalSignal digitalSignal, bool boInverted) |
Assing a certain signal to a digital output. | |
int | definePulse (DigitalOutput output, int polarity, int delay, int width) |
Assigns a single pulse to a digital output. | |
int | definePulse (DigitalOutput output, int polarity, int delay, int width, PulseStartConfiguration pulseStartConfiguration) |
Assigns a single pulse to a digital output. | |
int | definePulseSequence (DigitalOutput output, int startLevel, List< int > sequence) |
Assigns a complex signal to a digital output. | |
int | definePulseSequence (DigitalOutput output, int startLevel, List< int > sequence, PulseStartConfiguration pulseStartConfiguration) |
Assigns a complex signal to a digital output. | |
IEnumerable< T > | getEnumerable< T > () |
Returns an enumerator of a certain type that iterates through the collection. | |
IEnumerator< int > | GetEnumerator () |
Returns an enumerator that iterates through the collection. | |
int | getValidPassThroughSignalCount (DigitalOutput output) |
Returns the number of signals that can be used for pass through signal definitions for a certain digital output pin of this device. | |
int | getValidSignalsForPassThroughModes (DigitalOutput output, List< KeyValuePair< String, TDigitalSignal > > sequence) |
Receives a list of valid signals that can be passed directly to a certain digital output pin. | |
OutputSignalGeneratorFrameGrabber (Device device) | |
Constructs a new mv.impact.acquire.OutputSignalGeneratorFrameGrabber object. | |
void | restoreDefault () |
Restores the default for every component of this collection. | |
int | undefineSignal (DigitalOutput output) |
Removes the signal definition from the specified output pin. | |
Public Attributes | |
readonly EnumPropertyI< TDigitalOutputControlMode > | controlMode = new EnumPropertyI<TDigitalOutputControlMode>() |
An enumerated integer property defining the general method used to create output signals. | |
readonly EnumPropertyI< TDeviceImageTrigger > | imageTrigger = new EnumPropertyI<TDeviceImageTrigger>() |
An enumerated integer property defining the general behaviour of created output signals. | |
readonly EnumPropertyI< TDeviceSignalOutputStartEvent > | pulseStartEvent = new EnumPropertyI<TDeviceSignalOutputStartEvent>() |
An enumerated integer property defining the general behaviour of created output signals. | |
Properties | |
IEnumerable< Component > | componentEnumerable [get] |
Returns an enumerator that iterates through the collection. | |
IEnumerable< ComponentList > | componentListEnumerable [get] |
Returns an enumerator that iterates through all the mv.impact.acquire.ComponentList elements in the collection. | |
int | hObj [get] |
Returns a unique identifier for the component collection referenced by this object. | |
A class to create complex digital output signals(Device specific interface layout only).
Instances of this class can be used to create more complex digital output related signals like a single pulse or sequence of pulses on a certain pin as a reaction on a signal on one of the digital inputs of a device.
The availability of the features provided by this class heavily depends on the used capture device. Therefore it's crucial to check if a desired feature is available at all. This class either provides the functions needed for these checks or its functions will return appropriate error codes.
Pointers to mv.impact.acquire.DigitalOutput objects MUST be obtained by an instance to a mv.impact.acquire.IOSubSystemFrameGrabber object of the same device.
Examples
Whenever a signal has been defined for a a certain digital output pin, this pin can no longer controlled using the corresponding functions in the class mv.impact.acquire.DigitalOutput. In order to do that the pin in question must be released using the function mv.impact.acquire.OutputSignalGeneratorFrameGrabber.undefineSignal.
|
inline |
Constructs a new mv.impact.acquire.OutputSignalGeneratorFrameGrabber object.
[in] | device | A pointer to a mv.impact.acquire.Device object obtained from a mv.impact.acquire.DeviceManager object. |
|
inline |
Defines a pulse to trigger line scan cameras.
Calling this function without setting mv.impact.acquire.OutputSignalGeneratorFrameGrabber.controlMode to mv.impact.acquire.TDigitalOutputControlMode.docmRTC will have NO effect.
[in] | output | A pointer to a mv.impact.acquire.DigitalOutput object obtained from an instance of the class mv.impact.acquire.IOSubSystemFrameGrabber for this device. |
[in] | pulseStartEvent | Defines the start event for the signal generation. Valid values for this parameter are defined by mv.impact.acquire.TDeviceSignalOutputStartEvent. |
[in] | softwareSignalPeriod_pclk | Defines the frequency for a continuously generated signal if pulseStartEvent is mv.impact.acquire.TDeviceSignalOutputStartEvent.dsoseSyncInRisingEdge or mv.impact.acquire.TDeviceSignalOutputStartEvent.dsoseSyncInFallingEdge and is ignored otherwise. |
[in] | width_pclk | The width of the signal to generate if pulseStartEvent is mv.impact.acquire.TDeviceSignalOutputStartEvent.dsoseSyncInRisingEdge, mv.impact.acquire.TDeviceSignalOutputStartEvent.dsosePeriodically or mv.impact.acquire.TDeviceSignalOutputStartEvent.dsoseSyncInFallingEdge and is ignored otherwise. |
[in] | polarity | The polarity of the signal to generate if pulseStartEvent is mv.impact.acquire.TDeviceSignalOutputStartEvent.dsoseSyncInRisingEdge, mv.impact.acquire.TDeviceSignalOutputStartEvent.dsosePeriodically or mv.impact.acquire.TDeviceSignalOutputStartEvent.dsoseSyncInFallingEdge and is ignored otherwise. - 0: The signal will be low for width_pclk and high otherwise - 1: The signal will be high for width_pclk and high otherwise |
[in] | divider | Defines the divider value if pulseStartEvent is mv.impact.acquire.TDeviceSignalOutputStartEvent.dsosePeriodically |
|
inline |
Assing a certain signal to a digital output.
Some digital input signals or even some internal signals can be passed directly to one or more digital outputs.
[in] | output | A pointer to a mv.impact.acquire.DigitalOutput object obtained from an instance of the class mv.impact.acquire.IOSubSystemFrameGrabber for this device. |
[in] | digitalSignal | The string representation of the digital output that shall be passed to the digital output. Valid values for this parameter will be obtained by a call to the function mv.impact.acquire.OutputSignalGeneratorFrameGrabber.getValidSignalsForPassThroughModes |
|
inline |
Assing a certain signal to a digital output.
Some digital input signals or even some internal signals can be passed directly to one or more digital outputs.
[in] | output | A pointer to a mv.impact.acquire.DigitalOutput object obtained from an instance of the class mv.impact.acquire.IOSubSystemFrameGrabber for this device. |
[in] | digitalSignal | The string representation of the digital output that shall be passed to the digital output. Valid values for this parameter will be obtained by a call to the function mv.impact.acquire.OutputSignalGeneratorFrameGrabber.getValidSignalsForPassThroughModes. |
[in] | boInverted | If set to true, the signal will be inverted internally before being passed to the output. |
|
inline |
Assing a certain signal to a digital output.
Some digital input signals or even some internal signals can be passed directly to one or more digital outputs.
[in] | output | A pointer to a mv.impact.acquire.DigitalOutput object obtained from an instance of the class mv.impact.acquire.IOSubSystemFrameGrabber for this device. |
[in] | digitalSignal | The digital signal that shall be passed to the digital output. Valid values for this parameter will be obtained by a call to the function mv.impact.acquire.OutputSignalGeneratorFrameGrabber.getValidSignalsForPassThroughModes |
|
inline |
Assing a certain signal to a digital output.
Some digital input signals or even some internal signals can be passed directly to one or more digital outputs.
[in] | output | A pointer to a mv.impact.acquire.DigitalOutput object obtained from an instance of the class mv.impact.acquire.IOSubSystemFrameGrabber for this device. |
[in] | digitalSignal | The digital signal that shall be passed to the digital output. Valid values for this parameter will be obtained by a call to the function mv.impact.acquire.OutputSignalGeneratorFrameGrabber.getValidSignalsForPassThroughModes. |
[in] | boInverted | If set to true, the signal will be inverted internally before being passed to the output. |
|
inline |
Assigns a single pulse to a digital output.
Whenever a single pulse of a certain duration and polarity shall be generated on a digital output as a reaction on a trigger signal that was either generated by one of digital inputs of the device or software this is the right function to use.
When the signal is generated can be defined by the properties mv.impact.acquire.OutputSignalGeneratorFrameGrabber.pulseStartEvent and mv.impact.acquire.OutputSignalGeneratorFrameGrabber.imageTrigger.
[in] | output | A pointer to a mv.impact.acquire.DigitalOutput object obtained from an instance of the class mv.impact.acquire.IOSubSystemFrameGrabber for this device. |
[in] | polarity | The polarity of the pulse to generate. - 0: The pulse will be low for width_pclk and high otherwise - 1: The pulse will be high for width_pclk and high otherwise |
[in] | delay | The delay after the trigger event before a signal generation starts |
[in] | width | The width of the pulse to generate |
|
inline |
Assigns a single pulse to a digital output.
Whenever a single pulse of a certain duration and polarity shall be generated on a digital output as a reaction on a trigger signal that was either generated by one of digital inputs of the device or software this is the right function to use.
When the signal is generated can be defined by the properties mv.impact.acquire.OutputSignalGeneratorFrameGrabber.pulseStartEvent and mv.impact.acquire.OutputSignalGeneratorFrameGrabber.imageTrigger.
[in] | output | A pointer to a mv.impact.acquire.DigitalOutput object obtained from an instance of the class mv.impact.acquire.IOSubSystemFrameGrabber for this device. |
[in] | polarity | The polarity of the pulse to generate. - 0: The pulse will be low for width_pclk and high otherwise - 1: The pulse will be high for width_pclk and high otherwise |
[in] | delay | The delay after the trigger event before a signal generation starts |
[in] | width | The width of the pulse to generate |
[in] | pulseStartConfiguration | The pulse start configuration to be used for this pulse sequence. Not every device will support the use of pulse start configurations. Valid objects that can be passed to this function can be obtained from a call to mv.impact.acquire.IOSubSystem.getPulseStartConfiguration, and mv.impact.acquire.IOSubSystem.pulseStartConfigurationCount. If objects of these type are not supported, pass 0 or ignore this parameter. In that case the property mv.impact.acquire.OutputSignalGeneratorFrameGrabber.imageTrigger will define the start condition for the signal output. |
|
inline |
Assigns a complex signal to a digital output.
This function can be used when a complex signal shall be generated on a digital output as a reaction on a trigger signal that was either generated by one of digital inputs of the device or software.
When the signal is generated can be defined by the properties mv.impact.acquire.OutputSignalGeneratorFrameGrabber.pulseStartEvent and mv.impact.acquire.OutputSignalGeneratorFrameGrabber.imageTrigger.
[in] | output | A pointer to a mv.impact.acquire.DigitalOutput object obtained from an instance of the class mv.impact.acquire.IOSubSystemFrameGrabber for this device. |
[in] | startLevel | The start level of the generated signal. - 0: The signal will start with 'low' - 1: The signal will start with 'high' |
[in] | sequence | An array of integer values. Each values defines a switch in polarity of the signal after 'x' us. An array containing '1000', '2000' therefore will describe a signal starting with startLevel, switches polarity after 1000 us and then again switches polarity after 2000 us. |
|
inline |
Assigns a complex signal to a digital output.
This function can be used when a complex signal shall be generated on a digital output as a reaction on a trigger signal that was either generated by one of digital inputs of the device or software.
When the signal is generated can be defined by the properties mv.impact.acquire.OutputSignalGeneratorFrameGrabber.pulseStartEvent and mv.impact.acquire.OutputSignalGeneratorFrameGrabber.imageTrigger.
[in] | output | A pointer to a mv.impact.acquire.DigitalOutput object obtained from an instance of the class mv.impact.acquire.IOSubSystemFrameGrabber for this device. |
[in] | startLevel | The start level of the generated signal. - 0: The signal will start with 'low' - 1: The signal will start with 'high' |
[in] | sequence | An array of integer values. Each values defines a switch in polarity of the signal after 'x' us. An array containing '1000', '2000' therefore will describe a signal starting with startLevel, switches polarity after 1000 us and then again switches polarity after 2000 us. |
[in] | pulseStartConfiguration | The pulse start configuration to be used for this pulse sequence. Not every device will support the use of pulse start configurations. Valid objects that can be passed to this function can be obtained from a call to mv.impact.acquire.IOSubSystem.getPulseStartConfiguration, and mv.impact.acquire.IOSubSystem.pulseStartConfigurationCount. If objects of these type are not supported, pass 0 or ignore this parameter. In that case the property mv.impact.acquire.OutputSignalGeneratorFrameGrabber.imageTrigger will define the start condition for the signal output. |
|
inlineinherited |
Returns an enumerator of a certain type that iterates through the collection.
This interface will allow to e.g. write code like this:
See the framework's documentation about the System.Collections.IEnumerable interface for more information.
|
inlineinherited |
Returns an enumerator that iterates through the collection.
See the framework's documentation about the System.Collections.IEnumerable interface for more information.
|
inline |
Returns the number of signals that can be used for pass through signal definitions for a certain digital output pin of this device.
[in] | output | A pointer to a mv.impact.acquire.DigitalOutput object obtained from an instance of the class mv.impact.acquire.IOSubSystemFrameGrabber for this device. |
|
inline |
Receives a list of valid signals that can be passed directly to a certain digital output pin.
Whenever it is necessary to output a certain signal (e.g. a digital input signal connected to the device or an internal digital signal like e.g. a frame valid signal) to a digital output of the device this can be done by a call to the function mv.impact.acquire.OutputSignalGeneratorFrameGrabber.definePassThroughSignal
As the type of signals that a device can send to a digital output depends heavily on the device and even on the digital output as well, this function will return a list of strings and a numerical representation for each signal that can be sent to this digital output.
[in] | output | A pointer to a mv.impact.acquire.DigitalOutput object obtained from an instance of the class mv.impact.acquire.IOSubSystemFrameGrabber for this device. |
[out] | sequence | A reference to a vector that will receive the list of allowed digital signals for this particular digital output pin. |
|
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.
|
inline |
Removes the signal definition from the specified output pin.
Whenever a signal has been defined for a a certain digital output pin, this pin can no longer controlled using the corresponding functions in the class mv.impact.acquire.DigitalOutput. This function removes the signal definition and hands back manual control of that digital output to the user.
[in] | output | A pointer to a mv.impact.acquire.DigitalOutput object obtained from an instance of the class mv.impact.acquire.IOSubSystemFrameGrabber for this device. |
readonly EnumPropertyI<TDigitalOutputControlMode> controlMode = new EnumPropertyI<TDigitalOutputControlMode>() |
An enumerated integer property defining the general method used to create output signals.
This setting always applies to every signal defined. Modifying this property will also change the behaviour of signals already defined.
Valid values for this property are defined by the enumeration mv.impact.acquire.TDigitalOutputControlMode.
When switching to mv.impact.acquire.TDigitalOutputControlMode.docmRTC mode only one signal can be created currently.
Some devices will offer a more flexible way to define this behaviour. In this case, this property won't be available (a call to the function mv.impact.acquire.Component.isValid will return false). However then calls to mv.impact.acquire.IOSubSystem.pulseStartConfigurationCount and mv.impact.acquire.IOSubSystem.getPulseStartConfiguration will succeed and the objects returned by mv.impact.acquire.IOSubSystem.getPulseStartConfiguration (mv.impact.acquire.PulseStartConfiguration) will provide a more sophisticated way to define the signal output behaviour of a device.
readonly EnumPropertyI<TDeviceImageTrigger> imageTrigger = new EnumPropertyI<TDeviceImageTrigger>() |
An enumerated integer property defining the general behaviour of created output signals.
This setting always applies to every signal defined. Modifying this property will also change the behaviour of signals already defined.
Valid values for this property are defined by the enumeration mv.impact.acquire.TDeviceImageTrigger.
readonly EnumPropertyI<TDeviceSignalOutputStartEvent> pulseStartEvent = new EnumPropertyI<TDeviceSignalOutputStartEvent>() |
An enumerated integer property defining the general behaviour of created output signals.
This setting always applies to every signal defined. Modifying this property will also change the behaviour of signals already defined.
Valid values for this property are defined by the enumeration mv.impact.acquire.TDeviceSignalOutputStartEvent.
|
getinherited |
Returns an enumerator that iterates through the collection.
This interface will allow to e.g. write code like this:
See the framework's documentation about the System.Collections.IEnumerable interface for more information.
|
getinherited |
Returns an enumerator that iterates through all the mv.impact.acquire.ComponentList elements in the collection.
This interface will allow to e.g. write code like this:
See the framework's documentation about the System.Collections.IEnumerable interface for more information.
|
getinherited |
Returns a unique identifier for the component collection referenced by this object.
This handle will always reference an object of type mv.impact.acquire.ComponentList.