Adds usrp2.sink_32fc, usrp2.sink_16sc, refactoring, cleanup
[debian/gnuradio] / gr-usrp2 / src / usrp2_source_base.h
index 34d9fea0b60ad3b130e74d88d9994982fbc6b203..f6bf100592853230ee3140e47d75c904fe5d4e2b 100644 (file)
 #ifndef INCLUDED_USRP2_SOURCE_BASE_H
 #define INCLUDED_USRP2_SOURCE_BASE_H
 
-#include <gr_sync_block.h>
-#include <usrp2/usrp2.h>
-#include <stdexcept>
+#include <usrp2_base.h>
 
-// BIG ASS FIXME: get from lower layer MTU calculation
-#define USRP2_MIN_RX_SAMPLES 371
-
-class usrp2_source_base : public gr_sync_block {
-  
+/*!
+ * Base class for all USRP2 source blocks
+ */
+class usrp2_source_base : public usrp2_base 
+{
 protected:
   usrp2_source_base(const char *name,
                    gr_io_signature_sptr output_signature,
@@ -39,8 +37,6 @@ protected:
                    const std::string &mac)
     throw (std::runtime_error);
 
-  usrp2::usrp2::sptr d_u2;
-
 public:
   ~usrp2_source_base();
 
@@ -59,27 +55,15 @@ public:
    */
   bool set_decim(int decimation_factor);
 
-  /*!
-   * \brief Get USRP2 hardware MAC address
-   */
-  std::string mac_addr();
-  
   /*!
    * \brief Called by scheduler when starting flowgraph
    */
-  bool start();
+  virtual bool start();
   
   /*!
    * \brief Called by scheduler when stopping flowgraph
    */
-  bool stop();
-
-  /*!
-   * \brief Derived class must override this
-   */
-  virtual int work(int noutput_items,
-                  gr_vector_const_void_star &input_items,
-                  gr_vector_void_star &output_items) = 0;
+  virtual bool stop();
 };
 
 #endif /* INCLUDED_USRP2_SOURCE_BASE_H */