def __init__(self, options, args, queue):
        gr.top_block.__init__(self)

        self.options = options
        self.args = args

        self.u = usrp.source_c(which=0, decim_rate=self.options.decim)
        if self.options.rx_subdev_spec is None:
            self.options.rx_subdev_spec = pick_subdevice(self.u)

        self.u.set_mux(usrp.determine_rx_mux_value(self.u, self.options.rx_subdev_spec))
        self.subdev = usrp.selected_subdev(self.u, self.options.rx_subdev_spec)

        if options.gain is None:
            # Select a gain in the middle of the range
            g = self.subdev.gain_range()
            options.gain = float(g[0]+g[1])/2

        self.subdev.set_gain(options.gain)

        r = self.u.tune(0, self.subdev, options.freq)
        if_rate = self.u.adc_freq() / self.u.decim_rate()
        
        self.mode_s = ppm_demod(if_rate, options.thresh)

        pass_all = 0
        if options.output_all:
            pass_all = 1

        self.format = air.ms_fmt_log(pass_all, queue)
        self.connect(self.u, self.mode_s, self.format)
    def __init__(self, options, args, queue):
        gr.top_block.__init__(self)

        self.options = options
        self.args = args

        samp_rate = 10e6

        self.u = uhd.usrp_source(
            device_addr="",
            io_type=uhd.io_type.COMPLEX_FLOAT32,
            num_channels=1,
            )
        self.u.set_samp_rate(samp_rate)
        self.u.set_antenna("RX2", 0)

        #self.u = usrp.source_c(which=0, decim_rate=self.options.decim)
        #if self.options.rx_subdev_spec is None:
        #    self.options.rx_subdev_spec = pick_subdevice(self.u)

        #self.subdev = usrp.selected_subdev(self.u, self.options.rx_subdev_spec)

        if options.gain is None:
            # Select a gain in the middle of the range
            g = self.u.get_gain_range()
            options.gain = float(g.start()+g.stop())/2

        self.u.set_gain(options.gain)
        print "Gain set to: ", self.u.get_gain()
        self.u.set_bandwidth(100000)
        self.u.set_center_freq(options.freq,0)
        #if_rate = self.u.adc_freq() / self.u.decim_rate()
        if_rate = self.u.get_samp_rate()

        self.mode_s = ppm_demod(if_rate, options.thresh)

        pass_all = 0
        if options.output_all:
            pass_all = 1

        self.format = air.ms_fmt_log(pass_all, queue)
        self.connect(self.u, self.mode_s, self.format)