IDS Peak comfortSDK, genericSDK, IPL, and AFL developer manuals are external documents. Please contact us if you need them.
This function is supported by the following models: U3 models •PCB version uEye+ LE USB 3.1 Rev. 1.2 (requires USB3 Vision firmware 3.2 or higher) •uEye+ LE USB 3.1 Rev. 1.2 AF (requires USB3 Vision firmware 3.2 or higher) •USB 3 uEye+ ACP GV models •GigE uEye+ ACP UI models •PCB version uEye LE USB 3.1 Gen 1 •PCB version USB 3 uEye LE •PCB version USB uEye LE •GigE uEye LE |
Selects the operation for the I2C communication. This operation is executed when I2COperationExecute is called.
The I2C operation is targeted at the register with IC2RegisterAddress of the device with I2CDeviceAddress.
Name |
I2COperationSelector |
Category |
|
Interface |
Enumeration |
Access |
Read/Write |
Unit |
- |
Visibility |
Expert |
Values |
Read Write |
Standard |
IDS |
Availability uEye+ |
|
Availability uEye |
|
Values description
•Read: I2C read command. Reads the data from the selected register of the device into I2CTransmitBuffer (or I2CData).
•Write: I2C write command. Writes the data from I2CTransmitBuffer (or I2CData) into the selected register of the device.
Code example
C++
// Determine the current I2COperationSelector
std::string value = nodeMapRemoteDevice->FindNode<peak::core::nodes::EnumerationNode>("I2COperatoionSelsctor")->CurrentEntry()->SymbolicValue();
// Get a list of all available entries of I2COperationSelector
auto allEntries = nodeMapRemoteDevice->FindNode<peak::core::nodes::EnumerationNode>("I2COperatoionSelsctor")->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 I2COperationSelector to "Write"
nodeMapRemoteDevice->FindNode<peak::core::nodes::EnumerationNode>("I2COperatoionSelsctor")->SetCurrentEntry("Write");
C#
// Determine the current I2COperationSelector
string value = nodeMapRemoteDevice.FindNode<peak.core.nodes.EnumerationNode>("I2COperatoionSelsctor").CurrentEntry().SymbolicValue();
// Get a list of all available entries of I2COperationSelector
allEntries = nodeMapRemoteDevice.FindNode<peak.core.nodes.EnumerationNode>("I2COperatoionSelsctor").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 I2COperationSelector to "Write"
nodeMapRemoteDevice.FindNode<peak.core.nodes.EnumerationNode>("I2CI2COperatoionSelsctorMode").SetCurrentEntry("Write");
Python
# Determine the current I2COperationSelector (str)
value = nodeMapRemoteDevice.FindNode("I2COperatoionSelsctor").CurrentEntry().SymbolicValue()
# Get a list of all available entries of I2COperationSelector
allEntries = nodeMapRemoteDevice.FindNode("I2COperatoionSelsctor").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 I2COperationSelector to "Write" (str)
nodeMapRemoteDevice.FindNode("I2COperatoionSelsctor").SetCurrentEntry("Write")