Merge commit 'v3.3.0' into upstream
[debian/gnuradio] / gnuradio-examples / python / apps / hf_radio / input.py
1 # Basic USRP setup and control.
2 # It's only ever been tried with a basic rx daughter card.
3 #
4 # Imagine that the gnuradio boilerplate is here.
5 #
6 # M. Revnell 2005-Dec
7  
8 from gnuradio import gr, gru, optfir
9 from gnuradio import usrp
10 from usrpm import usrp_dbid
11 import math
12
13 # Put special knowlege of usrp here.
14
15 class input:
16     def __init__( self, decim ):
17         self.freq = -2.5e6
18         self.src = usrp.source_c( )
19         self.subdev = usrp.pick_subdev( self.src,
20                                         (usrp_dbid.BASIC_RX,
21                                          usrp_dbid.TV_RX,
22                                          usrp_dbid.TV_RX_REV_2,
23                                          usrp_dbid.TV_RX_REV_3,
24                                          usrp_dbid.TV_RX_MIMO,
25                                          usrp_dbid.TV_RX_REV_2_MIMO,
26                                          usrp_dbid.TV_RX_REV_3_MIMO))
27
28         print self.subdev
29
30         self.subdevice = usrp.selected_subdev( self.src,
31                                                self.subdev )
32
33         self.mux = usrp.determine_rx_mux_value( self.src,
34                                                 self.subdev )
35         self.decim = decim
36
37         self.adc_rate = self.src.adc_rate()
38         self.usrp_rate = self.adc_rate / self.decim
39         self.src.set_decim_rate( self.decim )
40         self.src.set_mux( self.mux )
41         usrp.tune( self.src, 0, self.subdevice, self.freq )
42
43     def set_freq( self, x ):
44         r = usrp.tune( self.src, 0, self.subdevice, -x )
45         if r:
46             self.freq = -x