Hello, is this not the right forum for this question? Can someone recommend the proper forum?
Thanks, -- Sameer Parekh Falkor Systems, Inc. Forwarded message: > From: Sameer Parekh <[email protected]> > To: [email protected] > Date: Wednesday, January 2, 2013 10:16:38 PM > Subject: I2C to the Maxbotix I2CXL > > Hello everyone.. I'm trying to get my beagle bone to communicate over I2C > with the new Maxbotix I2CXL line of sonar sensors > > http://www.maxbotix.com/documents/I2CXL-MaxSonar-EZ_Datasheet.pdf > > According to the data sheet I need to write a single byte of 0x51 to the > sensor to tell it to send out the sonar pulse and then wait up to 60ms (i.e. > until the pulse comes back). At that point I need to read two bytes from the > device, without sending a register address. This appears very similar to the > i2c_smbus_read_byte() call, except that I need to read two bytes, not just > one. > > It appears that all the calls that read more than one byte require that I > pass in a register address. When I use i2ctools I get this: > > (0x70 is the I2C address of the sensor, and 0x51 is the sonar range command) > > $ i2cset -y 3 0x70 0x51 > $ i2cget -y 3 0x70 > 0x00 > > > so it looks like I'm getting the MSB but according to the data sheet the > sonar sends a second byte representing the LSB. > > Does the i2c driver support this directly? Do I need to modify the driver or > can I use i2c_smbus_xfer to accomplish the task? I have not been able to > understand the API to i2c_smbus_xfer from reviewing the source code. > > Thanks, > -- > Sameer Parekh > Falkor Systems, Inc. > -- To unsubscribe from this list: send the line "unsubscribe linux-i2c" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
