Please enable JavaScript to view this site.

IDS peak 2.8.0 / uEye+ firmware 3.33

hint_info

This function is supported by the following models from firmware version 3.20 on:

PCB version uEye+ LE USB 3.1 Rev. 1.2

uEye+ LE USB 3.1 Rev. 1.2 AF

uEye+ ACP USB 3

uEye+ ACP GigE

Controls the endianness (byte order) of the I2C register address on the I2C bus. If you set "BigEndian", the most significant byte of the register address will be sent first. If you set "LittleEndian", the least significant byte of the register address will be sent first.

If I2CRegisterAddressLength is 0 or 1, I2CRegisterAddressEndianness will not have any impact.

Name

I2CRegisterAddressEndianness

Category

I2CControl

Interface

Enumeration

Access

Read/Write

Unit

-

Visibility

Expert

Values

BigEndian

LittleEndian

Standard

IDS

Availability uEye+

icon-gev icon-u3v

Availability uEye

icon-ui-gige icon-ui-usb2 icon-ui-usb3

Values description

BigEndian: the most significant byte of the register address is sent first. This feature is only supported by uEye+ cameras (GV and U3 models).

LittleEndian: the least significant byte of the register address is sent first.

Code example

C++

// Determine the current entry of I2CRegisterAddressEndianness
std::string value = nodeMapRemoteDevice->FindNode<peak::core::nodes::EnumerationNode>("I2CRegisterAddressEndianess")->CurrentEntry()->SymbolicValue();
// Get a list of all available entries of I2CRegisterAddressEndianness
auto allEntries = nodeMapRemoteDevice->FindNode<peak::core::nodes::EnumerationNode>("I2CRegisterAddressEndianess")->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 I2CRegisterAddressEndianness to "BigEndian"
nodeMapRemoteDevice->FindNode<peak::core::nodes::EnumerationNode>("I2CRegisterAddressEndianess")->SetCurrentEntry("BigEndian");

C#

// Determine the current entry of I2CRegisterAddressEndianness
string value = nodeMapRemoteDevice.FindNode<peak.core.nodes.EnumerationNode>("I2CRegisterAddressEndianess").CurrentEntry().SymbolicValue();
// Get a list of all available entries of I2CRegisterAddressEndianness
allEntries = nodeMapRemoteDevice.FindNode<peak.core.nodes.EnumerationNode>("I2CRegisterAddressEndianess").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 I2CRegisterAddressEndianness to "BigEndian"
nodeMapRemoteDevice.FindNode<peak.core.nodes.EnumerationNode>("I2CRegisterAddressEndianess").SetCurrentEntry("BigEndian");

Python

# Determine the current entry of I2CRegisterAddressEndianness (str)
value = nodeMapRemoteDevice.FindNode("I2CRegisterAddressEndianess").CurrentEntry().SymbolicValue()
# Get a list of all available entries of I2CRegisterAddressEndianness
allEntries = nodeMapRemoteDevice.FindNode("I2CRegisterAddressEndianess").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 I2CRegisterAddressEndianness to "BigEndian" (str)
nodeMapRemoteDevice.FindNode("I2CRegisterAddressEndianess").SetCurrentEntry("BigEndian")

© 2024 IDS Imaging Development Systems GmbH