I am trying to read data from the ADS7828 12-bit ADC through my Raspberry Pi's I2C port.
The datasheet for the ADC mentions (on page 12) that once I read address the ADC it will return the 12 bit split into two bytes.
I am having issue reading two bytes at a time from the ADC using the i2cget command (with the 'w' option) from i2ctools as well as the smbus.read_word_data() function in python. Both these commands/methods require a second argument which will also be written to the SDA line following the read address. However my ADC expects only the address and the R/W bit set appropriately.
If I read just one byte using i2cget or smbus.read_byte (both of which sends ONLY the device address, and requires no second argument) I get first 4 MSB of the converted voltage which seems to match my expectations.
But when I try to read a two bytes at a time I am forced to give some second argument which the device does not expect. I tried to set this second argument to 0xFF in the hopes that the "active 0" behavior of the I2C will work to my advantage, but no such luck; any second argument that I give causes the ADC to return some nonsensical value ( I tried 0x00 too).
How can I get RPi to read two bytes from my device, preferably with Python?