IDS Peak comfortSDK, genericSDK, IPL, and AFL developer manuals are external documents. Please contact us if you need them.
This chapter contains the descriptions of all supported features from the I2C Control category. The I2C functionality is only available for cameras that offer a dedicated connector that can be used for I2C communication.
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 |
Name |
I2CControl |
Category |
Root |
Interface |
Category |
Access |
Read |
Unit |
- |
Visibility |
Expert |
Values |
- |
Standard |
IDS |
Availability uEye+ |
|
Availability uEye |
|
From Vision firmware 3.20 on, uEye+ cameras support different I2C clock frequencies. This information is returned by I2CMode.
Configuration
For I2C communication, the address of the I2C device must be known to the camera. The length of device addresses is limited to I2CDeviceAddressLength (e.g. 7-bit: the device addresses can range from 8 to 118 (0x08 to 0x76)). The current destination device address is controlled with I2CDeviceAddress.
Each I2C device can have different length of register addresses. I2CRegisterAddressLength controls the currently used length of register addresses (e.g. 1 Byte: the register addresses can range from 0 to 255 (0x00 to 0xFF)). The current destination register is controlled with I2CRegisterAddress.
The length of the data to be written or read is specified in I2CDataLength (e.g. 1 Byte: the data ranges within 0 and 255 (0x00 to 0xFF)).
Reading data
To read data from the previously specified register, the operation selector (I2COperationSelector) has to be set to "Read". Then the data can be read from the device's register by executing I2COperationExecute. The read data can then be accessed from the I2CTransmitBuffer buffer.
Writing data
To write data to the previously specified register, the operation selector (I2COperationSelector) has to be set to "Write". Then I2CTransmitBuffer is writeable and holds the data that will be written to the device by executing I2COperationExecute.
Writing data with acknowledgment
When writing I2C data, the camera can ask the I2C device for acknowledgment, if the device supports it. To enable this feature, set I2CAckPollingEnable to "True" before writing. (I2CAckPollingEnable is "False" by default.) The camera waits for the time period specified in I2CAckPollingTimeout for a response of the device. If there is no response within the specified time period, I2COperationStatus will return "TimeoutError".
Monitoring the success of I2C operations
The success of the I2C read or write operation is reported in the I2COperationStatus node.
•Ready: The I2C communication is successfully completed. The camera is ready to perform the next I2C operation.
•Error: An error occurred while sending.
•TimeoutError: The acknowledge signal after writing was not received within the given time defined in I2CAckPollingTimeout.