discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Discuss-gnuradio] gr_vector_source_c.cc segmentation fault


From: Liu Xin
Subject: [Discuss-gnuradio] gr_vector_source_c.cc segmentation fault
Date: Thu, 1 Mar 2007 22:46:45 -0500 (EST)

Hello, All:

My program got Segmentation Fault. I used gdb to trace the process and got
the following return:
===============================================================
(gdb) continue
Continuing.
[New Thread -1223844944 (LWP 25403)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1223844944 (LWP 25403)]
0xb7706c79 in gr_vector_source_c::work (this=0x82bf1c8,
noutput_items=3968, address@hidden,  address@hidden)
at gr_vector_source_c.cc:58
58            optr[i] = d_data[offset++];
Current language:  auto; currently c++
(gdb)
==============================================================


Could anyone give some clues what is wrong with the vector?
Thanks a lot,
Xin






The python program
=========================================================
#!/usr/bin/env python
from gnuradio import gr
from gnuradio import usrp
from gnuradio import eng_notation
import os
print 'Blocked waiting for GDB attach (pid = %d)' % (os.getpid(),)
raw_input ('Press Enter to continue: ')

def build_graph (carrier=2.462e9):

  interp = 16
  duc0 = 5e6       # IF frequency
  nchan = 1

  fg = gr.flow_graph ()

  dest = usrp.sink_c (0, interp, nchan)
  sample_rate = dest.dac_freq() / interp
  print "Sample rate = ", eng_notation.num_to_str (sample_rate)
  dest.set_tx_freq (0, duc0)
  dest.set_pga(0,20)

  max = (2**15)-1
  min = -max
  vector = []
  for i in range(40):
    vector.append(complex(max,max))
    vector.append(complex(max,min))
    vector.append(complex(min,max))
    vector.append(complex(min,min))
  for i in range(60):
    vector.append(complex(0,0))

  src = gr.vector_source_c(vector,True)
  fg.connect (src, dest)

  dboard = usrp.selected_subdev(dest, (0,0))

  print "Signal will generated by :", dboard.side_and_name()

  rf = dest.tune(dboard._which, dboard, carrier)
  if rf:
    print "Carrier :", eng_notation.num_to_str(rf.baseband_freq)
  else:
    print "The range of the daugtherboard's frequency is :", \
    eng_notation.num_to_str(dboard.freq_range()[0]), "-", \
    eng_notation.num_to_str(dboard.freq_range()[1])
    raise SystemExit

  return fg

if __name__ == '__main__':


  mygraph = build_graph ()
  mygraph.start ()
  raw_input ("Press Enter to quit : ")
  mygraph.stop ()






reply via email to

[Prev in Thread] Current Thread [Next in Thread]