Greetings.
I'm interfacing the Digispark with two different I2C devices (as two separate projects), and I'm seeing some unexpected results.
Since I have a model B Digispark, I've already cut the trace to isolate P0 (as described on
http://digistump.com/wiki/digispark/tutorials/modelbi2c)
With device A (a TI INA219), I write the register address to the device address, and I get a zero as a return code from TinyWireM.endTransmission();. So far so good.
However, when I do a read to get the contents of that register, I just get back the same value that I wrote. The device documentation says that I should get back the contents of the register, not the address of the register.
With device B (a TI TCA9554), I write the register address to the device address, and I get a one as a return code from TinyWireM.endTransmission(); From reading the TinyWire source code, this means that the device is not responding. (I get the same result if I write to a non-existing device address).
In both cases I have pull-up resistors for SCA and SDA. I've also double-checked that everything is wired correctly.
Any suggestions for trying to figure out why this isn't working as expected?