I2Ctransfer

Hello,

I’ve tried to use the i2C bus on a colibrix imx7d board. This work well with i2cget and i2cset from linux user space. The issue is that I’ve an HX device ( X9119 digipot) which need burst mode to be set. I2Ctransfer seems not to be available from user space. Do you have any ready solution for a burst mode I2C transfer?

Kind Regards,

Hi @deeplydynamics and Welcome to the Toradex Community!

Could you provide the Software version of your module? Which carrier board are you using?

I2Ctransfer seems not to be available from user space.

Why do you think so? Please have look here: https://www.kernel.org/doc/html/v4.9/driver-api/i2c.html#c.i2c_transfer .

Do you have any ready solution for a burst mode I2C transfer?

No, I think you have to write your own code.

Best regards,
Jaski

Hello,

I’m using this board : https://www.toradex.com/products/carrier-board/colibri-evaluation-board and did diwload the image from the ethernet with the toradex easy installer some days ago.

I see this from user space :

[upload|h8/3DmIPISkEeDy5LgpdX/6uHj0=]

SO no i2ctransfer. I did manage to crosscompile i2ctransfer function from the i2c-tools latest package and that worked. But now I realise that it’s not exactly what I need.

Indeed, I need to ganerate a smbus write block data without stop in between bytes (clock continuously working) which is not what mi i2ctransfer commands do so far as shown herebelow :

[upload|H0qVrhASha2WjSpshXvTr0ZljZQ=]

I need to reach the same without pause in between. Is there a way/function to achieve this without doing my own code?

I’m beginner in linux as you would have probably figured out :slight_smile:

Kind Regards,

HI @deeplydynamics

Could you share the code you used to do the i2c transfer?
What is your communication speed?
How many data do you want to send?

Best regards,
Jaski