USRP digital output hack

Hi all-

I’ve been desparate lately for a way to stream data from GNURadio back
out
to the hardware world without turning the data into an analog signal via
the
USRP’s DAC. For example, if I have a software demodulator outputting
bits (1
bit per byte, as done via a slicer in many of the examples), I would
love to
get that bit stream out to a digital pin on a USRP daughtercard. This
would
enable things like automated bit error rate testing.

I think I have an idea for how to do this, but I need somebody to check
my
sanity.

Let’s say I have an unused BasicTX daughtercard. The idea is to alter
the
FPGA’s .rbf file so that the MSB line going to the DAC is also connected
to
one of the io pins on the d’card. Now, some demod blocks (gmsk, for
example)
output a stream of floats representing soft symbols that are then
thresholded (sliced) to produce a stream of bytes. Instead of slicing,
could
I convert my float stream to complex and send it to a usrp sink (the
Basic
TX), and thereby get my bits out on that io pin? The output of the DAC
would
be nonsensical, but I wouldn’t be using it anyway, so who cares?

Does this approach make sense? Is there an easier way to do this sort of
thing? Anything I need to be wary of (damaging my hardware, for
example)?

If there is no better way to do this, then Ettus should really make a
Digital I/O daughtercard – it would sell like hotcakes.

-Steven

Redirecting to list. Has anyone ever sent a gnuradio stream out to a
serial
port, as Chris suggests? I suspect it is not so easy as he describes…

(incidentally, I’m using cygwin under windows XP. /dev/tty* doesn’t
exist)

Is there a way to continuously print a gnuradio byte stream to the
console?

On Wed, May 09, 2007 at 01:51:10PM -0400, Steven C. wrote:

Redirecting to list. Has anyone ever sent a gnuradio stream out to a serial
port, as Chris suggests? I suspect it is not so easy as he describes…

(incidentally, I’m using cygwin under windows XP. /dev/tty* doesn’t exist)

Is there a way to continuously print a gnuradio byte stream to the console?

Yes, though I’m not sure it makes sense:

1 is the file descriptor for stdout

sink = gr.file_descriptor_sink(gr.sizeof_FOO, 1)

Eric