[USRP-users] [EXT] Re: Question about the IMU (MPU-9150) on the E310

Philip Balister philip at balister.org
Mon Nov 18 14:12:08 EST 2019


This might help:

https://github.com/EttusResearch/meta-ettus/blob/fido/e300-bsp/recipes-suppport/rtimulib/rtimulib/ettus-e300/RTIMULib.ini

At some point the rtimulib source moved around and was a bit funny to
build and was dropped from the image. The comment about probing and the
ini file made me think to look at the old build to see how I handled it.

Philip

On 11/18/19 2:03 PM, Samuel Prager via USRP-users wrote:
> Hi Isaac,
> 
> Yes this is exactly the error we had seen before. I was able to reproduce these errors on our E312.
> 
> For some reason it looks like the auto discover isn’t working properly (not finding correct device type and not assigning correct I2c bus or I2CSlaveAddress).
> 
> You should be able to fix the issue by following these steps:
> 
> 1) root at ettus-e3xx-sg3:~# mv /etc/RTIMULib.ini /etc/RTIMULib.ini.backup
> 
> This will force creation of a new /etc/RTIMULib.ini file
> 
> 2) Now run the program. You should see the following output (as before):
> 
> root at ettus-e3xx-sg3:~# E312IMUTest
> Do something here with example option input: for example
> Settings file not found. Using defaults and creating settings file
> Failed to open I2C bus 1
> Failed to open SPI bus 0, select 0
> No IMU detected
> Using fusion algorithm RTQF
> No IMU found
> 
> 3) In the newly created /etc/RTIMULib.ini file make the following changes:
> 
> IMUType=2
> 
> #
> # Fusion type type -
> #   0 - Null. Use if only sensor data required without fusion
> #   1 - Kalman STATE4
> #   2 - RTQF
> FusionType=2
> 
> #
> # Is bus I2C: 'true' for I2C, 'false' for SPI
> BusIsI2C=true
> 
> #
> # I2C Bus (between 0 and 7)
> I2CBus=0
> 
> #
> # SPI Bus (between 0 and 7)
> SPIBus=0
> 
> #
> # SPI select (between 0 and 1)
> SPISelect=0
> 
> #
> # SPI Speed in Hz
> SPISpeed=500000
> 
> #
> # I2C slave address (filled in automatically by auto discover)
> I2CSlaveAddress=105
> 
> 
> 5) You should now be able to run the program successfully (If you get I2C read errors, try restarting the E310. Everything should work afterwards).
> 
> For reference, I have included my complete /etc/RTIMULib.ini file:
> 
> root at ettus-e3xx-sg3:~# cat /etc/RTIMULib.ini
> # #####################################################################
> #
> # RTIMULib settings file
> 
> # General settings
> #
> 
> # IMU type -
> #   0 = Auto discover
> #   1 = Null (used when data is provided from a remote IMU
> #   2 = InvenSense MPU-9150
> #   3 = STM L3GD20H + LSM303D
> #   4 = STM L3GD20 + LSM303DLHC
> #   5 = STM LSM9DS0
> #   6 = STM LSM9DS1
> #   7 = InvenSense MPU-9250
> #   8 = STM L3GD20H + LSM303DLHC
> #   9 = Bosch BMX055
> #   10 = Bosch BNX055
> IMUType=2
> 
> #
> # Fusion type type -
> #   0 - Null. Use if only sensor data required without fusion
> #   1 - Kalman STATE4
> #   2 - RTQF
> FusionType=2
> 
> #
> # Is bus I2C: 'true' for I2C, 'false' for SPI
> BusIsI2C=true
> 
> #
> # I2C Bus (between 0 and 7)
> I2CBus=0
> 
> #
> # SPI Bus (between 0 and 7)
> SPIBus=0
> 
> #
> # SPI select (between 0 and 1)
> SPISelect=0
> 
> #
> # SPI Speed in Hz
> SPISpeed=500000
> 
> #
> # I2C slave address (filled in automatically by auto discover)
> I2CSlaveAddress=105
> 
> #
> # IMU axis rotation - see RTIMU.h for details
> AxisRotation=0
> 
> # Pressure sensor type -
> #   0 = Auto discover
> #   1 = Null (no hardware or don't use)
> #   2 = BMP180
> #   3 = LPS25H
> #   4 = MS5611
> #   5 = MS5637
> PressureType=0
> 
> #
> # I2C pressure sensor address (filled in automatically by auto discover)
> I2CPressureAddress=0
> 
> # Humidity sensor type -
> #   0 = Auto discover
> #   1 = Null (no hardware or don't use)
> #   2 = HTS221
> #   3 = HTU21D
> HumidityType=0
> 
> #
> # I2C humidity sensor address (filled in automatically by auto discover)
> I2CHumidityAddress=0
> 
> # #####################################################################
> #
> 
> # Compass calibration settings
> CompassCalValid=false
> CompassCalMinX=0.000000
> CompassCalMinY=0.000000
> CompassCalMinZ=0.000000
> CompassCalMaxX=0.000000
> CompassCalMaxY=0.000000
> CompassCalMaxZ=0.000000
> 
> # #####################################################################
> #
> 
> # Compass adjustment settings
> # Compass declination is in radians and is subtracted from calculated heading
> compassAdjDeclination=0.000000
> 
> # #####################################################################
> #
> 
> # Compass ellipsoid calibration
> compassCalEllipsoidValid=false
> compassCalOffsetX=0.000000
> compassCalOffsetY=0.000000
> compassCalOffsetZ=0.000000
> compassCalCorr11=1.000000
> compassCalCorr12=0.000000
> compassCalCorr13=0.000000
> compassCalCorr21=0.000000
> compassCalCorr22=1.000000
> compassCalCorr23=0.000000
> compassCalCorr31=0.000000
> compassCalCorr32=0.000000
> compassCalCorr33=1.000000
> 
> # #####################################################################
> #
> 
> # Accel calibration
> AccelCalValid=false
> AccelCalMinX=0.000000
> AccelCalMinY=0.000000
> AccelCalMinZ=0.000000
> AccelCalMaxX=0.000000
> AccelCalMaxY=0.000000
> AccelCalMaxZ=0.000000
> 
> # #####################################################################
> #
> 
> # Saved gyro bias data
> GyroBiasValid=true
> GyroBiasX=-0.031280
> GyroBiasY=-0.017285
> GyroBiasZ=-0.020221
> 
> # #####################################################################
> #
> # MPU-9150 settings
> #
> 
> # Gyro sample rate (between 5Hz and 1000Hz)
> MPU9150GyroAccelSampleRate=900
> 
> #
> # Compass sample rate (between 1Hz and 100Hz)
> MPU9150CompassSampleRate=80
> 
> #
> # Gyro/accel low pass filter -
> #   0 - gyro: 256Hz, accel: 260Hz
> #   1 - gyro: 188Hz, accel: 184Hz
> #   2 - gyro: 98Hz, accel: 98Hz
> #   3 - gyro: 42Hz, accel: 44Hz
> #   4 - gyro: 20Hz, accel: 21Hz
> #   5 - gyro: 10Hz, accel: 10Hz
> #   6 - gyro: 5Hz, accel: 5Hz
> MPU9150GyroAccelLpf=4
> 
> #
> # Gyro full scale range -
> #   0  - +/- 250 degress per second
> #   8  - +/- 500 degress per second
> #   16 - +/- 1000 degress per second
> #   24 - +/- 2000 degress per second
> MPU9150GyroFSR=8
> 
> #
> # Accel full scale range -
> #   0  - +/- 2g
> #   8  - +/- 4g
> #   16 - +/- 8g
> #   24 - +/- 16g
> MPU9150AccelFSR=0
> 
> # #####################################################################
> #
> # MPU-9250 settings
> #
> 
> # Gyro sample rate (between 5Hz and 1000Hz plus 8000Hz and 32000Hz)
> MPU9250GyroAccelSampleRate=80
> 
> #
> # Compass sample rate (between 1Hz and 100Hz)
> MPU9250CompassSampleRate=40
> 
> #
> # Gyro low pass filter -
> #   0x11 - 8800Hz, 0.64mS delay
> #   0x10 - 3600Hz, 0.11mS delay
> #   0x00 - 250Hz, 0.97mS delay
> #   0x01 - 184Hz, 2.9mS delay
> #   0x02 - 92Hz, 3.9mS delay
> #   0x03 - 41Hz, 5.9mS delay
> #   0x04 - 20Hz, 9.9mS delay
> #   0x05 - 10Hz, 17.85mS delay
> #   0x06 - 5Hz, 33.48mS delay
> MPU9250GyroLpf=3
> 
> #
> # Accel low pass filter -
> #   0x08 - 1130Hz, 0.75mS delay
> #   0x00 - 460Hz, 1.94mS delay
> #   0x01 - 184Hz, 5.80mS delay
> #   0x02 - 92Hz, 7.80mS delay
> #   0x03 - 41Hz, 11.80mS delay
> #   0x04 - 20Hz, 19.80mS delay
> #   0x05 - 10Hz, 35.70mS delay
> #   0x06 - 5Hz, 66.96mS delay
> MPU9250AccelLpf=3
> 
> #
> # Gyro full scale range -
> #   0  - +/- 250 degress per second
> #   8  - +/- 500 degress per second
> #   16 - +/- 1000 degress per second
> #   24 - +/- 2000 degress per second
> MPU9250GyroFSR=16
> 
> #
> # Accel full scale range -
> #   0  - +/- 2g
> #   8  - +/- 4g
> #   16 - +/- 8g
> #   24 - +/- 16g
> MPU9250AccelFSR=16
> 
> # #####################################################################
> #
> # L3GD20H + LSM303D settings
> 
> #
> # Gyro sample rate -
> #   0 = 12.5Hz
> #   1 = 25Hz
> #   2 = 50Hz
> #   3 = 100Hz
> #   4 = 200Hz
> #   5 = 400Hz
> #   6 = 800Hz
> GD20HM303DGyroSampleRate=2
> 
> #
> # Gyro full scale range -
> #   0 = 245 degrees per second
> #   1 = 500 degrees per second
> #   2 = 2000 degrees per second
> GD20HM303DGyroFsr=1
> 
> #
> # Gyro high pass filter -
> #   0 - 9 but see the L3GD20H manual for details
> GD20HM303DGyroHpf=4
> 
> #
> # Gyro bandwidth -
> #   0 - 3 but see the L3GD20H manual for details
> GD20HM303DGyroBW=1
> 
> # Accel sample rate -
> #   1 = 3.125Hz
> #   2 = 6.25Hz
> #   3 = 12.5Hz
> #   4 = 25Hz
> #   5 = 50Hz
> #   6 = 100Hz
> #   7 = 200Hz
> #   8 = 400Hz
> #   9 = 800Hz
> #   10 = 1600Hz
> GD20HM303DAccelSampleRate=5
> 
> #
> # Accel full scale range -
> #   0 = +/- 2g
> #   1 = +/- 4g
> #   2 = +/- 6g
> #   3 = +/- 8g
> #   4 = +/- 16g
> GD20HM303DAccelFsr=3
> 
> #
> # Accel low pass filter -
> #   0 = 773Hz
> #   1 = 194Hz
> #   2 = 362Hz
> #   3 = 50Hz
> GD20HM303DAccelLpf=3
> 
> #
> # Compass sample rate -
> #   0 = 3.125Hz
> #   1 = 6.25Hz
> #   2 = 12.5Hz
> #   3 = 25Hz
> #   4 = 50Hz
> #   5 = 100Hz
> GD20HM303DCompassSampleRate=4
> 
> #
> # Compass full scale range -
> #   0 = +/- 200 uT
> #   1 = +/- 400 uT
> #   2 = +/- 800 uT
> #   3 = +/- 1200 uT
> GD20HM303DCompassFsr=0
> 
> # #####################################################################
> #
> # L3GD20 + LSM303DLHC settings
> #
> 
> # Gyro sample rate -
> #   0 = 95z
> #   1 = 190Hz
> #   2 = 380Hz
> #   3 = 760Hz
> GD20M303DLHCGyroSampleRate=0
> 
> #
> # Gyro full scale range -
> #   0 = 250 degrees per second
> #   1 = 500 degrees per second
> #   2 = 2000 degrees per second
> GD20M303DLHCGyroFsr=1
> 
> #
> # Gyro high pass filter -
> #   0 - 9 but see the L3GD20 manual for details
> GD20M303DLHCGyroHpf=4
> 
> #
> # Gyro bandwidth -
> #   0 - 3 but see the L3GD20 manual for details
> GD20M303DLHCGyroBW=1
> 
> # Accel sample rate -
> #   1 = 1Hz
> #   2 = 10Hz
> #   3 = 25Hz
> #   4 = 50Hz
> #   5 = 100Hz
> #   6 = 200Hz
> #   7 = 400Hz
> GD20M303DLHCAccelSampleRate=4
> 
> #
> # Accel full scale range -
> #   0 = +/- 2g
> #   1 = +/- 4g
> #   2 = +/- 8g
> #   3 = +/- 16g
> GD20M303DLHCAccelFsr=2
> 
> #
> # Compass sample rate -
> #   0 = 0.75Hz
> #   1 = 1.5Hz
> #   2 = 3Hz
> #   3 = 7.5Hz
> #   4 = 15Hz
> #   5 = 30Hz
> #   6 = 75Hz
> #   7 = 220Hz
> GD20M303DLHCCompassSampleRate=5
> 
> #
> # Compass full scale range -
> #   1 = +/- 130 uT
> #   2 = +/- 190 uT
> #   3 = +/- 250 uT
> #   4 = +/- 400 uT
> #   5 = +/- 470 uT
> #   6 = +/- 560 uT
> #   7 = +/- 810 uT
> GD20M303DLHCCompassFsr=1
> 
> # #####################################################################
> #
> # L3GD20H + LSM303DLHC settings
> #
> 
> #
> # Gyro sample rate -
> #   0 = 12.5Hz
> #   1 = 25Hz
> #   2 = 50Hz
> #   3 = 100Hz
> #   4 = 200Hz
> #   5 = 400Hz
> #   6 = 800Hz
> GD20HM303DLHCGyroSampleRate=2
> 
> #
> # Gyro full scale range -
> #   0 = 245 degrees per second
> #   1 = 500 degrees per second
> #   2 = 2000 degrees per second
> GD20HM303DLHCGyroFsr=1
> 
> #
> # Gyro high pass filter -
> #   0 - 9 but see the L3GD20H manual for details
> GD20HM303DLHCGyroHpf=4
> 
> #
> # Gyro bandwidth -
> #   0 - 3 but see the L3GD20H manual for details
> GD20HM303DLHCGyroBW=1
> 
> # Accel sample rate -
> #   1 = 1Hz
> #   2 = 10Hz
> #   3 = 25Hz
> #   4 = 50Hz
> #   5 = 100Hz
> #   6 = 200Hz
> #   7 = 400Hz
> GD20HM303DLHCAccelSampleRate=4
> 
> #
> # Accel full scale range -
> #   0 = +/- 2g
> #   1 = +/- 4g
> #   2 = +/- 8g
> #   3 = +/- 16g
> GD20HM303DLHCAccelFsr=2
> 
> #
> # Compass sample rate -
> #   0 = 0.75Hz
> #   1 = 1.5Hz
> #   2 = 3Hz
> #   3 = 7.5Hz
> #   4 = 15Hz
> #   5 = 30Hz
> #   6 = 75Hz
> #   7 = 220Hz
> GD20HM303DLHCCompassSampleRate=5
> 
> #
> # Compass full scale range -
> #   1 = +/- 130 uT
> #   2 = +/- 190 uT
> #   3 = +/- 250 uT
> #   4 = +/- 400 uT
> #   5 = +/- 470 uT
> #   6 = +/- 560 uT
> #   7 = +/- 810 uT
> GD20HM303DLHCCompassFsr=1
> 
> # #####################################################################
> #
> # LSM9DS0 settings
> #
> 
> # Gyro sample rate -
> #   0 = 95z
> #   1 = 190Hz
> #   2 = 380Hz
> #   3 = 760Hz
> LSM9DS0GyroSampleRate=0
> 
> #
> # Gyro full scale range -
> #   0 = 250 degrees per second
> #   1 = 500 degrees per second
> #   2 = 2000 degrees per second
> LSM9DS0GyroFsr=1
> 
> #
> # Gyro high pass filter -
> #   0 - 9 but see the LSM9DS0 manual for details
> LSM9DS0GyroHpf=4
> 
> #
> # Gyro bandwidth -
> #   0 - 3 but see the LSM9DS0 manual for details
> LSM9DS0GyroBW=1
> 
> # Accel sample rate -
> #   1 = 3.125Hz
> #   2 = 6.25Hz
> #   3 = 12.5Hz
> #   4 = 25Hz
> #   5 = 50Hz
> #   6 = 100Hz
> #   7 = 200Hz
> #   8 = 400Hz
> #   9 = 800Hz
> #   10 = 1600Hz
> LSM9DS0AccelSampleRate=5
> 
> #
> # Accel full scale range -
> #   0 = +/- 2g
> #   1 = +/- 4g
> #   2 = +/- 6g
> #   3 = +/- 8g
> #   4 = +/- 16g
> LSM9DS0AccelFsr=3
> 
> #
> # Accel low pass filter -
> #   0 = 773Hz
> #   1 = 194Hz
> #   2 = 362Hz
> #   3 = 50Hz
> LSM9DS0AccelLpf=3
> 
> #
> # Compass sample rate -
> #   0 = 3.125Hz
> #   1 = 6.25Hz
> #   2 = 12.5Hz
> #   3 = 25Hz
> #   4 = 50Hz
> #   5 = 100Hz
> LSM9DS0CompassSampleRate=4
> 
> #
> # Compass full scale range -
> #   0 = +/- 200 uT
> #   1 = +/- 400 uT
> #   2 = +/- 800 uT
> #   3 = +/- 1200 uT
> LSM9DS0CompassFsr=0
> 
> # #####################################################################
> #
> # LSM9DS1 settings
> #
> 
> # Gyro sample rate -
> #   0 = 95Hz
> #   1 = 190Hz
> #   2 = 380Hz
> #   3 = 760Hz
> LSM9DS1GyroSampleRate=2
> 
> #
> # Gyro full scale range -
> #   0 = 250 degrees per second
> #   1 = 500 degrees per second
> #   2 = 2000 degrees per second
> LSM9DS1GyroFsr=1
> 
> #
> # Gyro high pass filter -
> #   0 - 9 but see the LSM9DS1 manual for details
> LSM9DS1GyroHpf=4
> 
> #
> # Gyro bandwidth -
> #   0 - 3 but see the LSM9DS1 manual for details
> LSM9DS1GyroBW=1
> 
> # Accel sample rate -
> #   1 = 14.9Hz
> #   2 = 59.5Hz
> #   3 = 119Hz
> #   4 = 238Hz
> #   5 = 476Hz
> #   6 = 952Hz
> LSM9DS1AccelSampleRate=3
> 
> #
> # Accel full scale range -
> #   0 = +/- 2g
> #   1 = +/- 16g
> #   2 = +/- 4g
> #   3 = +/- 8g
> LSM9DS1AccelFsr=3
> 
> #
> # Accel low pass filter -
> #   0 = 408Hz
> #   1 = 211Hz
> #   2 = 105Hz
> #   3 = 50Hz
> LSM9DS1AccelLpf=3
> 
> #
> # Compass sample rate -
> #   0 = 0.625Hz
> #   1 = 1.25Hz
> #   2 = 2.5Hz
> #   3 = 5Hz
> #   4 = 10Hz
> #   5 = 20Hz
> #   6 = 40Hz
> #   7 = 80Hz
> LSM9DS1CompassSampleRate=5
> 
> #
> # Compass full scale range -
> #   0 = +/- 400 uT
> #   1 = +/- 800 uT
> #   2 = +/- 1200 uT
> #   3 = +/- 1600 uT
> LSM9DS1CompassFsr=0
> 
> # #####################################################################
> #
> # BMX055 settings
> #
> 
> #
> # Gyro sample rate -
> #   0 = 2000Hz (532Hz filter)
> #   1 = 2000Hz (230Hz filter)
> #   2 = 1000Hz (116Hz filter)
> #   3 = 400Hz (47Hz filter)
> #   4 = 200Hz (23Hz filter)
> #   5 = 100Hz (12Hz filter)
> #   6 = 200Hz (64Hz filter)
> #   7 = 100Hz (32Hz filter)
> BMX055GyroSampleRate=7
> 
> #
> # Gyro full scale range -
> #   0 = 2000 deg/s
> #   1 = 1000 deg/s
> #   2 = 500 deg/s
> #   3 = 250 deg/s
> #   4 = 125 deg/s
> BMX055GyroFsr=2
> 
> #
> # Accel sample rate -
> #   0 = 15.63Hz
> #   1 = 31.25
> #   2 = 62.5
> #   3 = 125
> #   4 = 250
> #   5 = 500
> #   6 = 1000
> #   7 = 2000
> BMX055AccelSampleRate=3
> 
> #
> # Accel full scale range -
> #   0 = +/- 2g
> #   1 = +/- 4g
> #   2 = +/- 8g
> #   3 = +/- 16g
> BMX055AccelFsr=2
> 
> #
> # Mag presets -
> #   0 = Low power
> #   1 = Regular
> #   2 = Enhanced
> #   3 = High accuracy
> BMX055MagPreset=1
> 
> 
> 
> Hope this helps,
> -Sam
> On Nov 18, 2019, 9:31 AM -0800, Samuel Prager <sprager at usc.edu>, wrote:
>> Hi Isaac,
>>
>> I vaguely remember seeing this behavior on one of our e312s but it’s been a while. If I recall, the solution involved the RTIMULib.ini file (which should be created in /etc). Either the ini file was set to use the wrong SPI bus or the ini file was being saved in the wrong place or not at all. I would start there.
>>
>> Sam
>> On Nov 18, 2019, 8:24 AM -0800, Beeman, Isaac L. , wrote:
>>> Hi Sam,
>>>
>>> Thanks for linking your simple example program for streaming IMU data. I finally got the RTIMULib built and installed on the E312, but when I run your program I get this output:
>>>
>>> root at ni-e31x-:~/usr/E312IMUTest/build# ./E312IMUTest
>>> Do something here with example option input: for example
>>> Settings file not found. Using defaults and creating settings file
>>> Failed to open I2C bus 1
>>> Failed to open SPI bus 0, select 0
>>> Failed to open SPI bus 0, select 1
>>> No IMU detected
>>> Using fusion algorithm RTQF
>>> No IMU found
>>> Error intializing IMU
>>>
>>> Was there any other setup I needed to do before running it (i.e. creating a settings file for the radio)? Do you think using a newer version of UHD and the E312 image might cause this issue?
>>>
>>> Isaac Beeman
>>>
>>> From: Samuel Prager <sprager at usc.edu>
>>> Sent: Tuesday, November 12, 2019 5:50 PM
>>> To: Beeman, Isaac L. <ilbeeman at wpi.edu>; Michael Dickens <michael.dickens at ettus.com>
>>> Cc: usrp-users at lists.ettus.com <usrp-users at lists.ettus.com>
>>> Subject: [EXT] Re: [USRP-users] Question about the IMU (MPU-9150) on the E310
>>>
>>> Hi Isaac,
>>>
>>> Here is a simple example program I wrote a while back for continuously streaming IMU data on the E310/E312.
>>>
>>> https://github.com/samprager/E312IMUTest
>>>
>>> See the README for RTIMULib installation instructions (the correct library is https://github.com/RPi-Distro/RTIMULib).
>>>
>>> Sam
>>> On Nov 12, 2019, 12:30 PM -0800, Michael Dickens via USRP-users <usrp-users at lists.ettus.com>, wrote:
>>>> Hi Isaac - UHD itself provides no API to the IMU; never has. The RTIMULib, possibly an older version than current and assuming it can be built and installed on the E310, should be able to access the IMU to provide information from it. Note "possibly", "assuming", "should" ... clearly this isn't a majorly supported feature of the E310! Good luck! - MLD
>>>>
>>>> On Tue, Nov 12, 2019 at 12:37 PM Beeman, Isaac L. via USRP-users <usrp-users at lists.ettus.com> wrote:
>>>>> Marcus and List,
>>>>>
>>>>> I was hoping someone knew the steps involved to get the RTIMULib setup on the USRP. I tried building and installing both the RTIMULib and Linux folders, but the Linux one fails:
>>>>>
>>>>>
>>>>> -- Found unsuitable Qt version "" from NOTFOUND
>>>>> Qt QTOPENGL library not found.
>>>>> Qt QTGUI library not found.
>>>>> Qt QTCORE library not found.
>>>>> CMake Error at RTIMULibGL/CMakeLists.txt:90 (QT4_ADD_RESOURCES):
>>>>>     Unknown CMake command "QT4_ADD_RESOURCES".
>>>>> -- Configuring incomplete, errors occurred!
>>>>>
>>>>>
>>>>> I figured that I can't install the RTIMULibDemo apps because they use a GUI, so I built and installed the RTIMULibDrive and RTIMULibCal individually. Only, when I try to run one of these apps I get the following error:
>>>>>
>>>>>
>>>>> RTIMULibDrive: error while loading shared libraries: libRTIMULib.so.7: cannot open shared object file: No such file or directory
>>>>>
>>>>>
>>>>> I don't get how to fix this. When I build and install the same apps on my host computer they run fine (but obviously can't find any IMU). Considering that any applications I write also use the same libraries, I feel like this is going to be an issue.
>>>>>
>>>>> There isn't any documentation that I can find on the usage of the C++ library for RTIMULib. Just reading the code in RTIMULibDrive.cpp as an example, it doesn't seem too complicated, but it obviously is a generic program that isn't using the settings needed to connect to the MPU-9150.
>>>>>
>>>>> If anyone knows how to get one of these apps (RTIMULibDrive or RTIMULibCal) working or how to use RTIMULib.h in connecting to the MPU-9150 over I2C, it would be much appreciated.
>>>>>
>>>>> -Isaac Beeman
>>>>>
>>>>>
>>>>>
>>>>> P.S. I also tried 'i2cdetect -y 0' to see if the MPU-9150 has the I2C address 0x69 like the schematics say, but I only get:
>>>>>
>>>>> Warning: Can't use SMBus Quick Write command, will skip some addresses
>>>>>      0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
>>>>> 00:
>>>>> 10:
>>>>> 20:
>>>>> 30: -- -- -- -- -- -- -- --
>>>>> 40:
>>>>> 50: UU UU -- -- -- -- -- -- -- -- -- -- -- -- -- --
>>>>> 60:
>>>>> 70:
>>>>>
>>>>> with nothing under 0x69. So that's weird.
>>>>>
>>>>>
>>>>> -----Original Message-----
>>>>> From: USRP-users <usrp-users-bounces at lists.ettus.com> On Behalf Of Marcus D. Leech via USRP-users
>>>>> Sent: Tuesday, November 12, 2019 10:35 AM
>>>>> To: usrp-users at lists.ettus.com
>>>>> Subject: [EXT] Re: [USRP-users] Question about the IMU (MPU-9150) on the E310
>>>>>
>>>>> On 11/12/2019 10:26 AM, Beeman, Isaac L. via USRP-users wrote:
>>>>>> Hi List,
>>>>>>
>>>>>> I have recently started working with the E310/E312 and have gotten multichannel RX/TX and GPS working, but I can't figure out how to grab data off of the internal IMU/MPU-9150. I found some website (http://gnuradio.cn/en/html/support/en/page_usrp_e3x0.html) that said that the USRP image should contain RTIMULib applications with allow the user to test the IMU, but, unless I am looking in the wrong place, the current image for the E310 does not have any RTIMULib applications on it.
>>>>>>
>>>>>> I want to know if there are any API calls or libraries that would allow me to do development with the IMU.
>>>>>>
>>>>>> -Isaac Beeman
>>>>>>
>>>>>> _______________________________________________
>>>>>
>>>>> You might start here:
>>>>>
>>>>> https://github.com/RTIMULib
>>>>>
>>>>> _______________________________________________
>>>>> USRP-users mailing list
>>>>> USRP-users at lists.ettus.com
>>>>> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
>>>>
>>>>
>>>> --
>>>> Michael Dickens
>>>> Ettus Research Technical Support
>>>> Email: support at ettus.com
>>>> Web: https://ettus.com/
>>>> _______________________________________________
>>>> USRP-users mailing list
>>>> USRP-users at lists.ettus.com
>>>> https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.ettus.com_mailman_listinfo_usrp-2Dusers-5Flists.ettus.com&d=DwICAg&c=clK7kQUTWtAVEOVIgvi0NU5BOUHhpN0H8p7CSfnc_gI&r=opIuWAKmywF059tAs2i3Pg&m=rGLxgINOMrS4sAfnjQ9mFF9r3gnmnGlRtI8Lfh1c_9g&s=8wPPngBEnPiaAxtUARbH1opcSV3Pgih5Konyr2kf9-c&e=
> 
> 
> _______________________________________________
> USRP-users mailing list
> USRP-users at lists.ettus.com
> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
> 



More information about the USRP-users mailing list