I2C polling: Propeller vs Arduino
hylee101001
Posts: 48
I have noticed that some I2C boards do not respond to Propeller's polling codes( some others do). But these set of chips all respond to Arduino's polling. What could be the difference? Data transmit speed matters to some I2C sensors?
Comments
More likely causes have to do with pullup resistors or address assignments (7 bit vs 8 bit).
Here's an I2C poller that'll tell you the 7-bit address of everything on the bus, and here're some MPU9150 objects that display the outputs of the accelerometer, gyroscope, and magnetometer.
Chris
Kwinn: This is the one I was working on https://www.sparkfun.com/products/11084
It respons to arduino while not responding to my propeller. FYI, https://www.sparkfun.com/products/11486 is the one responding for both arduino and propeller.
And http://obex.parallax.com/object/700 is the object.
Thanks!
EDIT: I looked at the specs some more, and I don't think the repeated start is any different than other devices use. You just need to make sure you read and write the way the spec says. I would use the sample code provided in the spec, and port it to Spin based on an existing Spin I2C driver.
I've never used an ASC board, but it looks like P14 and P15 are intended for use with I2C, but they're also shared with a couple inputs on the MCP3208. Are those the pins you're using, and are you also using the 3208? Have you tried using any other pins? The MPU9150 does have built in pullups, but does the poller detect them and use the open-drain driver? Have you tried forcing the poller to use the push-pull driver? Are you testing the 9150s one at a time? Mike Green had some good suggestions in the other thread regarding input power: are you powering the MPU9150 with 3.3V and not 5V? Have you tried bypassing the 2.2K resistors when using 3.3V?