IDS Peak comfortSDK, genericSDK, IPL, and AFL developer manuals are external documents. Please contact us if you need them.
Specifies the internal signal or physical input line to use as the trigger source. The selected trigger must have its TriggerMode set to "On".
Name |
TriggerSource[TriggerSelector] |
Category |
|
Interface |
Enumeration |
Access |
Read/Write |
Unit |
- |
Visibility |
Beginner |
Values |
Counter0Active Counter1Active Counter0End Counter1End Counter0Start Counter1Start Line0 Line1 Line2 Line3 Line4 Line5 Line6 PWM0 SignalMultiplier0 Software Timer0Active Timer1Active Timer0End Timer1End Timer0Start Timer1Start UserOutput0 UserOutput1 UserOutput2 UserOutput3 |
Standard |
SFNC |
Availability uEye+ |
|
Availability uEye |
|
Values description
•Counter0Active, Counter1Active: Specifies which CounterActive signal to use as internal source for the trigger. This feature is only supported by uEye+ cameras (GV and U3 models).
•Counter0Start, Counter1Start, Counter0End, Counter1End: Specifies which counter signal to use as internal source for the trigger. This feature is only supported by uEye+ cameras (GV and U3 models).
•Line0 … Line6 (see overview): Specifies which physical line (or pin) to use as external source for the trigger signal.
•PWM0: Specifies that the trigger source will be generated by "PWM0". This feature is only supported by uEye+ cameras (GV and U3 models).
•SignalMultiplier0: Specifies that the trigger source will be generated by "SignalMultiplier0". This feature is only supported by GigE Vision cameras (GV models).
•Software: Specifies that the trigger source will be generated by software using the TriggerSoftware command.
•Timer0Active, Timer1Active: Specifies which TimerActive signal to use as internal source for the trigger. This feature is only supported by uEye+ cameras (GV and U3 models).
•Timer0Start, Timer1Start, Timer0End, Timer1End: Specifies which timer signal to use as internal source for the trigger. This feature is only supported by uEye+ cameras (GV and U3 models).
•UserOutput0, UserOutput1, UserOutput2, UserOutput3: Specifies which user output to use as internal source for the trigger.
Overview of available lines by camera family
This overview describes all available lines. Depending on the camera model used, not all functions may be supported.
Line |
GigE uEye+ Warp10 |
GigE uEye+ CP Rev. 2/CP Rev. 2.2 GigE uEye+ FA/FA Rev. 1.2 GigE uEye+ SE Rev. 4/SE Rev. 4.2 USB 3 uEye+ CP Rev. 2/CP 2.2 uEye+ SE USB 3.1 Gen 1/SE Rev 1.2 uEye+ LE USB 3.1 Rev. 1.2 (PCB version only) |
uEye+ XCP USB 3 Rev. 1.2 uEye+ XLE USB 3 Rev. 1.2 (PCB version only) uEye+ XLS USB 3 Rev. 1.2 |
uEye+ XLE USB 3 Rev. 1.1 (PCB version only) |
---|---|---|---|---|
Line0 |
(Trigger) Input 0 with optocoupler |
(Trigger) Input with optocoupler |
(Trigger) Input without optocoupler |
(Trigger) Input without optocoupler |
Line1 |
(Trigger) Input 1 with optocoupler |
(Flash) Output with optocoupler |
(Flash) Output without optocoupler |
(Flash) Output without optocoupler |
Line2 |
(Trigger) Input 2 with optocoupler |
GPIO 1 without optocoupler |
GPIO 1 without optocoupler |
- |
Line3 |
(Flash) Output 0 with optocoupler |
GPIO 2 without optocoupler |
GPIO 2 without optocoupler |
- |
Line4 |
(Flash) Output 1 with optocoupler |
- |
- |
- |
Line5 |
Fast (Flash) Output 2 with optocoupler |
- |
- |
- |
Line6 |
Fast (Flash) Output 3 with optocoupler |
- |
- |
- |
•Input: Physical input line that e.g. serves as trigger input (LineMode = "Input" only).
•Output: Physical output line that e.g. serves as flash output (LineMode = "Output" only).
•GPIO: Input or output line that can be used as input or output. To configure the line as input, change LineMode to "Input". To configure the line as output, change LineMode to "Output".
You will find information about the pin assignment and wiring of your camera either in the hardware descriptions of the respective camera family or in the model-specific data sheet.
NOTICE! On some cameras, lines are galvanically isolated using an optocoupler to protect the camera and the PC against surges. •Only DC voltages may be applied to lines or pins that are galvanically isolated by an optocoupler. The General Purpose I/O (GPIO) may not be potential-free and in this case has no protective circuit. •Avoid damage to the electronics due to faulty wiring You will find information about the pin assignment and wiring of your camera in the hardware descriptions of the respective camera family. |
Code example
C++
// Before accessing TriggerSource, make sure TriggerSelector is set correctly
// Set TriggerSelector to "ExposureStart"
nodeMapRemoteDevice->FindNode<peak::core::nodes::EnumerationNode>("TriggerSelector")->SetCurrentEntry("ExposureStart");
// Determine the current entry of TriggerSource
std::string value = nodeMapRemoteDevice->FindNode<peak::core::nodes::EnumerationNode>("TriggerSource")->CurrentEntry()->SymbolicValue();
// Get a list of all available entries of TriggerSource
auto allEntries = nodeMapRemoteDevice->FindNode<peak::core::nodes::EnumerationNode>("TriggerSource")->Entries();
std::vector<std::shared_ptr<peak::core::nodes::EnumerationEntryNode>> availableEntries;
for(const auto & entry : allEntries)
{
if ((entry->AccessStatus()!=peak::core::nodes::NodeAccessStatus::NotAvailable)
&& (entry->AccessStatus()!=peak::core::nodes::NodeAccessStatus::NotImplemented))
{
availableEntries.emplace_back(entry);
}
}
// Set TriggerSource to "Software"
nodeMapRemoteDevice->FindNode<peak::core::nodes::EnumerationNode>("TriggerSource")->SetCurrentEntry("Software");
C#
// Before accessing TriggerSource, make sure TriggerSelector is set correctly
// Set TriggerSelector to "ExposureStart"
nodeMapRemoteDevice.FindNode<peak.core.nodes.EnumerationNode>("TriggerSelector").SetCurrentEntry("ExposureStart");
// Determine the current entry of TriggerSource
string value = nodeMapRemoteDevice.FindNode<peak.core.nodes.EnumerationNode>("TriggerSource").CurrentEntry().SymbolicValue();
// Get a list of all available entries of TriggerSource
allEntries = nodeMapRemoteDevice.FindNode<peak.core.nodes.EnumerationNode>("TriggerSource").Entries();
List<string> availableEntries = new List<string>();
for(int i = 0; i < allEntries.Count(); ++i)
{
if ((allEntries[i].AccessStatus() != peak.core.nodes.NodeAccessStatus.NotAvailable)
&& (allEntries[i].AccessStatus() != peak.core.nodes.NodeAccessStatus.NotImplemented))
{
availableEntries.Add(allEntries[i].SymbolicValue());
}
}
// Set TriggerSource to "Software"
nodeMapRemoteDevice.FindNode<peak.core.nodes.EnumerationNode>("TriggerSource").SetCurrentEntry("Software");
Python
# Before accessing TriggerSource, make sure TriggerSelector is set correctly
# Set TriggerSelector to "ExposureStart" (str)
nodeMapRemoteDevice.FindNode("TriggerSelector").SetCurrentEntry("ExposureStart")
# Determine the current entry of TriggerSource (str)
value = nodeMapRemoteDevice.FindNode("TriggerSource").CurrentEntry().SymbolicValue()
# Get a list of all available entries of TriggerSource
allEntries = nodeMapRemoteDevice.FindNode("TriggerSource").Entries()
availableEntries = []
for entry in allEntries:
if (entry.AccessStatus() != ids_peak.NodeAccessStatus_NotAvailable
and entry.AccessStatus() != ids_peak.NodeAccessStatus_NotImplemented):
availableEntries.append(entry.SymbolicValue())
# Set TriggerSource to "Software" (str)
nodeMapRemoteDevice.FindNode("TriggerSource").SetCurrentEntry("Software")