IDS Peak comfortSDK, genericSDK, IPL, and AFL developer manuals are external documents. Please contact us if you need them.
Gives the device's access status at the moment of the last execution of the DeviceUpdateList command. This value only changes on execution of the DeviceUpdateList command.
Name |
DeviceAccessStatus[DeviceSelector] |
Category |
|
Interface |
Enumeration |
Access |
Read |
Unit |
- |
Visibility |
Expert |
Values |
Unknown ReadWrite ReadOnly NoAccess Busy OpenReadWrite OpenReadOnly |
Standard |
GenTL SFNC |
Availability uEye+ |
|
Availability uEye |
|
Values description
•Unknown: The access status of the device is unknown.
•ReadWrite: Full access.
•ReadOnly: Read-only access.
•NoAccess: The device is not available for connecting.
•Busy: The device is already opened by another entity.
•OpenReadWrite: Opened in read/write mode by this GenTL host.
•OpenReadOnly: Opened in read-only mode by this GenTL host.
Code Example
C++
// Before accessing DeviceAccessStatus, make sure DeviceSelector is set correctly
// Set DeviceSelector to 0
nodeMapInterface->FindNode<peak::core::nodes::IntegerNode>("DeviceSelector")->SetValue(0);
// Determine the current entry of DeviceAccessStatus
std::string value = nodeMapInterface->FindNode<peak::core::nodes::EnumerationNode>("DeviceAccessStatus")->CurrentEntry()->SymbolicValue();
// Get a list of all available entries of DeviceAccessStatus
auto allEntries = nodeMapInterface->FindNode<peak::core::nodes::EnumerationNode>("DeviceAccessStatus")->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 DeviceAccessStatus, make sure DeviceSelector is set correctly
// Set DeviceSelector to 0
nodeMapInterface.FindNode<peak.core.nodes.IntegerNode>("DeviceSelector").SetValue(0);
// Determine the current entry of DeviceAccessStatus
string value = nodeMapInterface.FindNode<peak.core.nodes.EnumerationNode>("DeviceAccessStatus").CurrentEntry().SymbolicValue();
// Get a list of all available entries of DeviceAccessStatus
allEntries = nodeMapInterface.FindNode<peak.core.nodes.EnumerationNode>("DeviceAccessStatus").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 DeviceAccessStatus, make sure DeviceSelector is set correctly
# Set DeviceSelector to 0 (int)
nodeMapInterface.FindNode("DeviceSelector").SetValue(0)
# Determine the current entry of DeviceAccessStatus (str)
value = nodeMapInterface.FindNode("DeviceAccessStatus").CurrentEntry().SymbolicValue()
# Get a list of all available entries of DeviceAccessStatus
allEntries = nodeMapInterface.FindNode("DeviceAccessStatus").Entries()
availableEntries = []
for entry in allEntries:
if (entry.AccessStatus() != peak.NodeAccessStatus_NotAvailable
and entry.AccessStatus() != peak.NodeAccessStatus_NotImplemented):
availableEntries.append(entry.SymbolicValue())