UHD Announcement - September 23rd 2010

Hello List,

I have pushed a bunch of code to the uhd repo and gnuradio next branch.
http://ettus-apps.sourcerepo.com/redmine/ettus/projects/uhd/wiki


USRP1 multi-channel support has been completed. Multiple channels can be
access through the new “single usrp” API which supersedes the “simple
usrp” API. The equivalent gnuradio blocks(uhd single usrp source and
sink), and grc wrappers have been created as well.

http://www.ettus.com/uhd_docs/doxygen/html/classuhd_1_1usrp_1_1single__usrp.html

The “simple usrp” interface is now deprecated but will continue to work.
In the single channel case, all API calls are identical; to switch any
code that was written for simple usrp, just change the include header
and instantiation to the following:

#include <uhd/usrp/single_usrp.hpp>
single_usrp::sptr sdev = single_usrp::make(args);

If you are running in GRC, just drag and drop the new blocks and swap
the connections. :slight_smile:


In other news,
UHD can now compile against pre-built libusb1.0 windows binaries:
http://www.libusb.org/wiki/windows_backend#LatestBinarySnapshots
Runtime operation has yet to be confirmed.

Thanks!
-Josh

-Josh


OK, so I just updated a two-weeks-old gnuradio and uhd via GIT, and
while UHD builds properly and installs correctly, gnuradio
can’t find “uhd” when it goes to do a configure, because pkg-config
can’t find “uhd”–and therefore doesn’t build “gr-uhd”.
This is a change from circa two weeks ago.

So, either Fedora 12 has done something to the default paths for
pkg-config, or the Gnu Radio build environment has changed slightly
in the last two weeks. The fix was for me to manually put
/usr/local/lib/pkgconfig into PKG_CONFIG_PATH before running the Gnu
Radio
configure/make/sudo make install cycle, but I haven’t had to do that
previously.


Marcus L.
Principal Investigator
Shirleys Bay Radio Astronomy Consortium

http://gnuradio.org/cgit/gnuradio.git/commit/?h=next&id=71c193ad5380829e20af533ed89903d8d7abcd2c

-Josh

Ok, so all Eric’s fault :slight_smile:

So, since the “let’s be nice and add /usr/local/lib to PKG_CONFIG_PATH”
code got removed from the .m4 file, so perhaps a note
needs to be added to the build instructions for UHD for systems that
don’t by default have /usr/local/lib/pkgconfig in PKG_CONFIG_PATH?


Marcus L.
Principal Investigator
Shirleys Bay Radio Astronomy Consortium

configure/make/sudo make install cycle, but I haven’t had to do that
previously.

http://gnuradio.org/cgit/gnuradio.git/commit/?h=next&id=71c193ad5380829e20af533ed89903d8d7abcd2c

-Josh

On 09/24/2010 10:18 PM, Marcus D. Leech wrote:

code got removed from the .m4 file, so perhaps a note
needs to be added to the build instructions for UHD for systems that
don’t by default have /usr/local/lib/pkgconfig in PKG_CONFIG_PATH?

heres the mention of the package config stuff:
http://ettus-apps.sourcerepo.com/redmine/ettus/projects/uhd/wiki#Gnuradio-UHD

you can also manipulate the installation dirs like so:
http://www.ettus.com/uhd_docs/manual/html/build.html#generate-makefiles-with-cmake

:slight_smile:
-Josh

Has anyone had Any success with amateur HF with the usrp? I would like
to purchase a basic rx and maybe a basic tx for monitoring the hf
amateur bands. I know i need lownoise amplifaction and filtering but not
sure what to get. I know i could just use the IF output of transciever,
but im not sure if thats what i wanna do. if anyone has setup something
i would be curious to hear about it thanks,
Dave

Sent from my iPad

On 09/24/2010 10:18 PM, Marcus D. Leech wrote:

http://gnuradio.org/cgit/gnuradio.git/commit/?h=next&id=71c193ad5380829e20af533ed89903d8d7abcd2c

-Josh

Ok, so all Eric’s fault :slight_smile:

The problem being that /usr/local/lib/pkgconfig isnt honoring the users
prefix and possibly libdir. Perhaps we can still make this right… Does
this patch work for you?

-Josh

Alex, thanks for the reply. I have seen most of your vids, they are
excellent. Your site is full of great information. If i didnt get any
replies, i was actually gonna mail u off list … Anyway, i will
consider this antenna, it looks to be relatively simple, which i like :slight_smile:
dave

Sent from my iPad

On Sat, Sep 25, 2010 at 8:38 AM, Davek [email protected] wrote:

Has anyone had Any success with amateur HF with the usrp? I would like to purchase a basic rx and maybe a basic tx for monitoring the hf amateur bands. I know i need lownoise amplifaction and filtering but not sure what to get. I know i could just use the IF output of transciever, but im not sure if thats what i wanna do. if anyone has setup something i would be curious to hear about it thanks,
Dave

Hi Dave,

I have had the USRP1 and LFRX connected to a Butternut HF2V antenna
with 30m and 160m extensions using ~30 meters of RG213 coax. No preamp
or filter or anything else, and I could hear lots of SSB/CW traffic
(even DX) and AM broadcast. I have two video recordings:
AM on medium waves: GNU Radio AM Receiver - YouTube
Hamradio SSB/CW on 7MHz: GNU Radio SSB/CW Receiver - YouTube

I have measured the sensitivity in CW to 3-4 microvolts so yeah, a
preamp would be useful above 10 MHz. I think one can get these
“acrtive whip antennas” for shortwaves, I guess the filter and preamp
could be used with a real antenna.

I have not tried the transmitter on the air. For sure that will need
power amplifier and low pass filters!

Alex

The problem being that /usr/local/lib/pkgconfig isnt honoring the
users prefix and possibly libdir. Perhaps we can still make this
right… Does this patch work for you?

-Josh

Still no worky. Must set PKG_CONFIG_PATH manually. I confirmed that
the patch had been applied to the .m4, then did a “make distclean”
then a “./bootstrap”, then a “./configure”. The configure fails to
find UHD unless I explicitly set PKG_CONFIG_PATH.


Marcus L.
Principal Investigator
Shirleys Bay Radio Astronomy Consortium

This turns out to be a bug in gnuradio configure - when --prefix is not
specified with ./configure, the ${prefix} variable is set to NONE

http://www.mail-archive.com/[email protected]/msg15772.html

The following code with yeild a PKG_CONFIG_PATH of NONE/lib/pkgconfig

dnl add ${prefix}/lib${gr_libdir_suffix}/pkgconfig to the head of the PKG_CONFIG_PATH
if test x${PKG_CONFIG_PATH} = x; then
PKG_CONFIG_PATH=${prefix}/lib${gr_libdir_suffix}/pkgconfig
else
PKG_CONFIG_PATH=${prefix}/lib${gr_libdir_suffix}/pkgconfig:${PKG_CONFIG_PATH}
fi
export PKG_CONFIG_PATH

if may be more appropriate to do the following somewhere at the top of
configure.ac

if test “${prefix}” = “NONE”; then
prefix=${ac_default_prefix}
fi

gr_standalone.m4 and configure.ac both seem to have this issue

-Josh

On Sat, Sep 25, 2010 at 03:09:47PM -0400, Marcus D. Leech wrote:

about this in the build instructions when you’re using UHD?
This really doesn’t have anything to do with UHD. You’d see
the same problem with any other dependency installed outside of
/lib{,64} or /usr/lib{,64}

Just as you have to set your PYTHONPATH for stuff in /usr/local…,
set your PKG_CONFIG_PATH for stuff in /usr/local/lib{,64}

Eric

I removed the offending code because it was causing my build to break,
and noticed at that time that it shouldn’t have been there in the
first place.

Eric

Fair enough, Eric. So do you suggest another approach that allows
boostrap/configure/make to “just work”, or simply more notes
about this in the build instructions when you’re using UHD?


Marcus L.
Principal Investigator
Shirleys Bay Radio Astronomy Consortium

On Sat, Sep 25, 2010 at 10:24:18AM -0700, Josh B. wrote:

This turns out to be a bug in gnuradio configure - when --prefix is
not specified with ./configure, the ${prefix} variable is set to
NONE

Listen guys, you may not like this behavior, but it’s not a bug.
If you read the makefile standards, it’s to allow a package to be
installed into a different location at “make install” time.

export PKG_CONFIG_PATH
There definitely shouldn’t be any PKG_CONFIG_PATH special case
handling for anything in grc_<component_name>.m4.

A ton of effort was put into making the building system work reliably
and consistently (mostly by Michael D.). A lot of the details
are quite subtle, and the effort took a long time to stabilize, and
has proven itself to work on a wide variety of OS’s and distributions.
All of the grc_<component_name>.m4’s should follow the same pattern.
There shouldn’t be any divergence in the boilerplate.

I removed the offending code because it was causing my build to break,
and noticed at that time that it shouldn’t have been there in the
first place.

Eric

On 09/25/2010 12:01 PM, Eric B. wrote:

On Sat, Sep 25, 2010 at 10:24:18AM -0700, Josh B. wrote:

This turns out to be a bug in gnuradio configure - when --prefix is
not specified with ./configure, the ${prefix} variable is set to
NONE

Listen guys, you may not like this behavior, but it’s not a bug.
If you read the makefile standards, it’s to allow a package to be
installed into a different location at “make install” time.

Thats fine, but is it fine that configure.ac sets PKG_CONFIG_PATH to
NONE/lib/pkgconfig when --prefix is not specified. Thats not a problem?

-Josh

Fair enough, Eric. So do you suggest another approach that allows
boostrap/configure/make to “just work”, or simply more notes
about this in the build instructions when you’re using UHD?

The issue being that all the gnuradio dependencies are distribution
installable (on linux) so you dont need to set special paths and
environment variables. However, UHD is not ready to be handed out as
rpms and debs (though it can be) so it may need special paths set to use
on operating system .

However, it looks like gnuradio wants to set your PKG_CONFIG_PATH to
include the ${prefix}/lib${lib_suffix}/pkgconfig. So, if you happen to
use the same prefix and lib_suffix as you built for UHD, gnuradio should
be able to find the uhd.pc file without you needing to set
PKG_CONFIG_PATH by hand.

The problem with this being, if --prefix is not set, gnuradio sets this
to NONE/lib${lib_suffix}/pkgconfig which isnt going to work. Maybe
${ac_default_prefix} can be used when ${prefix} is set to NONE

-Josh

On Sat, Sep 25, 2010 at 12:23:19PM -0700, Josh B. wrote:

installed into a different location at “make install” time.

Thats fine, but is it fine that configure.ac sets PKG_CONFIG_PATH to
NONE/lib/pkgconfig when --prefix is not specified. Thats not a
problem?

I agree with you it’s not exactly right.

I’m not sure about the right action.

This issue should probably go onto the list of things to be considered
in the grand build restructuring that was discussed by some of us a
couple of weeks ago.

Eric

On Sat, Sep 25, 2010 at 12:32:36PM -0700, Josh B. wrote:

rpms and debs (though it can be) so it may need special paths set to
Maybe ${ac_default_prefix} can be used when ${prefix} is set to NONE
That would probably be better than what we’ve got.

Independent of the use case you brought up, there’s a couple of other
places we run afoul the same issue (prefix == NONE). IIRC it gets
baked into some C/C++ strings somewhere too.

Eric

I agree with you it’s not exactly right.

I’m not sure about the right action.

This issue should probably go onto the list of things to be considered
in the grand build restructuring that was discussed by some of us a
couple of weeks ago.

Autotools is trying to be helpful by setting the “unspecified” prefix to
NONE during configure. But since gnuradio is using it as if it was
always set I suggest we do the following at the top of configure.ac

if test “${prefix}” = “NONE”; then
prefix=${ac_default_prefix}
fi

We can put it on the next branch and hope it fixes more things than it
breaks… at least until the grand rebuild structuring comes along. :slight_smile:

-Josh

On Sat, Sep 25, 2010 at 6:23 PM, Josh B. [email protected] wrote:

-Josh

Thanks, guys. I’ve made a note of this to keep in mind while we’re
working on the restructuring.

Tom