Impact Acquire SDK .NET
IOSubSystemBlueFOX Class Reference

A class to handle the digital inputs and outputs for mvBlueFOX USB cameras (Device specific interface layout only). More...

Inheritance diagram for IOSubSystemBlueFOX:
[legend]

Public Member Functions

PulseStartConfiguration getPulseStartConfiguration (int nr)
 Returns a pointer to a mv.impact.acquire.PulseStartConfiguration associated with this device.
 
RTCtrProgram getRTCtrProgram (int nr)
 Returns a pointer to a mv.impact.acquire.RTCtrProgram associated with this device.
 
DigitalInput input (int nr)
 Returns a const pointer to a mv.impact.acquire.DigitalInput object.
 
 IOSubSystemBlueFOX (Device device)
 Constructs a new mv.impact.acquire.IOSubSystemBlueFOX object.
 
DigitalOutput output (int nr)
 Returns a pointer to a mv.impact.acquire.DigitalOutput object.
 
override uint readInputRegister ()
 Returns the current state of the digital output register.
 
override uint readOutputRegister ()
 Returns the current state of the digital output register.
 
override void writeOutputRegister (uint value)
 Alters the state of the digital output register.
 
override void writeOutputRegister (uint value, uint mask)
 Alters the state of the digital output register.
 

Public Attributes

readonly EnumPropertyI< TBlueFOXDigitalInputThresholddigitalInputThreshold = new EnumPropertyI<TBlueFOXDigitalInputThreshold>()
 An enumerated integer property defining the threshold for the digital inputs in Volt.
 

Properties

int inputCount [get]
 Returns the number of mv.impact.acquire.DigitalInput s available for the mv.impact.acquire.Device associated with this object.
 
int outputCount [get]
 Returns the number of digital outputs available for the mv.impact.acquire.Device associated with this object.
 
int pulseStartConfigurationCount [get]
 Returns the number of mv.impact.acquire.PulseStartConfiguration objects available for the mv.impact.acquire.Device associated with this object.
 
int RTCtrProgramCount [get]
 Returns the number of mv.impact.acquire.RTCtrProgram s available for the mv.impact.acquire.Device associated with this object.
 

Detailed Description

A class to handle the digital inputs and outputs for mvBlueFOX USB cameras (Device specific interface layout only).

A sample to show how to work with this class and the mvBlueFOX (Creating and instance of this class for another device might aise an exception):

public void doSomeIOStuff(Device pBF)
{
Console.Write("output 0 was {0} and is now(after flipping)", bfIOs.output(0).get());
bfIOs.output(0).flip();
Console.WriteLine(bfIOs.output(0).get());
Console.WriteLine("input threshold({0}) set to {1}", bfIOs.digitalInputThreshold.readS(), TBlueFOXDigitalInputThreshold.bfdit10V);
if (bfIOs.digitalInputThreshold.isWriteable) // mvBlueFOX-M doesn't support modifying the input threshold
{
bfIOs.digitalInputThreshold.write(TBlueFOXDigitalInputThreshold.bfdit10V);
Console.WriteLine("input threshold is now {0}", bfIOs.digitalInputThreshold.readS());
}
Console.WriteLine("input 0 is {0}", bfIOs.input(0).get());
// switch on digital out 0 and 1 ( 3 = 00000011 binary )
bfIOs.writeOutputRegister(3);
Console.WriteLine("outputs: {0}, inputs: {1}", bfIOs.readOutputRegister(), bfIOs.readInputRegister());
// the next line will reset bit 0 only, resulting in output 1 to remain high
// as the mask parameter of '1' defines that only the LSB of the register will be
// affected by the first parameter of the function call
bfIOs.writeOutputRegister(0, 1);
Console.WriteLine("outputs: {0}, inputs: {1}", bfIOs.readOutputRegister(), bfIOs.readInputRegister());
}
bool isWriteable
Checks if the caller has write/modify access to the component.
Definition Component.cs:769
This class and its functions represent an actual device detected by this interface in the current sys...
Definition Device.cs:91
A template class to represent 32 bit integer properties and 32 bit enumerated integer properties.
Definition EnumPropertyI.cs:61
EnumPropertyI< T > write(T value)
Writes one value to the property.
Definition EnumPropertyI.cs:449
A class to handle the digital inputs and outputs for mvBlueFOX USB cameras (Device specific interface...
Definition IOSubSystemBlueFOX.cs:51
String readS()
Reads data from this property as a string.
Definition Property.cs:303
TBlueFOXDigitalInputThreshold
Defines valid thresholds( in Volt ) for the digital inputs of the mvBlueFOX cameras.
Definition mvDriverBaseEnums.cs:336
This namespace contains classes and functions belonging to the image acquisition module of this SDK.
Definition Enumerations.cs:2
Note
The mvBlueFOX defines an additional property mv.impact.acquire.CameraSettingsBlueFOX.flashMode. This might affect the state of the digital outputs as well.

If a digital output is defined to be 'logic 0' but the flash mode is switched on for the same digital output, the output will be high during the expose time of the camera sensor. If a digital output is defined to be 'logic 1' the output will be high all the time.

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.
Examples
DigitalIOs.cs.

Constructor & Destructor Documentation

◆ IOSubSystemBlueFOX()

IOSubSystemBlueFOX ( Device device)
inline

Constructs a new mv.impact.acquire.IOSubSystemBlueFOX object.

Parameters
[in]deviceA pointer to a mv.impact.acquire.Device object obtained from a mv.impact.acquire.DeviceManager object.

Member Function Documentation

◆ getPulseStartConfiguration()

PulseStartConfiguration getPulseStartConfiguration ( int nr)
inlineinherited

Returns a pointer to a mv.impact.acquire.PulseStartConfiguration associated with this device.

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

◆ getRTCtrProgram()

RTCtrProgram getRTCtrProgram ( int nr)
inlineinherited

Returns a pointer to a mv.impact.acquire.RTCtrProgram associated with this device.

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

◆ input()

DigitalInput input ( int nr)
inlineinherited

Returns a const pointer to a mv.impact.acquire.DigitalInput object.

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 mv.impact.acquire.IOSubSystem.readInputRegister.
Parameters
[in]nrThe number of the digital input.
Examples
DigitalIOs.cs.

◆ output()

DigitalOutput output ( int nr)
inlineinherited

Returns a pointer to a mv.impact.acquire.DigitalOutput object.

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 mv.impact.acquire.IOSubSystem.writeOutputRegister with the corresponding bit mask.
Parameters
[in]nrThe number of the digital output.
Examples
DigitalIOs.cs.

◆ readInputRegister()

override uint readInputRegister ( )
inlinesealed

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.

◆ readOutputRegister()

override uint readOutputRegister ( )
inlinesealed

Returns the current state of the digital output register.

This function can be used to read all digital outputs as a single value at the same time. 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.

◆ writeOutputRegister() [1/2]

override void writeOutputRegister ( uint value)
inlinesealedvirtual

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 mv.impact.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

Reimplemented from IOSubSystem.

◆ writeOutputRegister() [2/2]

override void writeOutputRegister ( uint value,
uint mask )
inlinesealed

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 mv.impact.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.

Member Data Documentation

◆ digitalInputThreshold

An enumerated integer property defining the threshold for the digital inputs in Volt.

If a voltage applied to the digital input lies above the threshold this pin will be considered as 'logic 1' otherwise it will be considered as 'logic 0'.

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

Note
This property is read-only for mvBlueFOX-M devices and will always be 2V.
Examples
DigitalIOs.cs.

Property Documentation

◆ inputCount

int inputCount
getinherited

Returns the number of mv.impact.acquire.DigitalInput s available for the mv.impact.acquire.Device associated with this object.

Examples
DigitalIOs.cs.

◆ outputCount

int outputCount
getinherited

Returns the number of digital outputs available for the mv.impact.acquire.Device associated with this object.

Examples
DigitalIOs.cs.

◆ pulseStartConfigurationCount

int pulseStartConfigurationCount
getinherited

Returns the number of mv.impact.acquire.PulseStartConfiguration objects available for the mv.impact.acquire.Device associated with this object.

Examples
DigitalIOs.cs.

◆ RTCtrProgramCount

int RTCtrProgramCount
getinherited

Returns the number of mv.impact.acquire.RTCtrProgram s available for the mv.impact.acquire.Device associated with this object.

Examples
DigitalIOs.cs.