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:

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

Returns the I2C mode. The I2C mode determines the speed grade of I2C communication.

Name

I2CMode

Category

I2CControl

Interface

Enumeration

Access

Read/Write

Unit

-

Visibility

Expert

Values

FastMode

FastModePlus

StandardMode

Standard

IDS

Availability uEye+

icon-gev icon-u3v

Availability uEye

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

Values description

FastMode: I2C fast mode with 400 kHz clock frequency.

FastModePlus: I2C Fast-mode plus with 1000 kHz clock frequency (requires Vision firmware 3.20 or higher). This feature is only supported by uEye+ cameras (GV and U3 models).

StandardMode: I2C standard mode with 100 kHz clock frequency (requires Vision firmware 3.20 or higher). This feature is only supported by uEye+ cameras (GV and U3 models).

hint_info

Note for GigE uEye+ ACP

To use the increased transmission rate of the I2C of 1000 kHz (Fast-mode plus - requires Vision firmware 3.20 or higher), you must connect external pull-ups of 3k3 to 6k3 (1.5 mA to 2.0 mA) to both I2C signals.

Code example

C++

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

C#

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

Python

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

© 2024 IDS Imaging Development Systems GmbH