[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Discuss-gnuradio] USRP2 write_gpio() command
From: |
Eric Blossom |
Subject: |
Re: [Discuss-gnuradio] USRP2 write_gpio() command |
Date: |
Mon, 19 Jul 2010 13:30:26 -0700 |
User-agent: |
Mutt/1.5.20 (2009-08-17) |
On Mon, Jul 19, 2010 at 12:18:06PM -0600, Ryan L. Buffington wrote:
> I'm trying to use one of the GPIO pins on my USRP 2 / WBX daughtercard to
> control an external antenna selector box. I've created a simple GUI with a
> USRP2 source feeding into a graphical FFT sink, and I'm able to change the
> state of io_tx_14 using the following code:
>
> #this code is called when the program is started
> self.gr_null_sink_0 = gr.null_sink(gr.sizeof_gr_complex*1)
> self.howto_rx_gpio_0 = usrp2.source_32fc()
> self.howto_rx_gpio_0.set_decim(decimation)
> self.howto_rx_gpio_0.set_center_freq(frequency)
> self.howto_rx_gpio_0.set_gain(daughtercard_gain)
> self.howto_rx_gpio_0.set_gpio_ddr(0xffff, 0b0100000000000000) #set the DDR
> self.howto_rx_gpio_0.set_gpio_sels(".s..............") #set the output
> selection register
>
> ....
>
> #this code is called when the checkbox on the GUI is changed
> def set_check(self, check):
> self.check = check
> self._check_check_box.set_value(self.check)
> self.howto_rx_gpio_0.write_gpio(self.check * 2**14, 0xffff)
The above line sets the value of 16-bits, most likely screwing up the
daughterboard configuration.
You most likely want something like:
self.howto_rx_gpio_0.write_gpio(self.check * 2**14, 1 << 14)
Note, I haven't looked to see if bit 14 is a valid user bit on the
daughterboard you're using. You should :-)
> The problem is that whenever I change the value of the checkbox, the
> FFT sink freezes and stops displaying new values, or it begins
> displaying garbage at like -300 dB. The pin continues to change from
> high to low just fine even after the FFT sink stops updating. I've
> tried restarting the source using the stop() and start() commands,
> but this does not help. The problem is not unique to the FFT sink -
> applying the same code to a working NBFM receiver causes the audio
> sink to start playing popping sounds. I considered using gr-gpio,
> but this requires custom firmware, and I'm already running custom
> firmware to support my WBX daughtercard. Does anyone have any ideas?
> -- Ryan
Eric