MCP3428 - how to read each channel?

I have an MCP3428 board with 12 channels. I need to hook up multiple temperature and pressure probes. Its been a while since I have done any I2C stuff so I have a couple of questions.

I want to configure each input channel to Continous,16 ADC, 2X gain. So xx11001 where xx is the channel number.

Channel Config value
00 0x19
01 0x39
02 0x59
03 0x79

What is the register address that I write the configuration to? Is it just 0x00? For example - for i2cset in Linux would I use (for i2c-2, device set at 0x68, config for channel 0)

i2cset -y 2 0x68 0x00 0x19 - for channel 0.
i2cset -y 2 0x68 0x00 0x39 - for channel 1.


And then how do I read each channel in turn? Is there a different data address for each channel?

i2cget -y 2 0x68 ?? w

Any help would be appreciated.



Hi Dave,
I will recommend looking this python lib


Thanks for the quick response.

It looks like I have to run a new conversion on each channel (set the register, wait for the conversion, read the result).

And the data address is basically 0x00?