VisionBox .NET Library  1.7.10.0 (2024-04-16)
VIB_NET::Strobe Class Reference
+ Inheritance diagram for VIB_NET::Strobe:

Detailed Description

This class represents the LED Strobe Controller.

See class VIB::Strobe in the VisionBox Interface Library for a detailed description.

Examples
+ C# example

Public Types

enum  eSTROBE_MODE
 Mode definitions for the strobe unit, used with TriggerMode More...
 
enum  eSTROBE_OUTPUT_TYPE
 Type definitions for setting the output channel of the Strobe unit, used with OutputType More...
 
enum  eSTROBE_SOURCE
 Trigger source definitions for the strobe unit, used with TriggerSource More...
 

Public Member Functions

String ^ Calibrate ()
 Calibrates the strobe unit More...
 
void Init (Boolean ResetParameter)
 Initializes the Strobe unit. More...
 
Int32 SetFixedCurrent (Int32 SupplyVoltage, Int32 LoadVoltage, UInt32 MaxOnTime, UInt32 MinOffTime, UInt32 Current)
 Sets a fixed operating point for the strobe output. More...
 
Int32 SetLimits (Int32 LimitCurrent, Int32 MaxSupplyVoltage, Int32 MaxLoadVoltage, UInt32 MaxOnTime, UInt32 MinOffTime, UInt32 MaxCurrent)
 Calculates the minimum permitted OFF-time or the maximum permitted current. More...
 
 Strobe ()
 Default constructor for the device object More...
 
- Public Member Functions inherited from VIB_NET::iDevice
void Close ()
 Closes a device More...
 
bool isOpen ()
 Returns the open state of a device object More...
 
void Open ()
 Opens a device More...
 
void Open (unsigned int Index)
 Opens a device More...
 

Properties

Int32 Current [get, set]
 Current value of the strobe output. More...
 
UInt32 MaxCurrent [get]
 Returns the maximum strobe current in mA for the current configuration. More...
 
UInt32 MaxOnTime [get]
 Returns the maximum ON-time in microseconds for the current configuration. More...
 
UInt32 MinOffTime [get]
 Returns the minimum OFF-time in microseconds for the current configuration. More...
 
Int32 OnTime [get, set]
 ON-time of the strobe output for edge triggered modes in microseconds. More...
 
eSTROBE_OUTPUT_TYPE OutputType [get, set]
 Selects the output channel for the Strobe unit. More...
 
Boolean SwTrigger [set]
 Sets the trigger signal for software triggered and manual software mode. More...
 
UInt16 Temperature [get]
 Reads temperature of the FlashBox Strobe unit. More...
 
UInt32 TriggerDelay [get, set]
 Trigger delay. More...
 
eSTROBE_MODE TriggerMode [get, set]
 Contains the trigger mode. More...
 
eSTROBE_SOURCE TriggerSource [get, set]
 Trigger source for hardware triggered modes. More...
 
Boolean TriggerSourceInvert [get, set]
 Polarity of the trigger source for hardware triggered modes. More...
 
virtual VIB_NET::eDEVICE_TYPE Type [get]
 Returns the device type for the current instance, see eDEVICE_TYPE More...
 
Boolean Validate [get, set]
 Validate the current when setting Current. More...
 
Int32 Voltage [get]
 Contains the supply voltage for the strobe output. More...
 
- Properties inherited from VIB_NET::iDevice
virtual VIB_NET::eDEVICE_TYPE Type [get]
 Returns the device type for the current instance, see eDEVICE_TYPE More...
 

Member Enumeration Documentation

◆ eSTROBE_MODE

Mode definitions for the strobe unit, used with TriggerMode

Enumerator
SOFTWARE_EDGE 

Software triggered

SOFTWARE_COPY 

Manual ON/OFF by Software.

HARDWARE_EDGE 

Hardware triggered by edge

HARDWARE_COPY 

Hardware triggered by level.

◆ eSTROBE_OUTPUT_TYPE

Type definitions for setting the output channel of the Strobe unit, used with OutputType

Enumerator
OFF 

The LED voltage is disconnected.

DEFAULT 

Sets the default value.

EXTERNAL 

External connectors are used (default)

INTERNAL 

The internal ring light is used (only valid for the VisionCam XM)

◆ eSTROBE_SOURCE

Trigger source definitions for the strobe unit, used with TriggerSource

Note
The VisionBox AGE-X1 doesn't have a Multiplexer and therefore uses different source signals than new hardware generations.
Enumerator
MUX_OUT0 

Multiplexer Output 0.

MUX_OUT1 

Multiplexer Output 1.

MUX_OUT2 

Multiplexer Output 2.

MUX_OUT3 

Multiplexer Output 3.

MUX_OUT4 

Multiplexer Output 4.

MUX_OUT5 

Multiplexer Output 5.

MUX_OUT6 

Multiplexer Output 6.

MUX_OUT7 

Multiplexer Output 7.

MUX_OUT8 

Multiplexer Output 8.

MUX_OUT9 

Multiplexer Output 9.

MUX_OUT10 

Multiplexer Output 10.

MUX_OUT11 

Multiplexer Output 11.

MUX_OUT12 

Multiplexer Output 12.

MUX_OUT13 

Multiplexer Output 13.

MUX_OUT14 

Multiplexer Output 14.

MUX_OUT15 

Multiplexer Output 15.

MUX_OUT16 

Multiplexer Output 16.

MUX_OUT17 

Multiplexer Output 17.

MUX_OUT18 

Multiplexer Output 18.

MUX_OUT19 

Multiplexer Output 19.

MUX_OUT20 

Multiplexer Output 20.

MUX_OUT21 

Multiplexer Output 21.

MUX_OUT22 

Multiplexer Output 22.

MUX_OUT23 

Multiplexer Output 23

DIG_IN0 

DigitalInput 0 (VisionBox AGE-X1 only)

DIG_IN1 

DigitalInput 1 (VisionBox AGE-X1 only)

DIG_IN2 

DigitalInput 2 (VisionBox AGE-X1 only)

DIG_IN3 

DigitalInput 3 (VisionBox AGE-X1 only)

DIG_IN4 

DigitalInput 4 (VisionBox AGE-X1 only)

DIG_IN5 

DigitalInput 5 (VisionBox AGE-X1 only)

DIG_IN6 

DigitalInput 6 (VisionBox AGE-X1 only)

DIG_IN7 

DigitalInput 7 (VisionBox AGE-X1 only)

RS422_IN0 

RS422 input 0 (VisionBox AGE-X1 only)

RS422_IN1 

RS422 input 1 (VisionBox AGE-X1 only)

RS422_IN2 

RS422 input 2 (VisionBox AGE-X1 only)

TRIGGEN_OUT0 

TriggerGenerator output 0 (VisionBox AGE-X1 only)

TRIGGEN_OUT1 

TriggerGenerator output 1 (VisionBox AGE-X1 only)

TRIGGEN_OUT2 

TriggerGenerator output 2 (VisionBox AGE-X1 only)

TRIGGEN_OUT3 

TriggerGenerator output 3 (VisionBox AGE-X1 only)

Constructor & Destructor Documentation

◆ Strobe()

VIB_NET::Strobe::Strobe ( )

Default constructor for the device object

The device must be opened with Open() before it can be used.

Member Function Documentation

◆ Calibrate()

String VIB_NET::Strobe::Calibrate ( )

Calibrates the strobe unit

Calibration of the strobe unit is normally not required because the hardware is delivered calibrated.

Connect a zero Ohm bridge between the LED+ and LED- terminals before calling this function.
After success, the calibration values are stored permanently.

Returns
Text containing the calibration result data

◆ Init()

void VIB_NET::Strobe::Init ( Boolean  ResetParameter)

Initializes the Strobe unit.

Parameters
ResetParameterReset the settings during initialization
Note
The parameter is internally always forced to true!
Example:
C#: Strobe_Example.cs
Visual Basic: Strobe_Example.vb

◆ SetFixedCurrent()

Int32 VIB_NET::Strobe::SetFixedCurrent ( Int32  SupplyVoltage,
Int32  LoadVoltage,
UInt32  MaxOnTime,
UInt32  MinOffTime,
UInt32  Current 
)

Sets a fixed operating point for the strobe output.

This function can be used as an alternative to SetLimits() and Current(). It allows for higher output power, if the difference between SupplyVoltage and LoadVoltage is small.

The output current will be set to the specified value and this function returns the calculated minimum OFF-time. The current can't be changed with Current() after calling this function. But Current() can still be used with the same current value in order to validate the actual current.

Background: SetLimits() assumes a resistive load characteristic, which can lead to higher internal power losses at lower currents. Because the current can be decreased by the user, SetLimits() will calculate the limits based on the worst-case current.

Parameters
SupplyVoltageSupply voltage used for the strobe output:
ValueEffect
12...30 The actual power supply voltage used.
LoadVoltageThe voltage across the load when the output current is equal to Current
MaxOnTimeMaximum allowed ON-time in µs (max. ~ 4 s; set MinOffTime to 0 to allow steady ON state)
MinOffTimeMinimum allowed OFF-time in µs (max. ~ 4 s)
CurrentOutput current in mA
Returns
>= 0: Minimum allowed OFF-time (µs)
< 0: Error
Warning
In the case of wrong parameters the hardware can be damaged or destroyed!

◆ SetLimits()

Int32 VIB_NET::Strobe::SetLimits ( Int32  LimitCurrent,
Int32  MaxSupplyVoltage,
Int32  MaxLoadVoltage,
UInt32  MaxOnTime,
UInt32  MinOffTime,
UInt32  MaxCurrent 
)

Calculates the minimum permitted OFF-time or the maximum permitted current.

The operating parameters for the strobe output can be limited by the strobe unit or by the lighting hardware connected to the output. This function is be used to calculate and limit these parameters.

The MaxOnTime, MinOffTime and MaxCurrent parameters should first be chosen by the user in a way, that the limits of the lighting unit are not exceeded.
Based on these parameters, this function ensures that the limits of the strobe unit are not exceeded. The parameter LimitCurrent controls whether the minimum OFF-time or the maximum current will be reduced.

If the strobe active time exceeds the maximum ON-time, the output will be turned off by the FPGA, until the inactive time reaches the minimum OFF-time.

Parameters
LimitCurrent0: Calculate the minimum allowed OFF-time
1: Calculate the maximum allowed current
MaxSupplyVoltageSupply voltage used for the strobe output:
ValueEffect
12...30 The actual power supply voltage used.
-1 The worst case supply voltage is assumed to calculate the limits (30 V).
0 Invalid.
MaxLoadVoltageThe voltage across the load when the output current is equal to MaxCurrent (set to -1 to use worst-case value)
MaxOnTimeMaximum allowed ON-time in µs (max. ~ 4 s; set MinOffTime to 0 to allow steady ON state)
MinOffTimeMinimum allowed OFF-time in µs (max. ~ 4 s)
MaxCurrentMaximum allowed output current in mA
Returns
LimitCurrent = 0: New minimum allowed OFF-time (µs)
LimitCurrent = 1: New maximum allowed current (mA)
Warning
In the case of wrong parameters the hardware can be damaged or destroyed!
Example:
C#: Strobe_Example.cs
Visual Basic: Strobe_Example.vb

Property Documentation

◆ Current

VIB_NET::Strobe::Current
getset

Current value of the strobe output.

For Validation of the strobe current use Strobe.Validate = true before you set the new strobe current.

If the Strobe.Validate parameter is set to 0, the characteristics value of the analog strobe circuit stored within an EEPROM is used without validation.
The Strobe.Validate parameter can be set to 1 in order to measure and adjust the current. The deviation of the desired current can be minimized in this mode. If the deviation is too high, this function will return with an error. The strobe output is activated multiple times for 200 µs at the given current when calling this function. Please note that the Max. ON-time parameter must be 200 µs or more in this mode.

◆ MaxCurrent

VIB_NET::Strobe::MaxCurrent
get

Returns the maximum strobe current in mA for the current configuration.

Example:
C#: Strobe_Example.cs
Visual Basic: Strobe_Example.vb

◆ MaxOnTime

VIB_NET::Strobe::MaxOnTime
get

Returns the maximum ON-time in microseconds for the current configuration.

Example:
C#: Strobe_Example.cs
Visual Basic: Strobe_Example.vb

◆ MinOffTime

VIB_NET::Strobe::MinOffTime
get

Returns the minimum OFF-time in microseconds for the current configuration.

Example:
C#: Strobe_Example.cs
Visual Basic: Strobe_Example.vb

◆ OnTime

VIB_NET::Strobe::OnTime
getset

ON-time of the strobe output for edge triggered modes in microseconds.

Example:
C#: Strobe_Example.cs
Visual Basic: Strobe_Example.vb

◆ OutputType

VIB_NET::Strobe::OutputType
getset

Selects the output channel for the Strobe unit.

This function is primarily used by the VisionCam XM which can provide the LED current to the supply and I/O connector, or to the internal ring light (default).

Parameters
OutputTypeThe desired channel, see eSTROBE_OUTPUT_TYPE
Returns
Used OutputType


◆ SwTrigger

VIB_NET::Strobe::SwTrigger
set

Sets the trigger signal for software triggered and manual software mode.

true activates the strobe output, false deactivates the strobe output (only used in manual software mode)

Example:
C#: Strobe_Example.cs
Visual Basic: Strobe_Example.vb

◆ Temperature

VIB_NET::Strobe::Temperature
get

Reads temperature of the FlashBox Strobe unit.

◆ TriggerDelay

VIB_NET::Strobe::TriggerDelay
getset

Trigger delay.

The trigger delay is only used in software triggered and edged triggered hardware mode.

Parameters
TriggerDelayDelay in µs (max. ~4.s)
Returns
Trigger delay in µs
Example:
C#: Strobe_Example.cs
Visual Basic: Strobe_Example.vb

◆ TriggerMode

VIB_NET::Strobe::TriggerMode
getset

Contains the trigger mode.

The strobe output can be used in four different modes:

  • Software triggered (eSTROBE_MODE::SOFTWARE_EDGE):
    The strobe output is activated by setting SwTrigger = true. The output will be reset after the ON-time has expired.
  • Manual Software (eSTROBE_MODE::SOFTWARE_COPY):
    The strobe output is set to ON/OFF by setting SwTrigger = true / SwTrigger = false. If the minimum OFF-time is greater than 0, the mode will be set to software triggered instead.
  • Hardware by edge (eSTROBE_MODE::HARDWARE_EDGE):
    The strobe output is activated on rising (non-inverted) or falling (inverted) edge of the external trigger input. Polarity can be changed with TriggerSource. The strobe output will be reset after the ON-time has expired.
  • Hardware by level (eSTROBE_MODE::HARDWARE_COPY):
    The strobe output is activated by the level of the external trigger input. If the minimum OFF-time is greater than 0, the trigger mode will be set to hardware by edge instead.
    Example:
    C#: Strobe_Example.cs
    Visual Basic: Strobe_Example.vb

◆ TriggerSource

VIB_NET::Strobe::TriggerSource
getset

Trigger source for hardware triggered modes.

Set TriggerMode to eSTROBE_MODE::HARDWARE_EDGE or eSTROBE_MODE::HARDWARE_COPY before changing the value.
Used together with TriggerSourceInvert.

Parameters
TriggerSourceSelect the signal used as trigger source (see eSTROBE_SOURCE)
Example:
C#: Strobe_Example.cs
Visual Basic: Strobe_Example.vb

◆ TriggerSourceInvert

VIB_NET::Strobe::TriggerSourceInvert
getset

Polarity of the trigger source for hardware triggered modes.

Set TriggerMode to eSTROBE_MODE::HARDWARE_EDGE or eSTROBE_MODE::HARDWARE_COPY before changing the value.

Example:
C#: Strobe_Example.cs
Visual Basic: Strobe_Example.vb

◆ Type

VIB_NET::Strobe::Type
get

Returns the device type for the current instance, see eDEVICE_TYPE

◆ Validate

VIB_NET::Strobe::Validate
getset

Validate the current when setting Current.

The default is true.

Example:
C#: Strobe_Example.cs
Visual Basic: Strobe_Example.vb

◆ Voltage

VIB_NET::Strobe::Voltage
get

Contains the supply voltage for the strobe output.

Returns
Voltage in mV
Example:
C#: Strobe_Example.cs
Visual Basic: Strobe_Example.vb
VIB_NET
All relevant classes and functions are residing in this namespace.
Definition: CameraLinkIn.cpp:6
VIB_NET::Strobe
This class represents the LED Strobe Controller.
Definition: VIB_NET.h:683
VIB_NET::Strobe::eSTROBE_MODE
eSTROBE_MODE
Mode definitions for the strobe unit, used with TriggerMode
Definition: VIB_NET.h:687
VIB_NET::VIBSystem::OpenDevice
VIB_NET::iDevice ^ OpenDevice(VIB_NET::eDEVICE_TYPE Type, Int32 Index)
Opens a device and creates a device object
Definition: VIBSystem.cpp:280
VIB_NET::VIBSystem
Factory for devices
Definition: VIB_NET.h:1734