28#ifndef INCLUDED_BAZ_HOPPER_H
29#define INCLUDED_BAZ_HOPPER_H
31#include <gnuradio/block.h>
32#include <boost/thread.hpp>
36#include <uhd/usrp/multi_usrp.hpp>
37#include <uhd/types/time_spec.hpp>
39#include <gnuradio/uhd/usrp_source.h>
42typedef boost::shared_ptr<baz_hopper> baz_hopper_sptr;
49 std::vector<std::vector<double> > freqs,
50 ::gr::basic_block_sptr source,
65 std::vector<std::vector<double> > freqs,
66 ::gr::basic_block_sptr source,
75 std::vector<std::vector<double> > freqs,
76 ::gr::basic_block_sptr source,
83 int d_chunk_length, d_drop_length;
84 std::vector<std::vector<double> > d_freqs;
86 uint64_t d_last_time_seconds;
87 double d_last_time_fractional_seconds;
88 uint64_t d_time_offset;
89 ::gr::uhd::usrp_source::sptr d_usrp_src;
90 ::uhd::usrp::multi_usrp::sptr d_dev;
92 std::deque<uint64_t> d_scheduled;
93 std::map<uint64_t,uint64_t> d_dest;
95 uhd::time_spec_t d_last_hop;
96 std::vector<std::pair<double,int> > d_freq_dest;
108 void forecast(
int noutput_items, gr_vector_int &ninput_items_required);
109 int general_work(
int noutput_items, gr_vector_int &ninput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items);
#define BAZ_API
Definition: api.h:19
class BAZ_API baz_hopper
Definition: baz_hopper.h:41
BAZ_API baz_hopper_sptr baz_make_hopper(size_t item_size, int sample_rate, int chunk_length, int drop_length, std::vector< std::vector< double > > freqs, ::gr::basic_block_sptr source, bool verbose=false)
hop
Definition: baz_hopper.h:59
friend BAZ_API baz_hopper_sptr baz_make_hopper(size_t item_size, int sample_rate, int chunk_length, int drop_length, std::vector< std::vector< double > > freqs, ::gr::basic_block_sptr source, bool verbose)
int general_work(int noutput_items, gr_vector_int &ninput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)
void forecast(int noutput_items, gr_vector_int &ninput_items_required)