I have changed my touch controller interface physically from I2C1 to I2C5.
I2C5 is available on the display FPC 40 pin cable and keeps the I2C1 free.
The used touch controller GSL1680 allows to work with 400000 Hz bus speed.
On the I2C1 pin I have measured to have something about 432000 Hz on the I2C1 bus.
Touch has worked fine.
Changing the wire to I2C5 has not worked with 400000 Hz.
Touch has not answered. The bus speed is there incredible high:
Two pictures with 100000Hz and 300000 Hz settings:
As I know the following code line is responsible to set the I2C bus speed:
What is going wrong?
On same Endpoint, using I2C1 work but I2C5 doesn’t work?
and try with “EPM815.I2c.Initialize(EPM815.I2c.I2c5);” // No speed - Default 400KHz
Seems to me code to calculate speed is not correct for I2C5. Without special speed, it will be default at 400KHz, and should work.
Yes, without value it is working!
If I had used the parameter 400000 for I2C1 as well. The measured value has been as I remember 432000Hz. So there is the speed calculation wrong, too.
But the touch has worked fine with this higher speed and it was OK for me.
Changing the interface pins to I2C5 has finally totally confused me because nothing has worked.
But now without any speed parameter everything is correct and fine.
Thank you.
glad to know it works now. We will add to git hub and take a look soon.
1 Like