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

Samuel Prager sprager at usc.edu
Mon Nov 18 14:03:14 EST 2019


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=
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ettus.com/pipermail/usrp-users_lists.ettus.com/attachments/20191118/0868c5ca/attachment.html>


More information about the USRP-users mailing list