AIW:
I went back thru the adafruit library and didn't find anything specific on 
I2C, although it is listed as a topic.  I have been looking at their github 
*adafruit-beaglebone-io-python*<https://github.com/adafruit/adafruit-beaglebone-io-python>
 library. 
I also found and looked thru *PyBBIO* <https://github.com/adafruit/PyBBIO>. 
Even tho I'm not using Python, I can see the access mechanisms that they 
use. 
I can use the MPU6050 device ok enough just reading via /dev/i2c/i2c-x, but 
that is too slow.
I'm trying to figure out how to invoke and use the inv-mpu6050 driver and 
adafruit doesn't use that.  
Thx -- Clark
On Thursday, October 17, 2013 9:47:44 AM UTC-7, AIW wrote:

> Some good info on I2C tools at http://www.acmesystems.it/i2c. 
>
> Python and the adafruit BBIO I2C library makes it very easy to use I2C on 
> Beaglebone Black as well. Python import smbus is fairly easy to use too. 
> Some examples of use is available in the code I provide for my radio 
> project here....www.aiwindustries.com. 
>
> Not trying to sell the product, but I know that the I2C function was 
> giving me some issues so I'm just trying to help the community. Python code 
> is available to download and look at usage so feel free.
>
> On Tuesday, October 15, 2013 5:02:59 PM UTC-5, [email protected] wrote:
>>
>> We are using the Invensense MPU6050 IMU on I2C with Beaglebone Black 
>> (Angstrom 3.8.13). We can use I2C-tools and file I/O thru /dev/i2c but the 
>> read speed is disappointingly slow.  We only read the 3x gyros and 3x 
>> accels (each one byte at a time plus the 2 byte temperature reading) and it 
>> takes ~2msecs.  My estimate of the I2C bus cycles for a block read 
>> suggests this should take ~160 bus cycles or .38msec on a 400MHz I2C bus. 
>>
>> The distribution includes the Invensense driver inv-mpu6050.ko but there 
>> is no indication that reading through /dev/i2c invokes it.  This is a 
>> very popular IMU and Invensense widely distributes the driver over many 
>> Linux platforms.  The driver source includes “successful installation 
>> will create two directories under /sys/bus/iio/devices” and lists the files 
>> there (aka functions). I can never get these to show up.
>>
>> I can “insmod 
>> /lib/modules/3.8.13/kernel/drivers/iio/imu/inv_mpu6050/inv-mpu6050.ko” and 
>> “echo inv-mpu6050 0x68 > /sys/class/i2c-adapter/i2c-1/new_device”. This 
>> causes a new directory named 1-0068 to show in 
>> /sys/class/i2c-adapter/i2c-1with entries like name and modalias but no 
>> functions.  It never shows in /sys/bus/iio/devices.
>>
>> What constitutes “successful installation”?  
>>
>> What else is needed to get the inv-mpu6050 to expose functions in 
>> /sys/bus/iio/devices like the driver sources says?
>>
>> Beaglebone Black uses bone_capemgr for exposing driver functions for many 
>> devices.  “echo inv-mpu6050 0x68 > /sys/devices/bone_capmgr.9/slots” 
>> raises the gripe “write error: no such file or directory”.  (I can 
>> successfully load the am33xx_pwm driver this way.) Is this because there is 
>> no matching DT fragment in /lib/firmware? Is the inv-mpu6050 driver 
>> supposed to be invoked thru cape manager?
>> Then, most importantly, if I did read and write through the /sys tree 
>> using the Invensense driver would it be faster than /dev/i2c?
>> Help on sorting this out would be much appreciated.
>>
>

-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to