I’m using I2C to comunicate with other slave device, after 7 or 8 hours of comunication I2C doesn’t send data anymore and
I2c_Write(m_hi2c, datatosend,nDataToSend)
return always I2C_RW_FAILURE
Even if I reset or restart power on the slave device VF50 continues to send nothing on SDA and SCL, I have to power off VF50 and reinitialize all in order to work again. Also If I close and reopen I2C doesn’t work.
We have I2C issue too, it is may be caused by the same problem?
In details:
Colibry VF50 V1.2 B
Bootloader : 1.5 for Vybrid Built Dec 18 2017
WIndows CE verion : 6.00
VybGpio_GetVersion: 2.5.58538881
VybI2c_GetVersion : 2.5.1806677427
We used the latest compatible TdxAllLibraries.DLL for “V1.2 B” downloaded from toradex.com and we found 2 issues in this dll:
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 a former case with VF50 v1.2 A its return pbuf[0] = 81 response successful.
Thats means there is an I2C communication issue in the latest VF50 V1.2 B TdxAllLibraries.DLL
For everybody affected by this issue, a temporary fix is available, please contact support to get a preliminary version.
The official 2.6 release will be include this fix and will be released in the next weeks.