commit-gnuradio
[Top][All Lists]
Advanced

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

[Commit-gnuradio] r9256 - gnuradio/branches/developers/trondeau/dbs/usrp


From: trondeau
Subject: [Commit-gnuradio] r9256 - gnuradio/branches/developers/trondeau/dbs/usrp/host/lib/legacy
Date: Tue, 12 Aug 2008 14:02:02 -0600 (MDT)

Author: trondeau
Date: 2008-08-12 14:02:01 -0600 (Tue, 12 Aug 2008)
New Revision: 9256

Added:
   gnuradio/branches/developers/trondeau/dbs/usrp/host/lib/legacy/db_base.i
Modified:
   gnuradio/branches/developers/trondeau/dbs/usrp/host/lib/legacy/db_base.cc
   gnuradio/branches/developers/trondeau/dbs/usrp/host/lib/legacy/db_base.h
   gnuradio/branches/developers/trondeau/dbs/usrp/host/lib/legacy/db_boards.cc
Log:
wip: cleaning up and adding swig interface file for daughterboard classes.

Modified: 
gnuradio/branches/developers/trondeau/dbs/usrp/host/lib/legacy/db_base.cc
===================================================================
--- gnuradio/branches/developers/trondeau/dbs/usrp/host/lib/legacy/db_base.cc   
2008-08-12 20:01:25 UTC (rev 9255)
+++ gnuradio/branches/developers/trondeau/dbs/usrp/host/lib/legacy/db_base.cc   
2008-08-12 20:02:01 UTC (rev 9256)
@@ -42,9 +42,14 @@
   d_tx = tx;
   d_usrp = usrp;
 
-  printf("Creating db_base  usrp_basic usrp: %x\n", d_usrp);
+  printf("Creating db_base  usrp_basic usrp: %p\n", d_usrp);
 }
 
+
+db_base::~db_base()
+{
+}
+
 int 
 db_base::dbid()
 {

Modified: 
gnuradio/branches/developers/trondeau/dbs/usrp/host/lib/legacy/db_base.h
===================================================================
--- gnuradio/branches/developers/trondeau/dbs/usrp/host/lib/legacy/db_base.h    
2008-08-12 20:01:25 UTC (rev 9255)
+++ gnuradio/branches/developers/trondeau/dbs/usrp/host/lib/legacy/db_base.h    
2008-08-12 20:02:01 UTC (rev 9256)
@@ -59,7 +59,7 @@
 {
  public:
   db_base(usrp_basic *usrp, int which, bool tx=true);
-  ~db_base() {}
+  ~db_base();
 
   int dbid();
   std::string name();

Added: gnuradio/branches/developers/trondeau/dbs/usrp/host/lib/legacy/db_base.i
===================================================================
--- gnuradio/branches/developers/trondeau/dbs/usrp/host/lib/legacy/db_base.i    
                        (rev 0)
+++ gnuradio/branches/developers/trondeau/dbs/usrp/host/lib/legacy/db_base.i    
2008-08-12 20:02:01 UTC (rev 9256)
@@ -0,0 +1,118 @@
+/* -*- c++ -*- */
+//
+// Copyright 2008 Free Software Foundation, Inc.
+// 
+// This file is part of GNU Radio
+// 
+// GNU Radio is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either asversion 3, or (at your option)
+// any later version.
+// 
+// GNU Radio is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+// 
+// You should have received a copy of the GNU General Public License
+// along with GNU Radio; see the file COPYING.  If not, write to
+// the Free Software Foundation, Inc., 51 Franklin Street,
+// Boston, MA 02110-1301, USA.
+//
+
+
+%{
+#include "db_base.h"
+#include "db_flexrf.h"
+%}
+
+%include <shared_ptr.i>
+
+class tune_result
+{
+public:  
+  tune_result(float baseband=0, float dxc=0, 
+             float residual=0, bool inv=0);
+  ~tune_result();
+
+  bool  ok;
+  float baseband_freq;
+  float dxc_freq;
+  float residual_freq;
+  bool  inverted;
+};
+
+struct freq_result_t
+{
+  bool  ok;
+  float baseband_freq;
+};
+
+class db_base
+{
+ public:
+  db_base(usrp_basic *usrp, int which, bool tx=true);
+  ~db_base();
+
+  int dbid();
+  std::string name();
+  std::string side_and_name();
+
+  float gain_min();
+  float gain_max();
+  float gain_db_per_step();
+  float freq_min();
+  float freq_max();
+  struct freq_result_t set_freq(float target_freq);
+  bool set_gain(float gain);
+  bool is_quadrature();
+  bool i_and_q_swapped();
+  bool spectrum_inverted();
+  void set_enable(bool on);
+  void set_auto_tr(bool on);
+  void set_lo_offset(float offset);
+  float lo_offset();
+  void select_rx_antenna(int which_antenna);
+
+  tune_result tune(int chan, float target_freq);
+};
+
+typedef boost::shared_ptr<db_base> db_base_sptr;
+%template(db_base_sptr) boost::shared_ptr<db_base>;
+
+class flexrf_base : public db_base
+{
+public:
+  flexrf_base(usrp_basic *usrp, int which);
+  ~flexrf_base();
+
+  struct freq_result_t set_freq(float freq);
+  float gain_min();
+  float gain_max();
+  float gain_db_per_step();
+  bool  set_gain(float gain);
+  bool  is_quadrature();
+  float lo_offset();
+  void  set_lo_offset(float offset);
+};
+
+
+class db_flexrf_2400_rx : public flexrf_base
+{
+public:
+  db_flexrf_2400_rx(usrp_basic *usrp, int which);
+  ~db_flexrf_2400_rx();
+  
+  float gain_min();
+  float gain_max();
+  float gain_db_per_step();
+  bool i_and_q_swapped();
+
+  float freq_min();
+  float freq_max();
+};
+
+%pythoncode %{
+  db_base_sptr.__repr__ = lambda self: "<db_base::%s>" % (self.name(),)
+  db_base_sptr.freq_range = lambda self: (self.freq_min(), self.freq_max(), 1)
+%}

Modified: 
gnuradio/branches/developers/trondeau/dbs/usrp/host/lib/legacy/db_boards.cc
===================================================================
--- gnuradio/branches/developers/trondeau/dbs/usrp/host/lib/legacy/db_boards.cc 
2008-08-12 20:01:25 UTC (rev 9255)
+++ gnuradio/branches/developers/trondeau/dbs/usrp/host/lib/legacy/db_boards.cc 
2008-08-12 20:02:01 UTC (rev 9256)
@@ -32,6 +32,8 @@
 {
   std::vector<db_base_sptr> db;
 
+  printf("instantiating DB with dbid: %d\n", dbid);
+
   switch(dbid) {
 
   case(USRP_DBID_BASIC_TX):
@@ -39,53 +41,41 @@
     db.push_back(db_base_sptr(new db_basic_tx(usrp, which)));
     break;
 
-  case(USRP_DBID_TV_RX):
-    db.push_back(db_base_sptr(new db_tv_rx(usrp, which, 43.75e6, 5.75e6)));
-    break;
-
-  case(USRP_DBID_TV_RX_REV_2):
-    db.push_back(db_base_sptr(new db_tv_rx(usrp, which, 44e6, 20e6)));
-    break;
-
-  case(USRP_DBID_TV_RX_REV_3):
-    db.push_back(db_base_sptr(new db_tv_rx(usrp, which, 44e6, 20e6)));
-    break;
-
-  case(USRP_DBID_FLEX_2400_TX): 
-    db.push_back(db_base_sptr(new db_flexrf_2400_tx(usrp, which)));
-    break;
+  case(USRP_DBID_TV_RX): db.push_back(db_base_sptr(new db_tv_rx(usrp, which, 
43.75e6, 5.75e6))); break;
+  case(USRP_DBID_TV_RX_REV_2): db.push_back(db_base_sptr(new db_tv_rx(usrp, 
which, 44e6, 20e6))); break;
+  case(USRP_DBID_TV_RX_REV_3): db.push_back(db_base_sptr(new db_tv_rx(usrp, 
which, 44e6, 20e6))); break;
+  case(USRP_DBID_FLEX_2400_TX): db.push_back(db_base_sptr(new 
db_flexrf_2400_tx(usrp, which))); break;
   case(USRP_DBID_FLEX_2400_RX): db.push_back(db_base_sptr(new 
db_flexrf_2400_rx(usrp, which))); break;
-    //case(USRP_DBID_FLEX_1200_TX): db.push_back(new db_flexrf_1200_tx(usrp, 
which)); break;
-    //case(USRP_DBID_FLEX_1200_RX): db .push_back(new db_flexrf_1200_rx(usrp, 
which)); break;
-    //case(USRP_DBID_FLEX_1800_TX): db.push_back(new db_flexrf_1800_tx(usrp, 
which)); break;
-    //case(USRP_DBID_FLEX_1800_RX): db.push_back(new db_flexrf_1800_rx(usrp, 
which)); break;
-    //case(USRP_DBID_FLEX_900_TX):  db.push_back(new db_flexrf_900_tx(usrp, 
which)); break;
-    //case(USRP_DBID_FLEX_900_RX):  db.push_back(new db_flexrf_900_rx(usrp, 
which)); break;
-    //case(USRP_DBID_FLEX_400_TX):  db.push_back(new db_flexrf_400_tx(usrp, 
which)); break;
-    //case(USRP_DBID_FLEX_400_RX):  db.push_back(new db_flexrf_400_rx(usrp, 
which)); break;
-  
+  case(USRP_DBID_FLEX_1200_TX): db.push_back(db_base_sptr(new 
db_flexrf_1200_tx(usrp, which))); break;
+  case(USRP_DBID_FLEX_1200_RX): db.push_back(db_base_sptr(new 
db_flexrf_1200_rx(usrp, which))); break;
+  case(USRP_DBID_FLEX_1800_TX): db.push_back(db_base_sptr(new 
db_flexrf_1800_tx(usrp, which))); break;
+  case(USRP_DBID_FLEX_1800_RX): db.push_back(db_base_sptr(new 
db_flexrf_1800_rx(usrp, which))); break;
+  case(USRP_DBID_FLEX_900_TX):  db.push_back(db_base_sptr(new 
db_flexrf_900_tx(usrp, which))); break;
+  case(USRP_DBID_FLEX_900_RX):  db.push_back(db_base_sptr(new 
db_flexrf_900_rx(usrp, which))); break;
+  case(USRP_DBID_FLEX_400_TX):  db.push_back(db_base_sptr(new 
db_flexrf_400_tx(usrp, which))); break;
+  case(USRP_DBID_FLEX_400_RX):  db.push_back(db_base_sptr(new 
db_flexrf_400_rx(usrp, which))); break;
+    /*
   case(USRP_DBID_FLEX_2400_TX_MIMO_A): db.push_back(db_base_sptr(new 
db_flexrf_2400_tx_mimo_a(usrp, which))); break;
   case(USRP_DBID_FLEX_2400_RX_MIMO_A): db.push_back(db_base_sptr(new 
db_flexrf_2400_rx_mimo_a(usrp, which))); break;
-    //case(USRP_DBID_FLEX_1800_TX_MIMO_A): db.push_back(new 
db_flexrf_1800_tx_mimo_a(usrp, which)); break;
-    //case(USRP_DBID_FLEX_1800_RX_MIMO_A): db.push_back(new 
db_flexrf_1800_rx_mimo_a(usrp, which)); break;
-    //case(USRP_DBID_FLEX_1200_TX_MIMO_A): db.push_back(new 
db_flexrf_1200_tx_mimo_a(usrp, which)); break;
-    //case(USRP_DBID_FLEX_1200_RX_MIMO_A): db.push_back(new 
db_flexrf_1200_rx_mimo_a(usrp, which)); break;
-    //case(USRP_DBID_FLEX_900_TX_MIMO_A):  db.push_back(new 
db_flexrf_900_tx_mimo_a(usrp, which)); break;
-    //case(USRP_DBID_FLEX_900_RX_MIMO_A):  db.push_back(new 
db_flexrf_900_rx_mimo_a(usrp, which)); break;
-    //case(USRP_DBID_FLEX_400_TX_MIMO_A):  db.push_back(new 
db_flexrf_400_tx_mimo_a(usrp, which)); break;
-    //case(USRP_DBID_FLEX_400_RX_MIMO_A):  db.push_back(new 
db_flexrf_400_rx_mimo_a(usrp, which)); break;
-    //case(USRP_DBID_FLEX_2400_TX_MIMO_B): db.push_back(new 
db_flexrf_2400_tx_mimo_b(usrp, which)); break;
-    //case(USRP_DBID_FLEX_2400_RX_MIMO_B): db.push_back(new 
db_flexrf_2400_rx_mimo_b(usrp, which)); break;
-    //case(USRP_DBID_FLEX_1800_TX_MIMO_B): db.push_back(new 
db_flexrf_1800_tx_mimo_b(usrp, which)); break;
-    //case(USRP_DBID_FLEX_1800_RX_MIMO_B): db.push_back(new 
db_flexrf_1800_rx_mimo_b(usrp, which)); break;
-    //case(USRP_DBID_FLEX_1200_TX_MIMO_B): db.push_back(new 
db_flexrf_1200_tx_mimo_b(usrp, which)); break;
-    //case(USRP_DBID_FLEX_1200_RX_MIMO_B): db.push_back(new 
db_flexrf_1200_rx_mimo_b(usrp, which)); break;
-    //case(USRP_DBID_FLEX_900_TX_MIMO_B):  db.push_back(new 
db_flexrf_900_tx_mimo_b(usrp, which)); break;
-    //case(USRP_DBID_FLEX_900_RX_MIMO_B):  db.push_back(new 
db_flexrf_900_rx_mimo_b(usrp, which)); break;
-    //case(USRP_DBID_FLEX_400_TX_MIMO_B):  db.push_back(new 
db_flexrf_400_tx_mimo_b(usrp, which)); break;
-    //case(USRP_DBID_FLEX_400_RX_MIMO_B):  db.push_back(new 
db_flexrf_400_rx_mimo_b(usrp, which)); break;
-
-
+  case(USRP_DBID_FLEX_1800_TX_MIMO_A): db.push_back(db_base_sptr(new 
db_flexrf_1800_tx_mimo_a(usrp, which))); break;
+  case(USRP_DBID_FLEX_1800_RX_MIMO_A): db.push_back(db_base_sptr(new 
db_flexrf_1800_rx_mimo_a(usrp, which))); break;
+  case(USRP_DBID_FLEX_1200_TX_MIMO_A): db.push_back(db_base_sptr(new 
db_flexrf_1200_tx_mimo_a(usrp, which))); break;
+  case(USRP_DBID_FLEX_1200_RX_MIMO_A): db.push_back(db_base_sptr(new 
db_flexrf_1200_rx_mimo_a(usrp, which))); break;
+  case(USRP_DBID_FLEX_900_TX_MIMO_A):  db.push_back(db_base_sptr(new 
db_flexrf_900_tx_mimo_a(usrp, which))); break;
+  case(USRP_DBID_FLEX_900_RX_MIMO_A):  db.push_back(db_base_sptr(new 
db_flexrf_900_rx_mimo_a(usrp, which))); break;
+  case(USRP_DBID_FLEX_400_TX_MIMO_A):  db.push_back(db_base_sptr(new 
db_flexrf_400_tx_mimo_a(usrp, which))); break;
+  case(USRP_DBID_FLEX_400_RX_MIMO_A):  db.push_back(db_base_sptr(new 
db_flexrf_400_rx_mimo_a(usrp, which))); break;
+  case(USRP_DBID_FLEX_2400_TX_MIMO_B): db.push_back(db_base_sptr(new 
db_flexrf_2400_tx_mimo_b(usrp, which))); break;
+  case(USRP_DBID_FLEX_2400_RX_MIMO_B): db.push_back(db_base_sptr(new 
db_flexrf_2400_rx_mimo_b(usrp, which))); break;
+  case(USRP_DBID_FLEX_1800_TX_MIMO_B): db.push_back(db_base_sptr(new 
db_flexrf_1800_tx_mimo_b(usrp, which))); break;
+  case(USRP_DBID_FLEX_1800_RX_MIMO_B): db.push_back(db_base_sptr(new 
db_flexrf_1800_rx_mimo_b(usrp, which))); break;
+  case(USRP_DBID_FLEX_1200_TX_MIMO_B): db.push_back(db_base_sptr(new 
db_flexrf_1200_tx_mimo_b(usrp, which))); break;
+  case(USRP_DBID_FLEX_1200_RX_MIMO_B): db.push_back(db_base_sptr(new 
db_flexrf_1200_rx_mimo_b(usrp, which))); break;
+  case(USRP_DBID_FLEX_900_TX_MIMO_B):  db.push_back(db_base_sptr(new 
db_flexrf_900_tx_mimo_b(usrp, which))); break;
+  case(USRP_DBID_FLEX_900_RX_MIMO_B):  db.push_back(db_base_sptr(new 
db_flexrf_900_rx_mimo_b(usrp, which))); break;
+  case(USRP_DBID_FLEX_400_TX_MIMO_B):  db.push_back(db_base_sptr(new 
db_flexrf_400_tx_mimo_b(usrp, which))); break;
+  case(USRP_DBID_FLEX_400_RX_MIMO_B):  db.push_back(db_base_sptr(new 
db_flexrf_400_rx_mimo_b(usrp, which))); break;
+    */    
   case(-1):
     try { 
       // FIXME





reply via email to

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