commit-gnuradio
[Top][All Lists]
Advanced

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

[Commit-gnuradio] r9717 - gnuradio/branches/features/cppdb/gr-usrp/src


From: trondeau
Subject: [Commit-gnuradio] r9717 - gnuradio/branches/features/cppdb/gr-usrp/src
Date: Sat, 4 Oct 2008 13:29:45 -0600 (MDT)

Author: trondeau
Date: 2008-10-04 13:29:45 -0600 (Sat, 04 Oct 2008)
New Revision: 9717

Modified:
   gnuradio/branches/features/cppdb/gr-usrp/src/usrp1_base.h
   gnuradio/branches/features/cppdb/gr-usrp/src/usrp1_base.i
   gnuradio/branches/features/cppdb/gr-usrp/src/usrp1_sink.i
   gnuradio/branches/features/cppdb/gr-usrp/src/usrp1_sink_base.cc
   gnuradio/branches/features/cppdb/gr-usrp/src/usrp1_sink_base.h
   gnuradio/branches/features/cppdb/gr-usrp/src/usrp1_source.i
   gnuradio/branches/features/cppdb/gr-usrp/src/usrp1_source_base.cc
   gnuradio/branches/features/cppdb/gr-usrp/src/usrp1_source_base.h
Log:
Adding holder object for dboard pointers in base classes to export as db[x][y]. 
I'm not hugely fond of this, but it's the only way I could get it to work.

Modified: gnuradio/branches/features/cppdb/gr-usrp/src/usrp1_base.h
===================================================================
--- gnuradio/branches/features/cppdb/gr-usrp/src/usrp1_base.h   2008-10-04 
19:27:15 UTC (rev 9716)
+++ gnuradio/branches/features/cppdb/gr-usrp/src/usrp1_base.h   2008-10-04 
19:29:45 UTC (rev 9717)
@@ -71,9 +71,11 @@
 
   virtual ~usrp1_base ();
 
-  virtual std::vector<db_base_sptr> db(int which) 
-  { throw std::runtime_error("db called from base class\n"); }
+  std::vector< std::vector<db_base_sptr> > db;
   
+  virtual std::vector<db_base_sptr> dboard(int which) 
+  { throw std::runtime_error("dboard called from base class\n"); }
+  
   virtual unsigned int determine_tx_mux_value(const std::vector<int> 
&subdev_spec) 
   { throw std::runtime_error("determing_tx_value called from base class\n"); }
   virtual unsigned int determine_rx_mux_value(const std::vector<int> 
&subdev_spec) 

Modified: gnuradio/branches/features/cppdb/gr-usrp/src/usrp1_base.i
===================================================================
--- gnuradio/branches/features/cppdb/gr-usrp/src/usrp1_base.i   2008-10-04 
19:27:15 UTC (rev 9716)
+++ gnuradio/branches/features/cppdb/gr-usrp/src/usrp1_base.i   2008-10-04 
19:29:45 UTC (rev 9717)
@@ -28,7 +28,8 @@
 //                        abstract classes
 // ================================================================
 namespace std {
-  %template() vector<db_base_sptr>; 
+  %template() vector<db_base_sptr>;
+  %template(vect_vect_db) vector< vector<db_base_sptr> >;
 }
 
 class usrp1_base : public gr_sync_block
@@ -44,9 +45,11 @@
   //! magic value used on alternate register read interfaces
   static const int READ_FAILED = -99999;
 
+  std::vector< std::vector<db_base_sptr> > db;
+
   virtual ~usrp1_base ();
 
-  virtual std::vector<db_base_sptr> db(int which);
+  virtual std::vector<db_base_sptr> dboard(int which);
 
   virtual int determine_tx_mux_value(const std::vector<int> &subdev_spec);
   virtual int determine_rx_mux_value(const std::vector<int> &subdev_spec);

Modified: gnuradio/branches/features/cppdb/gr-usrp/src/usrp1_sink.i
===================================================================
--- gnuradio/branches/features/cppdb/gr-usrp/src/usrp1_sink.i   2008-10-04 
19:27:15 UTC (rev 9716)
+++ gnuradio/branches/features/cppdb/gr-usrp/src/usrp1_sink.i   2008-10-04 
19:29:45 UTC (rev 9717)
@@ -49,8 +49,6 @@
  public:
   ~usrp1_sink_base ();
 
-  //std::vector<db_base_sptr> db(int which);
-
   bool set_interp_rate (unsigned int rate);
   bool set_nchannels (int nchan);
   bool set_mux (int mux);

Modified: gnuradio/branches/features/cppdb/gr-usrp/src/usrp1_sink_base.cc
===================================================================
--- gnuradio/branches/features/cppdb/gr-usrp/src/usrp1_sink_base.cc     
2008-10-04 19:27:15 UTC (rev 9716)
+++ gnuradio/branches/features/cppdb/gr-usrp/src/usrp1_sink_base.cc     
2008-10-04 19:29:45 UTC (rev 9717)
@@ -52,6 +52,8 @@
   if (!d_usrp.get())
     throw std::runtime_error ("can't open usrp1");
 
+  db = d_usrp->db();
+
   // All calls to d_usrp->write must be multiples of 512 bytes.
 
   set_output_multiple (OUTPUT_MULTIPLE_SAMPLES);

Modified: gnuradio/branches/features/cppdb/gr-usrp/src/usrp1_sink_base.h
===================================================================
--- gnuradio/branches/features/cppdb/gr-usrp/src/usrp1_sink_base.h      
2008-10-04 19:27:15 UTC (rev 9716)
+++ gnuradio/branches/features/cppdb/gr-usrp/src/usrp1_sink_base.h      
2008-10-04 19:29:45 UTC (rev 9717)
@@ -76,7 +76,7 @@
 
   // These must be included in here and not usrp1_base because of
   // usrp_standard_common used in that class
-  std::vector<db_base_sptr> db(int which) { return d_usrp->db(which); }
+  std::vector<db_base_sptr> dboard(int which) { return d_usrp->db(which); }
   db_base_sptr selected_subdev(const std::vector<int> &subdev_spec);  
   unsigned int determine_tx_mux_value(const std::vector<int> &subdev_spec);
 

Modified: gnuradio/branches/features/cppdb/gr-usrp/src/usrp1_source.i
===================================================================
--- gnuradio/branches/features/cppdb/gr-usrp/src/usrp1_source.i 2008-10-04 
19:27:15 UTC (rev 9716)
+++ gnuradio/branches/features/cppdb/gr-usrp/src/usrp1_source.i 2008-10-04 
19:29:45 UTC (rev 9717)
@@ -29,7 +29,7 @@
  protected:
   usrp1_source_base (const std::string &name,
                     gr_io_signature_sptr output_signature,
-                    int which_board,
+                    int which,
                     unsigned int decim_rate,
                     int nchan,
                     int mux,
@@ -133,7 +133,7 @@
 GR_SWIG_BLOCK_MAGIC(usrp1,source_c)
 
 usrp1_source_c_sptr
-usrp1_make_source_c (int which_board=0,
+usrp1_make_source_c (int which=0,
                     unsigned int decim_rate=64,
                     int nchan=1,
                     int mux=0x32103210,
@@ -146,7 +146,7 @@
 
 class usrp1_source_c : public usrp1_source_base {
  protected:
-  usrp1_source_c (int which_board, unsigned int decim_rate,
+  usrp1_source_c (int which, unsigned int decim_rate,
                  int nchan, int mux, int mode, int fusb_block_size, int 
fusb_nblocks,
                  const std::string fpga_filename, const std::string 
fgpa_filename);
 
@@ -160,7 +160,7 @@
 GR_SWIG_BLOCK_MAGIC(usrp1,source_s)
 
 usrp1_source_s_sptr
-usrp1_make_source_s (int which_board=0,
+usrp1_make_source_s (int which=0,
                     unsigned int decim_rate=64,
                     int nchan=1,
                     int mux=0x32103210,
@@ -174,7 +174,7 @@
 
 class usrp1_source_s : public usrp1_source_base {
  protected:
-  usrp1_source_s (int which_board, unsigned int decim_rate,
+  usrp1_source_s (int which, unsigned int decim_rate,
                  int nchan, int mux, int mode, int fusb_block_size, int 
fusb_nblocks,
                  const std::string fpga_filename, const std::string 
firmware_filename);
 

Modified: gnuradio/branches/features/cppdb/gr-usrp/src/usrp1_source_base.cc
===================================================================
--- gnuradio/branches/features/cppdb/gr-usrp/src/usrp1_source_base.cc   
2008-10-04 19:27:15 UTC (rev 9716)
+++ gnuradio/branches/features/cppdb/gr-usrp/src/usrp1_source_base.cc   
2008-10-04 19:29:45 UTC (rev 9717)
@@ -33,7 +33,7 @@
 
 usrp1_source_base::usrp1_source_base (const std::string &name,
                                      gr_io_signature_sptr output_signature,
-                                     int which_board,
+                                     int which,
                                      unsigned int decim_rate,
                                      int nchan,
                                      int mux,
@@ -45,14 +45,14 @@
                                      ) throw (std::runtime_error)
   : usrp1_base(name, gr_make_io_signature (0, 0, 0), output_signature),
     d_noverruns (0), 
-    d_usrp(usrp_standard_rx::make (which_board, decim_rate,nchan, mux, mode,
+    d_usrp(usrp_standard_rx::make (which, decim_rate,nchan, mux, mode,
                                   fusb_block_size, fusb_nblocks,
                                   fpga_filename, firmware_filename))
 {
   if (!d_usrp.get())
     throw std::runtime_error ("can't open usrp1");
 
-  std::vector<db_base_sptr> dbtmp = d_usrp->db(0);
+  db = d_usrp->db();
   
   // All calls to d_usrp->read must be multiples of 512 bytes.
   // We jack this up to 4k to reduce overhead.

Modified: gnuradio/branches/features/cppdb/gr-usrp/src/usrp1_source_base.h
===================================================================
--- gnuradio/branches/features/cppdb/gr-usrp/src/usrp1_source_base.h    
2008-10-04 19:27:15 UTC (rev 9716)
+++ gnuradio/branches/features/cppdb/gr-usrp/src/usrp1_source_base.h    
2008-10-04 19:29:45 UTC (rev 9717)
@@ -37,7 +37,7 @@
  protected:
   usrp1_source_base (const std::string &name,
                     gr_io_signature_sptr output_signature,
-                    int which_board,
+                    int which,
                     unsigned int decim_rate,
                     int nchan,
                     int mux,
@@ -92,14 +92,13 @@
 
   // These must be included in here and not usrp1_base because of
   // usrp_standard_common used in that class
-  std::vector<db_base_sptr> db(int which) { return d_usrp->db(which); }  
+  std::vector<db_base_sptr> dboard(int which) { return d_usrp->db(which); }  
   db_base_sptr selected_subdev(const std::vector<int> &subdev_spec);
   unsigned int determine_rx_mux_value(const std::vector<int> &subdev_spec);
 
   // Wrapper function to call tune from USRP source class
   tune_result tune(int chan, db_base_sptr db, double target_freq)
   { return db->tune(chan, target_freq); }
-
   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]