I2c Framework FAQs

Supported Programming Languages

Which programming languages can be used to write scripts for the Negative Tester?
The Negative Tester is supported by the I2C.C++, the I2C.NET and the I2C.Java APIs.

Multiple I2C Studio Versions

Can I install two I2C Studio versions or I2C Frameworks in parallel on one system?
This is not possible, because different I2C Studio versions are using different Windows drivers and Windows services. They cannot be installed and used in parallel.


Which values can I use for e.g. the bus termination or I2C Vcc supply? Can you send us a list of all possible values?
The values depend on the used hardware. All APIs offer a functionality to request a list of possible values at runtime. In C# e.g. all information a stored in instances of the HardwareInfo class.

Parallel Connections

How many clients can use one I2C device in parallel?
The applications using the I2C APIs are not talking directly to the I2C device. There is a layer between the drivers and the APIs called the I2C scheduler. The I2C scheduler accepts up to 20-30 connections in parallel. All connections can communicate with different or the same I2C device.

I2C.NET API for .NET 2.0 and .NET 4.0

There are two versions of the I2C.NET API: i2capi_dotnet_net20.dll and i2capi_dotnet_net40.dll. Which one should I use?
This depends on the used runtime environment. Applications using .NET 2.0, NET 3.0, or NET 3.5 should use the i2capi_dotnet_net20.dll. For .NET 4.0, NET 4.5, and .NET 4.6 you will need the i2capi_dotnet_net40.dll.

Linux Support

Do you offer an I2C API for Linux?What does that mean?
Due to the limited demand there is no special Linux support available. You can use a virtual machine running Windows on a Linux host system.


After opening a device the API property Board.I2cBusState reports a state of I2C_BUS_STATE_UNKNOWN. What does that mean?
Simply handle the bus state I2C_BUS_STATE_UNKNOWN like I2C_BUS_STATE_NORMAL.