Isolated I2C Adapter Read from Register

Hey Guys,

I am trying to use a Pololu isolated i2c USB adapter to read a register from a custom device, this device uses SMBUS which is a super set of I2C.
When reading a register from the device, this device needs a repeated start condition after a write command.
During an SMBus read, the host transfers one byte for the command code and then reads n-bytes back. This requires a repeated start condition after the initial write.
However when issuing a write command with the Pololu a stop condition is always send after a write.
Are there any plans to implement this? I see on the I2C driver there is a wrapper function that has an option to send the stop condition but it is always true and errors out if false.

Thanks

Hello.

Could you post some more details about the device you’re trying to use? Are you sure it won’t work if you use a stop and start (i.e. a regular write followed by a regular read) instead of a repeated start?

Brandon

Hello Brandon,

The device we are trying to use is a device we created.
We’ve used it with other I2C adapters (for example: I2Cmini) and it works fine as they can send a repeated start condition.

Yup were sure it wont work with a stop and start.

Thanks

The device is compliant to the I2C/SMBUS hardware communication protocol and to the PMBus interface protocol.

I believe that I am having very similar problems using the Isolated I2C Adaptor to read from an MCP9808 (using C) on a tested platform that has been in service for several years. Also, I have the same problems (using C) on the Adafruit MCP9808 QT eval board.

Thank you for the additional information; we are working on this and hope to have an update available soon.

Brandon

1 Like

Hello. We have released firmware version 1.01 of the adapter, which adds the “I²C write and read” command, which uses a repeated START condition. You can update your firmware by following the instructions in the “Upgrading firmware” section of the user’s guide:

You will have to change your code to use the new command. Existing code should keep working the same way it worked before.

Please let us know whether it works for you.

1 Like

David,

Thank you very much. That is what all the indicators seem to imply is needed. I pulled it and will test tomorrow morning.I will let you know if it works for me either way.

Dave W

Hey Guys,

I updated the firmware in the adapter and tried running the new write and read function and now it works!

Thanks for your help

2 Likes