3 // Copyright 2008,2009 Free Software Foundation, Inc.
5 // This file is part of GNU Radio
7 // GNU Radio is free software; you can redistribute it and/or modify
8 // it under the terms of the GNU General Public License as published by
9 // the Free Software Foundation; either asversion 3, or (at your option)
12 // GNU Radio is distributed in the hope that it will be useful,
13 // but WITHOUT ANY WARRANTY; without even the implied warranty of
14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 // GNU General Public License for more details.
17 // You should have received a copy of the GNU General Public License
18 // along with GNU Radio; see the file COPYING. If not, write to
19 // the Free Software Foundation, Inc., 51 Franklin Street,
20 // Boston, MA 02110-1301, USA.
26 #include <boost/shared_ptr.hpp>
29 typedef boost::shared_ptr<xcvr2450> xcvr2450_sptr;
32 /******************************************************************************/
35 class db_xcvr2450_base: public db_base
38 * Abstract base class for all xcvr2450 boards.
40 * Derive board specific subclasses from db_xcvr2450_base_{tx,rx}
43 db_xcvr2450_base(usrp_basic_sptr usrp, int which);
45 struct freq_result_t set_freq(double target_freq);
52 void shutdown_common();
56 /******************************************************************************/
59 class db_xcvr2450_tx : public db_xcvr2450_base
65 db_xcvr2450_tx(usrp_basic_sptr usrp, int which);
70 float gain_db_per_step();
71 bool set_gain(float gain);
72 bool i_and_q_swapped();
75 class db_xcvr2450_rx : public db_xcvr2450_base
81 db_xcvr2450_rx(usrp_basic_sptr usrp, int which);
86 float gain_db_per_step();
87 bool set_gain(float gain);