Hi,
I am trying to record 100sec of data from two USRPS (USRP-N210), i am using mimo-cable with shared ethernet interface configuration.
When i execute the flow graph the it ends with the following ERROR message at terminal
"linux; GNU C++ version 4.8.4; Boost_105400; UHD_003.011.000.git-106-g1b70b3e7
-- Opening a USRP2/N-Series device...
-- Current recv frame size: 1472 bytes
-- Current send frame size: 1472 bytes
Press Enter to quit: thread[thread-per-block[0]: <block gr uhd usrp source (1)>]: RuntimeError: fifo ctrl timed out looking for acks"
the flow graph image and grc file are attached.
there is one more thing, i want to use complex int16 or if possible int8 data type in the USRP-source output format. but when i use it , it becomes incompatible with other blocks in the flow graph as they do not have the option of complex int16 data format.
generated flow graph code is as follows:
#!/usr/bin/env python2
# -*- coding: utf-8 -*-
##################################################
# GNU Radio Python Flow Graph
# Title: Top Block
# Generated: Thu Oct 20 16:46:52 2016
##################################################
from gnuradio import blocks
from gnuradio import eng_notation
from gnuradio import gr
from gnuradio import uhd
from gnuradio.eng_option import eng_option
from gnuradio.filter import firdes
from optparse import OptionParser
import time
class top_block(gr.top_block):
def __init__(self):
gr.top_block.__init__(self, "Top Block")
##################################################
# Variables
##################################################
self.samp_rate = samp_rate = 5000000
##################################################
# Blocks
##################################################
self.uhd_usrp_source_0 = uhd.usrp_source(
",".join(("addr0=192.168.10.3, addr1=192.168.10.3", "")),
uhd.stream_args(
cpu_format="fc32",
otw_format='sc8',
channels=range(2),
),
)
self.uhd_usrp_source_0.set_clock_source('mimo', 1)
self.uhd_usrp_source_0.set_time_source('mimo', 1)
self.uhd_usrp_source_0.set_samp_rate(samp_rate)
self.uhd_usrp_source_0.set_center_freq(50000000, 0)
self.uhd_usrp_source_0.set_gain(30, 0)
self.uhd_usrp_source_0.set_antenna('TX/RX', 0)
self.uhd_usrp_source_0.set_center_freq(50000000, 1)
self.uhd_usrp_source_0.set_gain(30, 1)
self.uhd_usrp_source_0.set_antenna('TX/RX', 1)
self.blocks_skiphead_1 = blocks.skiphead(gr.sizeof_gr_complex*1, samp_rate*3)
self.blocks_skiphead_0 = blocks.skiphead(gr.sizeof_gr_complex*1, samp_rate*3)
self.blocks_head_1 = blocks.head(gr.sizeof_gr_complex*1, samp_rate*100)
self.blocks_head_0 = blocks.head(gr.sizeof_gr_complex*1, samp_rate*100)
self.blocks_file_sink_1 = blocks.file_sink(gr.sizeof_gr_complex*1, '/media/gnss/New Volume2/ch1.dat', False)
self.blocks_file_sink_1.set_unbuffered(False)
self.blocks_file_sink_0 = blocks.file_sink(gr.sizeof_gr_complex*1, '/media/gnss/New Volume2/ch0.dat', False)
self.blocks_file_sink_0.set_unbuffered(False)
##################################################
# Connections
##################################################
self.connect((self.blocks_head_0, 0), (self.blocks_file_sink_0, 0))
self.connect((self.blocks_head_1, 0), (self.blocks_file_sink_1, 0))
self.connect((self.blocks_skiphead_0, 0), (self.blocks_head_1, 0))
self.connect((self.blocks_skiphead_1, 0), (self.blocks_head_0, 0))
self.connect((self.uhd_usrp_source_0, 1), (self.blocks_skiphead_0, 0))
self.connect((self.uhd_usrp_source_0, 0), (self.blocks_skiphead_1, 0))
def get_samp_rate(self):
return self.samp_rate
def set_samp_rate(self, samp_rate):
self.samp_rate = samp_rate
self.uhd_usrp_source_0.set_samp_rate(self.samp_rate)
self.blocks_head_1.set_length(self.samp_rate*100)
self.blocks_head_0.set_length(self.samp_rate*100)
def main(top_block_cls=top_block, options=None):
tb = top_block_cls()
tb.start()
try:
raw_input('Press Enter to quit: ')
except EOFError:
pass
tb.stop()
tb.wait()
if __name__ == '__main__':
main()
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++