J. Ok, but I did the new_device, got a directory entry for 1-0068 (my new address), but didn't get anything I recognized as the MPU6050 driver functions. Can you guess what caused that? Do they show up in this 1-0068 dir or somewhere else in the /sysfs? or over in /dev/i2c? If I am successful, do you see any reason this will be faster than just file i/o thru /dev/i2c? --Clark On Tuesday, October 15, 2013 5:33:15 PM UTC-7, Jacek Radzikowski wrote:
> You're barking at a wrong tree. /sys/devices/bone_capmgr.9/slots is used > to load device tree overlays and has nothing to do with devices on I2C bus. > The correct place to write to instantiate a new i2c device is > /sys/bus/i2c/devices/i2c-X/new_device (substitute X with bus number to > which the chip is connected). The echo command in your case would look like > something like this: > > echo inv-mpu6050 0x68 > /sys/bus/i2c/devices/i2c-X/new_device > > j. > > > > On Tue, Oct 15, 2013 at 6:02 PM, <[email protected] <javascript:>>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] <javascript:>. >> For more options, visit https://groups.google.com/groups/opt_out. >> > > > > -- > Given a choice between two theories, take the one which is funnier > -- 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.
