IDS Peak comfortSDK, genericSDK, IPL, and AFL developer manuals are external documents. Please contact us if you need them.
Controls if the physical line is used as input or output.
Name |
LineMode[LineSelector] |
Category |
|
Interface |
Enumeration |
Access |
Read/Write |
Unit |
- |
Visibility |
Expert |
Values |
Input |
Standard |
SFNC |
Availability uEye+ |
|
Availability uEye |
|
Values description
•Input: The selected physical line is used as input.
•Output: The selected physical line is used as output.
Depending on value set under LineSelector this register is read-only. LineMode can only be set for GPIOs. |
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.
Code example
C++
// Before accessing LineMode, make sure LineSelector is set correctly
// Set LineSelector to "Line2"
nodeMapRemoteDevice->FindNode<peak::core::nodes::EnumerationNode>("LineSelector")->SetCurrentEntry("Line2");
// Determine the current entry of LineMode
std::string value = nodeMapRemoteDevice->FindNode<peak::core::nodes::EnumerationNode>("LineMode")->CurrentEntry()->SymbolicValue();
// Get a list of all available entries of LineMode
auto allEntries = nodeMapRemoteDevice->FindNode<peak::core::nodes::EnumerationNode>("LineMode")->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);
}
}
C#
// Before accessing LineMode, make sure LineSelector is set correctly
// Set LineSelector to "Line2"
nodeMapRemoteDevice.FindNode<peak.core.nodes.EnumerationNode>("LineSelector").SetCurrentEntry("Line2");
// Determine the current entry of LineMode
string value = nodeMapRemoteDevice.FindNode<peak.core.nodes.EnumerationNode>("LineMode").CurrentEntry().SymbolicValue();
// Get a list of all available entries of LineMode
allEntries = nodeMapRemoteDevice.FindNode<peak.core.nodes.EnumerationNode>("LineMode").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());
}
}
Python
# Before accessing LineMode, make sure LineSelector is set correctly
# Set LineSelector to "Line2" (str)
nodeMapRemoteDevice.FindNode("LineSelector").SetCurrentEntry("Line2")
# Determine the current entry of LineMode (str)
value = nodeMapRemoteDevice.FindNode("LineMode").CurrentEntry().SymbolicValue()
# Get a list of all available entries of LineMode
allEntries = nodeMapRemoteDevice.FindNode("LineMode").Entries()
availableEntries = []
for entry in allEntries:
if (entry.AccessStatus() != ids_peak.NodeAccessStatus_NotAvailable
and entry.AccessStatus() != ids_peak.NodeAccessStatus_NotImplemented):
availableEntries.append(entry.SymbolicValue())