commit-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Commit-gnuradio] r8413 - usrp2/branches/developers/jcorgan/u2/host/gr-u


From: jcorgan
Subject: [Commit-gnuradio] r8413 - usrp2/branches/developers/jcorgan/u2/host/gr-usrp2
Date: Mon, 12 May 2008 22:00:40 -0600 (MDT)

Author: jcorgan
Date: 2008-05-12 22:00:39 -0600 (Mon, 12 May 2008)
New Revision: 8413

Modified:
   usrp2/branches/developers/jcorgan/u2/host/gr-usrp2/usrp2.i
   usrp2/branches/developers/jcorgan/u2/host/gr-usrp2/usrp2_sink_base.cc
   usrp2/branches/developers/jcorgan/u2/host/gr-usrp2/usrp2_sink_base.h
   usrp2/branches/developers/jcorgan/u2/host/gr-usrp2/usrp2_sink_c.cc
   usrp2/branches/developers/jcorgan/u2/host/gr-usrp2/usrp2_sink_c.h
   usrp2/branches/developers/jcorgan/u2/host/gr-usrp2/usrp2_source_base.cc
   usrp2/branches/developers/jcorgan/u2/host/gr-usrp2/usrp2_source_base.h
Log:
Catch usrp2.sink_c up with source_c.

Modified: usrp2/branches/developers/jcorgan/u2/host/gr-usrp2/usrp2.i
===================================================================
--- usrp2/branches/developers/jcorgan/u2/host/gr-usrp2/usrp2.i  2008-05-13 
03:50:06 UTC (rev 8412)
+++ usrp2/branches/developers/jcorgan/u2/host/gr-usrp2/usrp2.i  2008-05-13 
04:00:39 UTC (rev 8413)
@@ -33,65 +33,62 @@
 
 // ----------------------------------------------------------------
 
-class usrp2_sink_base : public gr_sync_block {
+class usrp2_source_base : public gr_sync_block {
 
 protected:
-  usrp2_sink_base(const std::string &name,
-                 gr_io_signature_sptr input_signature) 
+  usrp2_source_base(const std::string &name, gr_io_signature_sptr 
output_signature) 
     throw (std::runtime_error);
 
 public:
-  ~usrp2_sink_base();
+  ~usrp2_source_base();
 
 };
 
 // ----------------------------------------------------------------
 
-class usrp2_source_base : public gr_sync_block {
+GR_SWIG_BLOCK_MAGIC(usrp2,source_c)
 
+usrp2_source_c_sptr
+usrp2_make_source_c(const std::string &ifc="eth0", const std::string &mac="") 
+  throw (std::runtime_error);
+
+class usrp2_source_c : public usrp2_source_base {
+
 protected:
-  usrp2_source_base(const std::string &name,
-                   gr_io_signature_sptr output_signature) 
-    throw (std::runtime_error);
+  usrp2_source_c(const std::string &ifc, const std::string &mac);
 
 public:
-  ~usrp2_source_base();
+  ~usrp2_source_c();
 
 };
 
 // ----------------------------------------------------------------
 
-GR_SWIG_BLOCK_MAGIC(usrp2,sink_c)
+class usrp2_sink_base : public gr_sync_block {
 
-usrp2_sink_c_sptr
-usrp2_make_sink_c() throw (std::runtime_error);
-
-class usrp2_sink_c : public usrp2_sink_base {
-
 protected:
-  usrp2_sink_c();
+  usrp2_sink_base(const std::string &name, gr_io_signature_sptr 
input_signature) 
+    throw (std::runtime_error);
 
 public:
-  ~usrp2_sink_c();
+  ~usrp2_sink_base();
 
 };
 
 // ----------------------------------------------------------------
 
-GR_SWIG_BLOCK_MAGIC(usrp2,source_c)
+GR_SWIG_BLOCK_MAGIC(usrp2,sink_c)
 
-usrp2_source_c_sptr
-usrp2_make_source_c(const std::string &ifc="eth0",
-                   const std::string &mac="") 
+usrp2_sink_c_sptr
+usrp2_make_sink_c(const std::string &ifc="eth0", const std::string &mac="") 
   throw (std::runtime_error);
 
-class usrp2_source_c : public usrp2_source_base {
+class usrp2_sink_c : public usrp2_sink_base {
 
 protected:
-  usrp2_source_c(const std::string &ifc,
-                const std::string &mac);
+  usrp2_sink_c(const std::string &ifc, const std::string &mac);
 
 public:
-  ~usrp2_source_c();
+  ~usrp2_sink_c();
 
 };

Modified: usrp2/branches/developers/jcorgan/u2/host/gr-usrp2/usrp2_sink_base.cc
===================================================================
--- usrp2/branches/developers/jcorgan/u2/host/gr-usrp2/usrp2_sink_base.cc       
2008-05-13 03:50:06 UTC (rev 8412)
+++ usrp2/branches/developers/jcorgan/u2/host/gr-usrp2/usrp2_sink_base.cc       
2008-05-13 04:00:39 UTC (rev 8413)
@@ -25,21 +25,68 @@
 #endif
 
 #include <usrp2_sink_base.h>
+#include <usrp2_table.h>
 #include <gr_io_signature.h>
+#include <iostream>
 
+#define USRP2_SINK_BASE_DEBUG 1
+
 usrp2_sink_base::usrp2_sink_base(const std::string &name,
-                                gr_io_signature_sptr input_signature) 
+                                gr_io_signature_sptr input_signature,
+                                const std::string &ifc,
+                                const std::string &mac) 
   throw (std::runtime_error)
   : gr_sync_block(name,
                  input_signature,
-                 gr_make_io_signature(0, 0, 0))
+                 gr_make_io_signature(0, 0, 0)),
+    d_u2(usrp2_basic_sptr())
 {
+  op_id_reply_t id;
+  
+  if (mac == "") {
+    if (!usrp2_basic::pick_default_usrp(ifc, &id))
+      throw std::runtime_error("Unable to pick default USRP2");
+  }
+  else {
+    u2_mac_addr_t addr;
+    if (!usrp2_basic::parse_mac_addr(mac, &addr))
+      throw std::runtime_error("Invalid MAC address");
+    
+    if (!usrp2_basic::find_usrp(ifc, addr, &id))
+      throw std::runtime_error("Unable to find specified USRP2.");
+  }
+  
+  if (USRP2_SINK_BASE_DEBUG)
+    std::cout << "usrp2_sink_base: using ifc=" << ifc 
+             << " mac=" << id.addr 
+             << " hw_rev=" << id.hw_rev << std::endl;
+  
+  if (!(d_u2 = find_or_create_usrp2_basic(ifc, id.addr)))
+    throw std::runtime_error("Unable to create usrp2_basic!");
 }
 
-usrp2_sink_base::~usrp2_sink_base ()
+bool
+usrp2_sink_base::start()
 {
+  if (USRP2_SINK_BASE_DEBUG)
+    std::cout << "usrp2_sink_base: start" << std::endl;
+  
+  return true;
 }
 
+bool
+usrp2_sink_base::stop()
+{
+  if (USRP2_SINK_BASE_DEBUG)
+    std::cout << "usrp2_sink_base: stop" << std::endl;
+
+  return true;
+}
+
+usrp2_sink_base::~usrp2_sink_base()
+{
+}
+
 int
 usrp2_sink_base::work(int noutput_items,
                      gr_vector_const_void_star &input_items,

Modified: usrp2/branches/developers/jcorgan/u2/host/gr-usrp2/usrp2_sink_base.h
===================================================================
--- usrp2/branches/developers/jcorgan/u2/host/gr-usrp2/usrp2_sink_base.h        
2008-05-13 03:50:06 UTC (rev 8412)
+++ usrp2/branches/developers/jcorgan/u2/host/gr-usrp2/usrp2_sink_base.h        
2008-05-13 04:00:39 UTC (rev 8413)
@@ -24,20 +24,26 @@
 #define INCLUDED_USRP2_SINK_BASE_H
 
 #include <gr_sync_block.h>
+#include <usrp2_basic.h>
 #include <stdexcept>
 
 class usrp2_sink_base : public gr_sync_block {
 
-private:
-
 protected:
   usrp2_sink_base(const std::string &name,
-                 gr_io_signature_sptr input_signature) 
+                 gr_io_signature_sptr input_signature,
+                 const std::string &ifc = "eth0",
+                 const std::string &mac = "") 
     throw (std::runtime_error);
   
+  usrp2_basic_sptr d_u2;
+
 public:
   ~usrp2_sink_base();
   
+  virtual bool start();
+  virtual bool stop();
+
   int work(int noutput_items,
           gr_vector_const_void_star &input_items,
           gr_vector_void_star &output_items);

Modified: usrp2/branches/developers/jcorgan/u2/host/gr-usrp2/usrp2_sink_c.cc
===================================================================
--- usrp2/branches/developers/jcorgan/u2/host/gr-usrp2/usrp2_sink_c.cc  
2008-05-13 03:50:06 UTC (rev 8412)
+++ usrp2/branches/developers/jcorgan/u2/host/gr-usrp2/usrp2_sink_c.cc  
2008-05-13 04:00:39 UTC (rev 8413)
@@ -26,18 +26,19 @@
 
 #include <usrp2_sink_c.h>
 #include <gr_io_signature.h>
-#include <usrp_standard.h>
-#include <usrp_bytesex.h>
 
 usrp2_sink_c_sptr
-usrp2_make_sink_c() throw (std::runtime_error)
+usrp2_make_sink_c(const std::string &ifc, const std::string &mac) 
+  throw (std::runtime_error)
 {
-  return usrp2_sink_c_sptr(new usrp2_sink_c());
+  return usrp2_sink_c_sptr(new usrp2_sink_c(ifc, mac));
 }
 
-usrp2_sink_c::usrp2_sink_c() throw (std::runtime_error)
+usrp2_sink_c::usrp2_sink_c(const std::string &ifc, const std::string &mac) 
+  throw (std::runtime_error)
   : usrp2_sink_base("usrp2_sink_c",
-                   gr_make_io_signature(1, 1, sizeof(gr_complex)))
+                   gr_make_io_signature(1, 1, sizeof(gr_complex)),
+                   ifc, mac)
 {
 }
 

Modified: usrp2/branches/developers/jcorgan/u2/host/gr-usrp2/usrp2_sink_c.h
===================================================================
--- usrp2/branches/developers/jcorgan/u2/host/gr-usrp2/usrp2_sink_c.h   
2008-05-13 03:50:06 UTC (rev 8412)
+++ usrp2/branches/developers/jcorgan/u2/host/gr-usrp2/usrp2_sink_c.h   
2008-05-13 04:00:39 UTC (rev 8413)
@@ -29,16 +29,19 @@
 typedef boost::shared_ptr<usrp2_sink_c> usrp2_sink_c_sptr;
 
 usrp2_sink_c_sptr
-usrp2_make_sink_c() throw (std::runtime_error);
+usrp2_make_sink_c(const std::string &ifc="eth0", const std::string &mac="") 
+  throw (std::runtime_error);
 
 class usrp2_sink_c : public usrp2_sink_base {
+
 private:
-
   friend usrp2_sink_c_sptr
-  usrp2_make_sink_c() throw (std::runtime_error);
+  usrp2_make_sink_c(const std::string &ifc, const std::string &mac)
+    throw (std::runtime_error);
 
 protected:
-  usrp2_sink_c() throw (std::runtime_error);
+  usrp2_sink_c(const std::string &ifc="eth0", const std::string &mac="") 
+    throw (std::runtime_error);
 
 public:
   ~usrp2_sink_c();

Modified: 
usrp2/branches/developers/jcorgan/u2/host/gr-usrp2/usrp2_source_base.cc
===================================================================
--- usrp2/branches/developers/jcorgan/u2/host/gr-usrp2/usrp2_source_base.cc     
2008-05-13 03:50:06 UTC (rev 8412)
+++ usrp2/branches/developers/jcorgan/u2/host/gr-usrp2/usrp2_source_base.cc     
2008-05-13 04:00:39 UTC (rev 8413)
@@ -65,6 +65,24 @@
     throw std::runtime_error("Unable to create usrp2_basic!");
 }
 
+bool
+usrp2_source_base::start()
+{
+  if (USRP2_SOURCE_BASE_DEBUG)
+    std::cout << "usrp2_source_base: start" << std::endl;
+
+  return true;
+}
+
+bool
+usrp2_source_base::stop()
+{
+  if (USRP2_SOURCE_BASE_DEBUG)
+    std::cout << "usrp2_source_base: stop" << std::endl;
+
+  return true;
+}
+
 usrp2_source_base::~usrp2_source_base ()
 {
 }

Modified: usrp2/branches/developers/jcorgan/u2/host/gr-usrp2/usrp2_source_base.h
===================================================================
--- usrp2/branches/developers/jcorgan/u2/host/gr-usrp2/usrp2_source_base.h      
2008-05-13 03:50:06 UTC (rev 8412)
+++ usrp2/branches/developers/jcorgan/u2/host/gr-usrp2/usrp2_source_base.h      
2008-05-13 04:00:39 UTC (rev 8413)
@@ -41,6 +41,9 @@
 public:
   ~usrp2_source_base();
   
+  virtual bool start();
+  virtual bool stop();
+
   int work(int noutput_items,
           gr_vector_const_void_star &input_items,
           gr_vector_void_star &output_items);





reply via email to

[Prev in Thread] Current Thread [Next in Thread]