Impact Acquire SDK .NET
RTCtrProgramStep Class Referencesealed

A class to represent one step of a real time control (RTCtr) program (Device specific interface layout only). More...

Inheritance diagram for RTCtrProgramStep:
[legend]

Public Member Functions

IEnumerable< TgetEnumerable< T > ()
 Returns an enumerator of a certain type that iterates through the collection.
 
IEnumerator< intGetEnumerator ()
 Returns an enumerator that iterates through the collection.
 
void restoreDefault ()
 Restores the default for every component of this collection.
 

Public Attributes

readonly PropertyI address = new PropertyI()
 An integer property, which defines the absolute jump address within this mv.impact.acquire.RTCtrProgram.
 
readonly PropertyI clocks_us = new PropertyI()
 An integer property, which defines the waiting time mv.impact.acquire.RTCtrProgram.
 
readonly PropertyI controllerRegister = new PropertyI()
 An integer property, which defines the index of the controller register to refer in this mv.impact.acquire.RTCtrProgramStep.
 
readonly EnumPropertyI< TDigIOStatedigitalInputs = new EnumPropertyI<TDigIOState>()
 An enumerated integer property to define for which digital input state this program step waits for.
 
readonly EnumPropertyI< TDigIOStatedigitalOutputs = new EnumPropertyI<TDigIOState>()
 An enumerated integer property to define how to set the digital outputs of this device.
 
readonly PropertyI frameID = new PropertyI()
 An integer property, which defines the frame ID of the triggered image mv.impact.acquire.RTCtrProgram.
 
readonly EnumPropertyI< TRTProgOpCodesopCode = new EnumPropertyI<TRTProgOpCodes>()
 An enumerated integer property defining the general purpose of this mv.impact.acquire.RTCtrProgramStep object.
 
readonly PropertyI registerValue = new PropertyI()
 An integer property, which defines the a value to associate with a register access in this mv.impact.acquire.RTCtrProgramStep.
 
readonly EnumPropertyI< TDigIOStatesensorHeads = new EnumPropertyI<TDigIOState>()
 An enumerated integer property to define which sensor heads to trigger (for devices with more than one sensor head).
 

Properties

IEnumerable< ComponentcomponentEnumerable [get]
 Returns an enumerator that iterates through the collection.
 
IEnumerable< ComponentListcomponentListEnumerable [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.
 

Detailed Description

A class to represent one step of a real time control (RTCtr) program (Device specific interface layout only).

An object of this class represents a single instruction in a program represented by an mv.impact.acquire.RTCtrProgram. mv.impact.acquire.RTCtrProgramStep object can't be constructed directly, but must be accessed via the function mv.impact.acquire.RTCtrProgram.programStep of the program they belong to.

The instruction this mv.impact.acquire.RTCtrProgramStep will executed when the program is executed is defined by the property mv.impact.acquire.RTCtrProgramStep.opCode. Depending on the value of this property certain other parameters will influence the behaviour of this instruction.

Note
This class will only be available if mv.impact.acquire.Device.interfaceLayout is set to mv.impact.acquire.TDeviceInterfaceLayout.dilDeviceSpecific before the device is opened.

Member Function Documentation

◆ getEnumerable< T >()

IEnumerable< T > getEnumerable< T > ( )
inlineinherited

Returns an enumerator of a certain type that iterates through the collection.

This interface will allow to e.g. write code like this:

Info info = new Info(pDev);
foreach (Property c in info.getEnumerable<Property>())
{
}
A template class to represent 32 bit integer properties and 32 bit enumerated integer properties.
Definition EnumPropertyI.cs:61
A class to query various general information about the device, its driver and other information.
Definition Info.cs:10
A base class for properties.
Definition Property.cs:109

See the frameworks documentation about the System.Collections.IEnumerable interface for more information.

Returns
An enumerator that iterates through the collection

◆ GetEnumerator()

IEnumerator< int > GetEnumerator ( )
inlineinherited

Returns an enumerator that iterates through the collection.

See the frameworks documentation about the System.Collections.IEnumerable interface for more information.

Returns
An enumerator that iterates through the collection

◆ restoreDefault()

void restoreDefault ( )
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.

Member Data Documentation

◆ address

An integer property, which defines the absolute jump address within this mv.impact.acquire.RTCtrProgram.

This property only is taken into account, if mv.impact.acquire.RTCtrProgramStep.opCode is set to mv.impact.acquire.TRTProgOpCodes.rtctrlProgJumpLoc.

◆ clocks_us

An integer property, which defines the waiting time mv.impact.acquire.RTCtrProgram.

This property only is taken into account, if mv.impact.acquire.RTCtrProgramStep.opCode is set to mv.impact.acquire.TRTProgOpCodes.rtctrlProgWaitClocks.

◆ controllerRegister

readonly PropertyI controllerRegister = new PropertyI()

An integer property, which defines the index of the controller register to refer in this mv.impact.acquire.RTCtrProgramStep.

This property only is taken into account, if mv.impact.acquire.RTCtrProgramStep.opCode is set to mv.impact.acquire.TRTProgOpCodes.rtctrlProgRegisterSet, mv.impact.acquire.TRTProgOpCodes.rtctrlProgRegisterAdd, mv.impact.acquire.TRTProgOpCodes.rtctrlProgRegisterSub, mv.impact.acquire.TRTProgOpCodes.rtctrlProgJumpLocOnZero or mv.impact.acquire.TRTProgOpCodes.rtctrlProgJumpLocOnNotZero.

Note
This feature will not be available for every device offering a HRTC. It will be available if the translation dictionary of the property mv.impact.acquire.RTCtrProgramStep.opCode contains mv.impact.acquire.TRTProgOpCodes.rtctrlProgRegisterSet, mv.impact.acquire.TRTProgOpCodes.rtctrlProgRegisterAdd, mv.impact.acquire.TRTProgOpCodes.rtctrlProgRegisterSub, mv.impact.acquire.TRTProgOpCodes.rtctrlProgJumpLocOnZero or mv.impact.acquire.TRTProgOpCodes.rtctrlProgJumpLocOnNotZero.

Read the properties translation dictionary with the functions mv.impact.acquire.EnumPropertyI<T>.getTranslationDictString and mv.impact.acquire.EnumPropertyI<T>.getTranslationDictValue. There is a more efficient function mv.impact.acquire.PropertyIPulseStartTrigger.getTranslationDict in addition to the functions mentioned above.

◆ digitalInputs

An enumerated integer property to define for which digital input state this program step waits for.

Valid values for this property are defined by the enumeration mv.impact.acquire.TDigIOState.

This property only is taken into account, if mv.impact.acquire.RTCtrProgramStep.opCode is set to mv.impact.acquire.TRTProgOpCodes.rtctrlProgWaitDigin.

◆ digitalOutputs

An enumerated integer property to define how to set the digital outputs of this device.

Valid values for this property are defined by the enumeration mv.impact.acquire.TDigIOState.

This property only is taken into account, if mv.impact.acquire.RTCtrProgramStep.opCode is set to mv.impact.acquire.TRTProgOpCodes.rtctrlProgSetDigout.

◆ frameID

An integer property, which defines the frame ID of the triggered image mv.impact.acquire.RTCtrProgram.

This property only is taken into account, if mv.impact.acquire.RTCtrProgramStep.opCode is set to mv.impact.acquire.TRTProgOpCodes.rtctrlProgTriggerSet.

◆ opCode

An enumerated integer property defining the general purpose of this mv.impact.acquire.RTCtrProgramStep object.

Valid values for this property are defined by the enumeration mv.impact.acquire.TRTProgOpCodes.

◆ registerValue

readonly PropertyI registerValue = new PropertyI()

An integer property, which defines the a value to associate with a register access in this mv.impact.acquire.RTCtrProgramStep.

This property only is taken into account, if mv.impact.acquire.RTCtrProgramStep.opCode is set to mv.impact.acquire.TRTProgOpCodes.rtctrlProgRegisterSet, mv.impact.acquire.TRTProgOpCodes.rtctrlProgRegisterAdd or mv.impact.acquire.TRTProgOpCodes.rtctrlProgRegisterSub.

Note
This feature will not be available for every device offering a HRTC. It will be available if the translation dictionary of the property mv.impact.acquire.RTCtrProgramStep.opCode contains mv.impact.acquire.TRTProgOpCodes.rtctrlProgRegisterSet, mv.impact.acquire.TRTProgOpCodes.rtctrlProgRegisterAdd, or mv.impact.acquire.TRTProgOpCodes.rtctrlProgRegisterSub.

Read the properties translation dictionary with the functions mv.impact.acquire.EnumPropertyI<T>.getTranslationDictString and mv.impact.acquire.EnumPropertyI<T>.getTranslationDictValue. There is a more efficient function mv.impact.acquire.PropertyIPulseStartTrigger.getTranslationDict in addition to the functions mentioned above.

◆ sensorHeads

An enumerated integer property to define which sensor heads to trigger (for devices with more than one sensor head).

Valid values for this property are defined by the enumeration mv.impact.acquire.TDigIOState.

This property only is taken into account, if mv.impact.acquire.RTCtrProgramStep.opCode is set to mv.impact.acquire.TRTProgOpCodes.rtctrlProgTriggerSet or mv.impact.acquire.TRTProgOpCodes.rtctrlProgTriggerReset.

Property Documentation

◆ componentEnumerable

IEnumerable<Component> componentEnumerable
getinherited

Returns an enumerator that iterates through the collection.

This interface will allow to e.g. write code like this:

Info info = new Info(pDev);
foreach (Component c in info.componentEnumerable)
{
Console.WriteLine("{0}", c.name);
}
String name
Returns the name of the component referenced by this object.
Definition ComponentAccess.cs:167
A base class to implement access to internal driver components.
Definition Component.cs:133

See the frameworks documentation about the System.Collections.IEnumerable interface for more information.

Returns
An enumerator that iterates through the collection

◆ componentListEnumerable

IEnumerable<ComponentList> componentListEnumerable
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:

Info info = new Info(pDev);
foreach (ComponentList cl in info.componentListEnumerable)
{
Console.WriteLine("{0}", cl.name);
}
A class to provide access to component lists.
Definition ComponentList.cs:14

See the frameworks documentation about the System.Collections.IEnumerable interface for more information.

Returns
An enumerator that iterates through the collection

◆ hObj

int hObj
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.

Returns
A unique identifier for the component referenced by this object.