I was hunting around and didn't find anything that directly answered my questions.
- I2C generally requires pull up resistors on the signal and clock lines. Are these required or does the SCP1000 have them built in?
- The SCP1000 is a 3.3v device. I think much of the signals running around the ardupilot are 5v? What do I have to know in terms of voltage levels and conversions?
- On the software side, how do you talk to the device? I've never done I2C before, but I assume there is some device id? How do you read data from it? I'm asking very generically because I don't know much about it.
I went to the sparkfun site and got the datasheet for the SCP1000 but that just shows the electrical connections and doesn't say anything about device id's or higher level communication issues.
Has anyone out there interfaced the DIYdrones SCP1000 to a gumstix verdex via the I2C interface?
Thanks,
Curt.
Replies
http://www.diydrones.com/profiles/blogs/store-updates-1
The code below has been tested using an Ardupilot PCB and includes the right device id etc for communications.
You do need pullups and you have to be careful to run at 3v3 to keep within the spec of the SCP1000 device (I found that my ArduPilot PCB would still run at full speed from a 3V3 power supply which is easier than having to introduce a 5V-3V3 level shifter on the IIC connection):
http://ardunxt.googlecode.com/files/SCP1000_D11_release_1.zip