IDS Peak comfortSDK, genericSDK, IPL, and AFL developer manuals are external documents. Please contact us if you need them.
Returns the current control mode of the device. This value only changes on execution of the DeviceUpdateList command. See also DeviceAccessStatus, which gives a similar transport layer independent status.
Name |
GevDeviceCurrentControlMode[DeviceSelector] |
Category |
|
Interface |
Enumeration |
Access |
Read |
Unit |
- |
Visibility |
Expert |
Values |
Unknown Open ControlAccess ExclusiveAccess NoAccess |
Standard |
GenTL SFNC |
Availability uEye+ |
|
Availability uEye |
- |
Values description
•Unknown: The current control mode is unknown to the GenTL Producer.
•Open: The device is open for control or exclusive access.
•ControlAccess: The device is controlled by another host. But switchover or read-only access is possible.
•ExclusiveAccess: The device is under exclusive access by a host and cannot be accessed by another one.
•NoAccess: The device cannot be accessed. For example, it may be a GigE Vision device on a subnet different from the interface.
Code Example
C++
// Before accessing GevDeviceCurrentControlMode, make sure DeviceSelector is set correctly
// Set DeviceSelector to 0
nodeMapInterface->FindNode<peak::core::nodes::IntegerNode>("DeviceSelector")->SetValue(0);
// Determine the current entry of GevDeviceCurrentControlMode
std::string value = nodeMapInterface->FindNode<peak::core::nodes::EnumerationNode>("GevDeviceCurrentControlMode")->CurrentEntry()->SymbolicValue();
// Get a list of all available entries of GevDeviceCurrentControlMode
auto allEntries = nodeMapInterface->FindNode<peak::core::nodes::EnumerationNode>("GevDeviceCurrentControlMode")->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 GevDeviceCurrentControlMode, make sure DeviceSelector is set correctly
// Set DeviceSelector to 0
nodeMapInterface.FindNode<peak.core.nodes.IntegerNode>("DeviceSelector").SetValue(0);
// Determine the current entry of GevDeviceCurrentControlMode
string value = nodeMapInterface.FindNode<peak.core.nodes.EnumerationNode>("GevDeviceCurrentControlMode").CurrentEntry().SymbolicValue();
// Get a list of all available entries of GevDeviceCurrentControlMode
allEntries = nodeMapInterface.FindNode<peak.core.nodes.EnumerationNode>("GevDeviceCurrentControlMode").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 GevDeviceCurrentControlMode, make sure DeviceSelector is set correctly
# Set DeviceSelector to 0 (int)
nodeMapInterface.FindNode("DeviceSelector").SetValue(0)
# Determine the current entry of GevDeviceCurrentControlMode (str)
value = nodeMapInterface.FindNode("GevDeviceCurrentControlMode").CurrentEntry().SymbolicValue()
# Get a list of all available entries of GevDeviceCurrentControlMode
allEntries = nodeMapInterface.FindNode("GevDeviceCurrentControlMode").Entries()
availableEntries = []
for entry in allEntries:
if (entry.AccessStatus() != peak.NodeAccessStatus_NotAvailable
and entry.AccessStatus() != peak.NodeAccessStatus_NotImplemented):
availableEntries.append(entry.SymbolicValue())