On Mon, Feb 16, 2009 at 1:35 AM, Einar Thorsrud
<address@hidden> wrote:
Hi all helpful GR people :)
I am trying to combine the two sub device on a LFRX card, but I can not find any documentation on the USRP dual source. GRC has it's own block "grc_usrp.dual_source_c", but using this (configured with GRC) I get the error:
TypeError: __init__() got an unexpected keyword argument 'side_b'
How can this be overcome?
I am not able to find a dual source from the plain GR library, but it may exist? However, I have tried to use two separate USRP sources and specify separate sub devices on the two:
This however also fails. It seams the reason is that the USRP is already taken by the first instance:
usrp_open_interface:usb_claim_interface: failed interface 2
usb_claim_interface: couldn't claim interface
usrp_basic_rx: can't open rx interface
What then is the correct way to receive on both sub devices on the same time?
- Einar
I Use 2 LFRX boards to get 4 channels (for only 2 channels you don't have to do anything special as the default image handles that automatically) of real data each sampled at 2Msps. Here is the python code to do that. I think you are looking for the second line.
self.rx_src = usrp.source_c(fpga_filename="std_4rx_0tx.rbf")
rx_subdev = self.rx_src.db[0]+self.rx_src.db[1]
self.rx_src.set_mux(gru.hexint(0xf3f2f1f0)) #Sets all Q to zero
deinterleaver_usrp = gr.deinterleave(gr.sizeof_gr_complex)
self.connect(self.rx_src,skip_head_0,deinterleaver_usrp)
Real [(deinterleaver_usrp,0)] --> SideAA
Real [(deinterleaver_usrp,1)] --> SideAB
Real [(deinterleaver_usrp,2)] --> SideBA
Real [(deinterleaver_usrp,3)] --> SideBB
Hope that helps.
Karthik