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 version 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.
23 %include "gnuradio.i" // the common stuff
29 %include <usrp_subdev_spec.h>
31 %include <fpga_regs_common.h>
32 %include <fpga_regs_standard.h>
33 %include "usrp_standard.i"
34 %include "usrp_base.i"
35 %include "usrp_source_base.i"
36 %include "usrp_source_c.i"
37 %include "usrp_source_s.i"
38 %include "usrp_sink_base.i"
39 %include "usrp_sink_c.i"
40 %include "usrp_sink_s.i"
42 //---Allow a more Pythonic interface
45 # Allow subdev_spec to be tuple
46 def __selected_subdev(self, subdev_spec):
47 ss = usrp_subdev_spec(subdev_spec[0], subdev_spec[1])
48 return self._real_selected_subdev(ss)
50 # Allow subdev_spec to be tuple
51 def __determine_tx_mux_value(self, subdev_spec):
52 ss = usrp_subdev_spec(subdev_spec[0], subdev_spec[1])
53 return self._real_determine_tx_mux_value(ss)
55 # Allow subdev_spec to be tuple
56 def __determine_rx_mux_value(self, subdev_spec):
57 ss = usrp_subdev_spec(subdev_spec[0], subdev_spec[1])
58 return self._real_determine_rx_mux_value(ss)
60 # Allow subdev_spec to be tuple
61 def __pick_subdev(self, candidates=[]):
62 ss = self._real_pick_subdev(candidates)
63 return (ss.side, ss.subdev)
65 # Allow subdev_spec to be tuple
66 def __pick_tx_subdevice(self):
67 ss = self._real_pick_tx_subdevice()
68 return (ss.side, ss.subdev)
70 # Allow subdev_spec to be tuple
71 def __pick_rx_subdevice(self):
72 ss = self._real_pick_rx_subdevice()
73 return (ss.side, ss.subdev)
75 # Make return tune_result or None on failure
76 def __tune(self, chan, db, target_freq):
77 tr = usrp_tune_result()
78 r = self._real_tune(chan, db, target_freq, tr)
84 # Allow to be called as a free function
85 def tune(u, chan, subdev, target_freq):
86 return u.tune(chan, subdev, target_freq)
88 # Allow to be called as free function
89 def determine_tx_mux_value(u, subdev_spec):
90 return u.determine_tx_mux_value(subdev_spec)
92 # Allow to be called as free function
93 def determine_rx_mux_value(u, subdev_spec):
94 return u.determine_rx_mux_value(subdev_spec)
96 # Allow to be called as free function
97 def selected_subdev(u, subdev_spec):
98 return u.selected_subdev(subdev_spec)
100 # Allow to be called as free function
101 def pick_subdev(u, candidates=[]):
102 return u.pick_subdev(candidates);
104 # Allow to be called as free function
105 def pick_tx_subdevice(u):
106 return u.pick_tx_subdevice();
108 # Allow to be called as free function
109 def pick_rx_subdevice(u):
110 return u.pick_rx_subdevice();
112 # Jam into Python objects
113 usrp_sink_c_sptr.determine_tx_mux_value = __determine_tx_mux_value
114 usrp_sink_s_sptr.determine_tx_mux_value = __determine_tx_mux_value
116 usrp_source_c_sptr.determine_rx_mux_value = __determine_rx_mux_value
117 usrp_source_s_sptr.determine_rx_mux_value = __determine_rx_mux_value
119 usrp_sink_c_sptr.selected_subdev = __selected_subdev
120 usrp_sink_s_sptr.selected_subdev = __selected_subdev
121 usrp_source_c_sptr.selected_subdev = __selected_subdev
122 usrp_source_s_sptr.selected_subdev = __selected_subdev
124 usrp_sink_c_sptr.tune = __tune
125 usrp_sink_s_sptr.tune = __tune
126 usrp_source_c_sptr.tune = __tune
127 usrp_source_s_sptr.tune = __tune
129 usrp_sink_c_sptr.pick_subdev = __pick_subdev
130 usrp_sink_s_sptr.pick_subdev = __pick_subdev
131 usrp_source_c_sptr.pick_subdev = __pick_subdev
132 usrp_source_s_sptr.pick_subdev = __pick_subdev
134 usrp_sink_c_sptr.pick_tx_subdevice = __pick_tx_subdevice
135 usrp_sink_s_sptr.pick_tx_subdevice = __pick_tx_subdevice
136 usrp_source_c_sptr.pick_rx_subdevice = __pick_rx_subdevice
137 usrp_source_s_sptr.pick_rx_subdevice = __pick_rx_subdevice