No we never got this (the Invensense driver) working.  We just stuck it out 
with reading /dev/i2c.  This is costing us a 20% time penalty which really 
really hurts.  We couldn't get anyone to take on fixing the unbelievably 
long read times (~1msec) on /dev/i2c either.
Some of us are hoping the up coming move to Debian from Angstrom will bring 
us an Invensense  driver in the distro that will somehow work.
On Tuesday, May 6, 2014 10:42:41 AM UTC-7, [email protected] wrote:
>
> Knowing this discussion is old, i have to ask did you get it working? And 
> my experience is with the bbw, not the bbb. but the i2c buss on my device 
> is 100khz. maximum is 400khz. I was able to get the accelerometer and gyro 
> values at a rate of 200hz without issue, which isn't the max the chip can 
> provide, but it's more than suitable for most applications. All through 
> accessing /dev/i2c-#. If you havent got the driver to work yet, I can send 
> you my tiny little C program that prints the data to the shell. 
>
> 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 400kHz 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/d/optout.

Reply via email to