I am using VF50 v1.2A version cards for our products, since they are not available anymore we ordered VF50 v1.2B, and we cannot use the same way as the former version.
Is it possible to re-install the B version with the same settings like the A was?
On the other hand we are trying to configure the new B version and the I2C often stops working.
Do you have a test app for VF50 v1.2B I2C testing in C#?
Sorry I have to make some correction regarding the first comment, read this please:
We have used Colibri VF50 v1.2 A so far (with factory settings, Win CE 6.0) for our products, since they are not available anymore now we ordered VF50 v1.2 B.
It was calimed before the B version functions the same as A but we cannot use the same way…
Our developer tested the VF50 v1.2 B with our application and he would has some questions:
The tested versions:
Bootloader : 1.3 for Colibri Built Jun 30 2016
WIndows CE verion : 6.00
VybI2c_GetVersion : 1.7.3086
Bootloader : 1.5 for Vybrid Built Dec 18 2017
WIndows CE verion : 6.00
VybI2c_GetVersion : 2.5.1806677427
He used the latest compatible TdxAllLibraries.DLL for „V1.2 A" and another for the new “V1.2 B” (different dll for A and B, downloaded from toradex.com).
And he found 2 issues in the „V1.2 B” dll which has different value in the „V1.2 A”:
public static extern UInt32 VybI2c_Write(IntPtr hPort, IntPtr pbuf, UInt32 numberOfBytes);
if the “numberOfBytes = 0” it returns 1 instead of 0
public static extern UInt32 VybI2c_Read(IntPtr hPort, byte[ ] pbuf, UInt32 numberOfBytes);
before calling the above VybI2c_Read method first set with VybI2c_SetConfigInt the RegisterAddressSize.
if the “RegisterAddressSize = 0” it will result failure, because our st33zp24 Crypto IC device will block I2C bus. In the „V1.2 A” module 1.7.3086 dll version it will return pbuf = 81 response successful.
It looks like you are mixing SW and HW versions…
VF50 HW version 1.2A/B are basically the same apart from the NAND Flash.
But your question is related to the SW version of the Toradex Libraries (1.7 vs 2.5).
NOTE: We don’t include the TdxAllLibraries.dll in the preprogrammed OS Image, so the 2 different versions must have come from 2 different installation you did (or someone providing you the module)
The OS images you mention are also quite old (On Image 1.3 the I2C library will work very differently as it will go through a OS Driver, but from Image version 1.5 we disabled the driver so that the library will access the I2C HW directly).
If you re-enabled the driver and using a newer version of TdxAllLibbraries.dll there can be issues as the I2C is accessed in parallel by both driver and library.
Please try to use new OS Image and New TdxAllLibraries without re-enabling the I2c driver in the OS.
I guess there is a misunderstanding, we are not mixing versions.
We are trying to use the VF50 V1.2 B with factory settings with the latest TdxAllLibraries DLL without re-enabled I2c driver in the OS.
And with this config the I2C is not working properly, our developer pointed the difference in TdxAllLibraries DLL: VybI2c_Write and VybI2c_Read functions working differently like in the earlier version.
Because previously we used “VF50 V1.2 A” with factory settings with the latest TdxAllLibraries DLL and it handles I2C well.
So in both cases we used the VF50 modules with factory settings (no re-install) with its latest TdxAllLibraries DLL.
Can you check VybI2c_Write and VybI2c_Read functions changes please?
I am attaching a screenshot showing the dll versions.