IDS Peak comfortSDK, genericSDK, IPL, and AFL developer manuals are external documents. Please contact us if you need them.
The UART functionality is only available for cameras that support UART communication on the hardware. This feature is only supported by the following uEye+ cameras.
•USB 3 uEye+ XCP Rev. 1.2
•USB 3 uEye+ XLE Rev. 1.2
•USB 3 uEye+ XLS Rev. 1.2
The hardware must be Rev. 1.2 (or higher), as UART support is included from this hardware on. The description of the GPIO (General Purpose I/O) can be found in the camera manual of the respective camera family.
Specifies the source for the Rx signal.
Name |
UartRxSource |
Category |
|
Interface |
Enumeration |
Access |
Read/Write |
Unit |
- |
Visibility |
Expert |
Values |
Line3 Off |
Standard |
IDS |
Availability uEye+ |
|
Availability uEye |
- |
Values description
•Line3: Line3 is used to receive UART data. This option is only available if Line3 is configured as an input (LineSelector="Line3", LineMode="Input").
•Off: UART Rx is not used. If you select "Off" while reception is active, UART Rx is canceled.
Code example
C++
// Determine the current UartRxSource
std::string value = nodeMapRemoteDevice->FindNode<peak::core::nodes::EnumerationNode>("UartRxSource")->CurrentEntry()->SymbolicValue();
// Get a list of all available entries of UartRxSource
auto allEntries = nodeMapRemoteDevice->FindNode<peak::core::nodes::EnumerationNode>("UartRxSource")->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 UartRxSource to "Line3"
nodeMapRemoteDevice->FindNode<peak::core::nodes::EnumerationNode>("UartRxSource")->SetCurrentEntry("Line3");
C#
// Determine the current UartRxSource
string value = nodeMapRemoteDevice.FindNode<peak.core.nodes.EnumerationNode>("UartRxSource").CurrentEntry().SymbolicValue();
// Get a list of all available entries of UartRxSource
allEntries = nodeMapRemoteDevice.FindNode<peak.core.nodes.EnumerationNode>("UartRxSource").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 UartRxSource to "Line3"
nodeMapRemoteDevice.FindNode<peak.core.nodes.EnumerationNode>("UartRxSource").SetCurrentEntry("Line3");
Python
# Determine the current UartRxSource (str)
value = nodeMapRemoteDevice.FindNode("UartRxSource").CurrentEntry().SymbolicValue()
# Get a list of all available entries of UartRxSource
allEntries = nodeMapRemoteDevice.FindNode("UartRxSource").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 UartRxSource to "Line3" (str)
nodeMapRemoteDevice.FindNode("UartRxSource").SetCurrentEntry("Line3")