Hi,
  Josh, Thanks for your help very much!
  I use the file sink in C++ to verify the flow graph, as follows:

tb = gr_make_top_block("send");
file_sink = gr_make_file_sink(sizeof(gr_complex), filenamein.c_str());
tb->connect(amp,0, file_sink,0);

it run fine. but if I use the usrp sink, as follows:

double freq= 2450e6;
int gain = 35;

   boost::shared_ptr<uhd_usrp_sink> usrp_sink =
uhd_make_usrp_sink(device_addr,uhd::stream_args_t("fc32"));
 usrp_sink->set_center_freq(freq);
 usrp_sink->set_gain(gain);
tb->connect(amp,0, usrp_sink,0);

Its error information is:
Uterminate called after throwing an instance of
'boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::math::rounding_error>
>'
  what():  Error in function boost::math::round<d>(d): Value inf can not be
represented in the target integer type.
已放弃 (core dumped)

I google it and someone said The value"inf" is usually due to a
divide-by-zero error somewhere in the chain.
from the URL:http://www.ruby-forum.com/topic/2315011

But I do not know how to correct it, so, Thanks very much for your help!
Best Regard!



2012/5/11 Josh Blum <j...@ettus.com>

> You may want to see the c++ examples here to see how to instantiate:
> http://gnuradio.org/cgit/gnuradio.git/tree/gr-uhd/examples/c++/
>
> -josh
>
> >>> how to
> >>> gr_uhd_usrp_sink_sptr usrp_sink = uhd_make_usrp_sink(addr,type,1);
> >>> ...
> >>> ...
> >
> >>> Well thats the problem, there is no enum w/ value 2. Use one of the
> >> build-in enums: >
> > http://www.ettus.com/uhd_docs/doxygen/html/classuhd_1_1io__type__t.html>
> >> Also, you can pass uhd::io_type_t::COMPLEX_FLOAT32 directly as the
> >second
> > argument. > >-josh
> >
> > Hi,
> >   josh, I am also want to instantiate uhd usrp sink in C++, I google it
> and
>
>
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to