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 UART receive mode.
Name |
UartRxMode |
Category |
|
Interface |
Enumeration |
Access |
Read/Write |
Unit |
- |
Visibility |
Expert |
Values |
AutoRestartPackets SinglePacket |
Standard |
IDS |
Availability uEye+ |
|
Availability uEye |
- |
Values description
•AutoRestartPackets: Once a packet is completed, the UART Rx module automatically receives data again until reception is stopped with the UartRxStop command.
•SinglePacket: A packet is received and UartRxStatus changes to "Idle" after the packet.
Code example
C++
// Determine the current UartRxMode
std::string value = nodeMapRemoteDevice->FindNode<peak::core::nodes::EnumerationNode>("UartRxMode")->CurrentEntry()->SymbolicValue();
// Get a list of all available entries of UartRxMode
auto allEntries = nodeMapRemoteDevice->FindNode<peak::core::nodes::EnumerationNode>("UartRxMode")->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 UartRxMode to "SinglePacket"
nodeMapRemoteDevice->FindNode<peak::core::nodes::EnumerationNode>("UartRxMode")->SetCurrentEntry("SinglePacket");
C#
// Determine the current UartRxMode
string value = nodeMapRemoteDevice.FindNode<peak.core.nodes.EnumerationNode>("UartRxMode").CurrentEntry().SymbolicValue();
// Get a list of all available entries of UartRxMode
allEntries = nodeMapRemoteDevice.FindNode<peak.core.nodes.EnumerationNode>("UartRxMode").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 UartRxMode to "SinglePacket"
nodeMapRemoteDevice.FindNode<peak.core.nodes.EnumerationNode>("UartRxMode").SetCurrentEntry("SinglePacket");
Python
# Determine the current UartRxMode (str)
value = nodeMapRemoteDevice.FindNode("UartRxMode").CurrentEntry().SymbolicValue()
# Get a list of all available entries of UartRxMode
allEntries = nodeMapRemoteDevice.FindNode("UartRxMode").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 UartRxMode to "SinglePacket" (str)
nodeMapRemoteDevice.FindNode("UartRxMode").SetCurrentEntry("SinglePacket")