24 #include <boost/foreach.hpp>
25 #include <boost/format.hpp>
35 const double start_fracs,
36 const double samp_rate,
37 const double idle_duration,
38 const double burst_duration
41 "uhd tag source demo",
42 gr::io_signature::make(0, 0, 0),
43 gr::io_signature::make(1, 1, sizeof(std::complex<float>))
45 _time_secs(start_secs),
46 _time_fracs(start_fracs),
47 _samp_rate(samp_rate),
48 _samps_per_burst(samp_rate*burst_duration),
49 _cycle_duration(idle_duration + burst_duration),
50 _samps_left_in_burst(1),
89 std::complex<float> *output =
reinterpret_cast<std::complex<float> *
>(output_items[0]);
90 for (
size_t i = 0; i < size_t(noutput_items); i++){
91 output[i] = std::complex<float>(0.7, 0.7);
98 _do_new_burst =
false;
99 _samps_left_in_burst = _samps_per_burst;
104 _time_fracs += _cycle_duration;
106 _time_fracs = std::modf(_time_fracs, &intpart);
113 if (_samps_left_in_burst <
size_t(noutput_items)){
115 _do_new_burst =
true;
116 noutput_items = _samps_left_in_burst;
119 _samps_left_in_burst -= noutput_items;
120 return noutput_items;
126 const double _samp_rate;
128 const double _cycle_duration;