Hi,
I’m trying to understand the C++ interface to the USRP. I’ve read the
library files (usrp_{basic,standard}.h) and the test_usrp_standard_tx
and test_usrp_standard_rx scripts.
My current mission is to modify (or use?) these scripts to get the same
information out of the USRP that I put in. (Using Basic TX and Basic RX
on side A with a coax cable between them).
I run [test_usrp_standard_tx -f -F 0 -I 32], and then pull up
[usrp_oscope -d 32 -f 0] and the output on the scope looks good. I then
run [test_usrp_standard_rx -F 0 -D 32 -o usrp_rx_dump -M 1] to capture
1 MB of data from the USRP, but the file (seems to be) wrong - it only
contains the (signed short) 0 and -1=0xffff. I thought maybe there is
something wrong with the mux parameter (-1 seems to indicate all zeros
input?) and changed it to 0x33333333 but that didn’t work either.
I’ve also tried to mimic usrp_oscope.py and usrp_rx_cfile.py; I set the
gain to the average of the max and min gains (10.0 db). What am I
missing? Do I need to convolve the buffer returned by urx->read() with
another signal, for instance?
As an aside, is there a good reason the decimation/interpolation
arguments are not standardized across the various scripts? It’s hard to
remember whether the argument is -I, -i, -D, or -d… similar questions
apply to frequency arguments (-f vs. -F).
Thanks,
-Dan