Please enable JavaScript to view this site.

IDS peak 2.15.0 / uEye+ firmware 3.54

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

UartControl

Interface

Enumeration

Access

Read/Write

Unit

-

Visibility

Expert

Values

Line3

Off

Standard

IDS

Availability uEye+

icon-u3v

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")