Having some i2c frustration. Trying to interface with SparkFun’s HIH-6130 humidity sensor. I’ve successfully connected to it directly with an Arduino, so I know the HIH-6130 board is working. I’ve tried two different Wixel’s with the attempts below, so it’s not a bad Wixel. I’m running the serial_i2c app unmodified, Wixel connected via USB, 9600 baud, interface_mode = 2 (USB).
With the Wixel connected via USB, I open CoolTerm. The first time I send the characters SNP, an oscilloscope shows that the Wixel correctly sends a start command, 0x4E, stop command. The 0x4E commands the HIH-6130, which has address 0x27, to take a measurement.
The next command, whatever it is, fails. If, for example, I try to send SNP again, the Wixel tries to send three bytes on the i2c bus: 0x53, 0x4E, 0x50, corresponding to ‘S’ ‘N’ ‘P’ (with no starts and stops!). The red LED comes on, indicating an error condition, but when I send E to the Wixel, corresponding to a request for errors, instead of returning the error condition, it tries to send 0x45 (‘E’) on the i2c bus. No matter what I do, it never recovers from the error state, and it never actually tells me the error.