#ifndef INCLUDED_USRP2_SINK_BASE_H
#define INCLUDED_USRP2_SINK_BASE_H
-#include <gr_sync_block.h>
-#include <stdexcept>
-
-class usrp2_sink_base : public gr_sync_block {
-
-private:
+#include <usrp2_base.h>
+/*!
+ * Base class for all USRP2 transmit blocks
+ */
+class usrp2_sink_base : public usrp2_base
+{
protected:
- usrp2_sink_base(const std::string &name,
- gr_io_signature_sptr input_signature)
+ usrp2_sink_base(const char *name,
+ gr_io_signature_sptr input_signature,
+ const std::string &ifc,
+ const std::string &mac)
throw (std::runtime_error);
-
+
public:
~usrp2_sink_base();
-
- int work(int noutput_items,
- gr_vector_const_void_star &input_items,
- gr_vector_void_star &output_items);
+
+ /*!
+ * \brief Set transmitter gain
+ */
+ bool set_gain(double gain);
+
+ /*!
+ * \brief Set transmitter center frequency
+ */
+ bool set_center_freq(double frequency, usrp2::tune_result *tr);
+
+ /*!
+ * \brief Set transmit interpolation rate
+ */
+ bool set_interp(int interp_factor);
};
#endif /* INCLUDED_USRP2_SINK_BASE_H */