Java wrapper library for the USRP Hardware Driver via JavaCPP.
Install UHD (version 003.009.005
) on your system, check out this guide
for operating system specific instructions. What follows should work on
debian-based systems:
$ sudo apt-get install git libboost-all-dev libusb-1.0-0-dev python-mako doxygen python-docutils cmake build-essential
$ git clone https://github.com/ettusresearch/uhd && cd ./uhd
$ git checkout release_003_009_005 -b v003.009.005
$ cd ./host && mkdir build && cd ./build
$ cmake ../
$ make && make test
$ sudo make install && ldconfig
If your USRP is a member of the "bus series" (has USB) you need to configure your operating system to mount it as readable by non-root users, on debian-based systems this can be done easily:
$ cd <uhd-root-dir>
$ sudo cp host/utils/uhd-usrp.rules /etc/udev/rules.d/10-uhd.rules
$ sudo udevadm control --reload-rules
$ sudo udevadm trigger
Connect your USRP hardware and run $ uhd_find_devices
, you must be able to
do this without root permissions. The output should look something like this:
linux; GNU C++ version 4.8.4; Boost_105400; UHD_003.009.002-release
--------------------------------------------------
-- UHD Device 0
--------------------------------------------------
Device Address:
type: b100
name:
serial: ABC123DEF
uhd-java contains integration tests that must be run on your actual USRP
hardware to verify proper functionality of the library. Copy the file
example-usrp.properties
to another file named usrp.properties
and edit it
as follows:
- device_args - address that uniquely identifies your device
- clock_source - clock source that will be used for testing
- rx_antenna - antenna that will be used to receive samples for testing
- sub_device - sub device spec to use for testing
- rx_freq1/2 - two arbitrary frequencies that your USRP is capable of tuning to
$ mvn install
Copyright 2017 An Honest Effort LLC Licensed under the GPLv3: http://www.gnu.org/licenses/gpl-3.0.html