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