[Top][All Lists]
[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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Commit-gnuradio] r9256 - gnuradio/branches/developers/trondeau/dbs/usrp/host/lib/legacy,
trondeau <=