Murray Thomson | 3 Sep 16:22 2015
Picon

Throttle block form wav files

Hi,

I'm using a flow graph with no GUI to demodulate a signal. I have a selector block that allows me to select the source of the signal between the audio card and a wav file. I can change the source using an xmlrpc server/client.

If I don't use a throttle block with the wav file, the flow graph takes all the CPU and the server/client is very slow.
If I put a throttle, I get audio underruns when using the audio card. Same problem for a constant source.

Can anyone please recommend a better way to do this?

Cheers,
Murray
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio <at> gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Henry Barton | 3 Sep 15:46 2015

ATSC blocks

I've got more info on my problem. Some of the blocks, including ATSC Field Sync Demux, are missing. Could they have been renamed or combined into other blocks? I don't understand why blocks would be missing from the latest stable Live DVD.

Any light shed on this would be greatly appreciated.
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio <at> gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Eric Statzer | 3 Sep 13:17 2015
Picon

ctrlport_probe2_x with gr-ctrlport-monitor in the absence of samples

I'm attempting to use ctrlport_probe2_x and gr-ctrlport-monitor to probe points in a bursty flowgraph.  When I place a ctrlport_probe2_x probe somewhere in the part of my flowgraph that process samples only upon reception of a burst, gr-ctrlport-monitor doesn't fully initialize (populate its list of controlport "knobs") until after all ctrlport_probe2_x blocks have performed at least one call to work().  Furthermore, the gr-ctrlport-monitor GUI is only responsive to user input if all ctrlport_probe2_x blocks in the flowgraph are regularly making calls to work() (i.e. gr-ctrlport-monitor query latency becomes equal to the time that elapses between processing individual bursts), so if for some reason bursts ever stop trickling to one of the probes, gr-ctrlport-monitor becomes unresponsive to user input.

The gr-ctrlport-monitor behavior can be recreated with any simple flowgraph that contains a ctrlport_probe2_x that will never (or infrequently) make a call to work, such as: random_pdu -> pdu_to_tagged_stream -> ctrlport_probe2_b, where the "generate" port of the random_pdu block is left unconnected.  Attempting to connect gr-ctrlport-monitor to this flowgraph will cause gr-ctrlport-monitor to be unresponsive (have to kill it) almost immediately after the GUI is displayed.

I wasn't sure if this is a limitation of ctrlport_probe2_x or gr-ctrlport-monitor, but I wanted to see if t was was possible to make the combination play nicely together when applied to a bursty flowgraph.

Relevant system info:
  GNU Radio 3.7.8
  Thrift 0.9.2
  Ubuntu 15.04
  
Thanks in advance,
Eric


_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio <at> gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Bala V. | 3 Sep 12:57 2015

How to add a new block

ubuntu <at> ubuntu:~/gr-howto$ gr_modtool makexml square_ff
GNU Radio module name identified: howto
Warning: This is an experimental feature. Don't expect any magic.
Searching for matching files in lib/:
Making GRC bindings for lib/square_ff_impl.cc...
Traceback (most recent call last):
  File "/usr/local/bin/gr_modtool", line 47, in <module>
    main()
  File "/usr/local/bin/gr_modtool", line 39, in main
    modtool.run()
  File
"/usr/local/lib/python2.7/dist-packages/gnuradio/modtool/modtool_makexml.py",
line 66, in run
    (params, iosig, blockname) = self._parse_cc_h(f)
  File
"/usr/local/lib/python2.7/dist-packages/gnuradio/modtool/modtool_makexml.py",
line 165, in _parse_cc_h
    return (parser.read_params(), parser.read_io_signature(), blockname)
  File
"/usr/local/lib/python2.7/dist-packages/gnuradio/modtool/parser_cc_block.py",
line 81, in read_io_signature
    iosig['in'] =
_figure_out_iotype_and_vlen(iosig_match.group('incall'),
AttributeError: 'NoneType' object has no attribute 'group'

--

-- 
Posted via http://www.ruby-forum.com/.
gnuradio | 3 Sep 11:25 2015
Picon

Display Problem with QT GUI Vector Sink

Dear all,

I built an angle-of-arrival system using four Ettus USRP2. I'm facing a 
problem when trying to display a vector containing the calculated 
MUSIC-Spectrum using a “QT GUI Vector Sink”. The vector sink won't 
display any data for the first two minutes, and then it is starting to 
show very old values. When I use the block “Vector to Stream” and a 
simple “QT GUI Time Sink” instead, the values are displayed immediately 
without delay.

The block “music_cf” feeding the vector sink is a sync_decimator, 
generating one vector of 181 elements for every 1000 input samples. I've 
provided a shortened version of my c++ code in the attachment, without 
the actual mathematics.

What could be the reason for this huge delay when using the “QT GUI 
Vector Sink”? Is it a buffering problem?

Best regards,
Simon

Block Diagram:
http://fs1.directupload.net/images/150903/7cnqbzup.png
Attachment (music_cf_impl.cc): text/x-c, 2581 bytes
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio <at> gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Bala V. | 3 Sep 08:06 2015

How to add a new block

I am getting lots of error in basic square block itself. so please give
me a step by step procedure to add a new block.

--

-- 
Posted via http://www.ruby-forum.com/.
Crozzoli Maurizio | 2 Sep 23:46 2015
Picon

On the "right" approach for developing applications to be run on an E310

Hi!

 

We just received our brand new E310 and we are wondering what is the “right” approach for developing applications to be run on it.

 

In fact we are a bit used to working with a B220 but that operating condition was a different: C(++) code and/or GNURadio (with the its graphical Companion) was developed on the PC and the application was run on the B220. Now the PC is in the E310 itself: so the question in the subject comes natural (for us).

 

What seems clear is that the code has to be cross-compiled for that on-board ARM processor (it is not clear where to download the corresponding SDK from the Ettus site but that is a different issue). But then it is not clear how to deal with GR (especially if you want to use GRC!) and how to deal with the output. For instance, suppose you just want to start with the FM receiver which is a sort of “Hello world!” of SDR, at least for us.

 

Any suggestion is more than welcome. Maybe a helpful discussion might come out from our doubts which is useful also for others.

 

Anyway TIA!

 

BR,

Maurizio.

<!-- span.GramE {mso-style-name:""; mso-gram-e:yes;} -->
Questo messaggio e i suoi allegati sono indirizzati esclusivamente alle persone indicate. La diffusione, copia o qualsiasi altra azione derivante dalla conoscenza di queste informazioni sono rigorosamente vietate. Qualora abbiate ricevuto questo documento per errore siete cortesemente pregati di darne immediata comunicazione al mittente e di provvedere alla sua distruzione, Grazie.

This e-mail and any attachments is confidential and may contain privileged information intended for the addressee(s) only. Dissemination, copying, printing or use by anybody else is unauthorised. If you are not the intended recipient, please delete this message and any attachments and advise the sender by return e-mail, Thanks.

Rispetta l'ambiente. Non stampare questa mail se non è necessario.

_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio <at> gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Daniel Marlow | 2 Sep 21:51 2015
Picon

Meta file time stamp

Dear All,

  We are experiencing unexpected behavior with the time stamps in the meta file headers.   It 
appears that in cases where the flowgraph experiences data drops, the timestamp is properly
updated.   However, in cases, where the flowgraph hits the maximum segment size (4 MB in our case), 
the calculation of timestamp is done in such a way that appears to neglect a decimation factor 
in one of our  blocks (keep_1_in_n).     Details can be found below.   Any suggestions as to what's 
going on or what to do about it would be most appreciated.

Sincerely,
Dan Marlow

Details: 

   OS: Ubuntu 15.04 (GNU/Linux 3.19.0-26-generic x86_64)

   H/W:  Ettus B210 with GPSDO,  
             Intel(R) Core(TM) i5-4430 CPU  <at>  3.00GHz 8GB memory USB3

gnuradio:  3.7.8

Flowgraph:   This is provided to give an idea of what we are doing.  It is close to what we 
                     are using, but not exact, since we edited the output generated by GRC.

Attachment (B210_2ch_filewriter.grc): application/octet-stream, 30 KiB

The actual top_block we are running is attached below.

Attachment (top_block_ex.py): text/x-python-script, 8 KiB

Results:  gr_read_file_metadata test09.dat > headers.txt

HEADER 0
Version Number: 0
Sample Rate: 2500000.00 sps
Seconds: 1441219168.143140
Item size: 4
Data Type: float (5)
Complex? False
Header Length: 420 bytes
Extra Length:  271
Extra Header?  True
Size of Data: 4000000 bytes
              1000000 items

Extra Header:
rx_freq: 1.42e+09
FFT_size: 32
freq1: 1420000000
freq2: 1420000000
N_average: 512
gain: 60
BW: 2.5e+07
rx_info: {'noise': 'off', 'chAPower': 'on', 'yigHeater': 'off', 'chBPower': 'on', 'chBFilter':
'YIG', 'chAFilter': 'YIG', 'yigCurrent': '0.0'}

HEADER 1
Version Number: 0
Sample Rate: 2500000.00 sps
Seconds: 1441219168.543140
Item size: 4
Data Type: float (5)
Complex? False
Header Length: 420 bytes
Extra Length:  271
Extra Header?  True
Size of Data: 4000000 bytes
              1000000 items

Extra Header:
rx_freq: 1.42e+09
FFT_size: 32
freq1: 1420000000
freq2: 1420000000
N_average: 512
gain: 60
BW: 2.5e+07
rx_info: {'noise': 'off', 'chAPower': 'on', 'yigHeater': 'off', 'chBPower': 'on', 'chBFilter':
'YIG', 'chAFilter': 'YIG', 'yigCurrent': '0.0'}

HEADER 2
Version Number: 0
Sample Rate: 2500000.00 sps
Seconds: 1441219168.943140
Item size: 4
Data Type: float (5)
Complex? False
Header Length: 420 bytes
Extra Length:  271
Extra Header?  True
Size of Data: 4000000 bytes
              1000000 items

Extra Header:
rx_freq: 1.42e+09
FFT_size: 32
freq1: 1420000000
freq2: 1420000000
N_average: 512
gain: 60
BW: 2.5e+07
rx_info: {'noise': 'off', 'chAPower': 'on', 'yigHeater': 'off', 'chBPower': 'on', 'chBFilter':
'YIG', 'chAFilter': 'YIG', 'yigCurrent': '0.0'}

HEADER 3
Version Number: 0
Sample Rate: 2500000.00 sps
Seconds: 1441219169.343140
Item size: 4
Data Type: float (5)
Complex? False
Header Length: 420 bytes
Extra Length:  271
Extra Header?  True
Size of Data: 4000000 bytes
              1000000 items

Extra Header:
rx_freq: 1.42e+09
FFT_size: 32
freq1: 1420000000
freq2: 1420000000
N_average: 512
gain: 60
BW: 2.5e+07
rx_info: {'noise': 'off', 'chAPower': 'on', 'yigHeater': 'off', 'chBPower': 'on', 'chBFilter':
'YIG', 'chAFilter': 'YIG', 'yigCurrent': '0.0'}

HEADER 4
Version Number: 0
Sample Rate: 2500000.00 sps
Seconds: 1441219169.743140
Item size: 4
Data Type: float (5)
Complex? False
Header Length: 420 bytes
Extra Length:  271
Extra Header?  True
Size of Data: 4000000 bytes
              1000000 items

Extra Header:
rx_freq: 1.42e+09
FFT_size: 32
freq1: 1420000000
freq2: 1420000000
N_average: 512
gain: 60
BW: 2.5e+07
rx_info: {'noise': 'off', 'chAPower': 'on', 'yigHeater': 'off', 'chBPower': 'on', 'chBFilter':
'YIG', 'chAFilter': 'YIG', 'yigCurrent': '0.0'}

HEADER 5
Version Number: 0
Sample Rate: 2500000.00 sps
Seconds: 1441219170.143140
Item size: 4
Data Type: float (5)
Complex? False
Header Length: 420 bytes
Extra Length:  271
Extra Header?  True
Size of Data: 4000000 bytes
              1000000 items

Extra Header:
rx_freq: 1.42e+09
FFT_size: 32
freq1: 1420000000
freq2: 1420000000
N_average: 512
gain: 60
BW: 2.5e+07
rx_info: {'noise': 'off', 'chAPower': 'on', 'yigHeater': 'off', 'chBPower': 'on', 'chBFilter':
'YIG', 'chAFilter': 'YIG', 'yigCurrent': '0.0'}

HEADER 6
Version Number: 0
Sample Rate: 2500000.00 sps
Seconds: 1441219170.543140
Item size: 4
Data Type: float (5)
Complex? False
Header Length: 420 bytes
Extra Length:  271
Extra Header?  True
Size of Data: 4000000 bytes
              1000000 items

Extra Header:
rx_freq: 1.42e+09
FFT_size: 32
freq1: 1420000000
freq2: 1420000000
N_average: 512
gain: 60
BW: 2.5e+07
rx_info: {'noise': 'off', 'chAPower': 'on', 'yigHeater': 'off', 'chBPower': 'on', 'chBFilter':
'YIG', 'chAFilter': 'YIG', 'yigCurrent': '0.0'}

HEADER 7
Version Number: 0
Sample Rate: 2500000.00 sps
Seconds: 1441219170.943140
Item size: 4
Data Type: float (5)
Complex? False
Header Length: 420 bytes
Extra Length:  271
Extra Header?  True
Size of Data: 3354880 bytes
              838720 items

Extra Header:
rx_freq: 1.42e+09
FFT_size: 32
freq1: 1420000000
freq2: 1420000000
N_average: 512
gain: 60
BW: 2.5e+07
rx_info: {'noise': 'off', 'chAPower': 'on', 'yigHeater': 'off', 'chBPower': 'on', 'chBFilter':
'YIG', 'chAFilter': 'YIG', 'yigCurrent': '0.0'}


_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio <at> gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Przemek Lewandowski | 2 Sep 16:53 2015
Picon

Changing GUI structure on the fly

Hello 

I have a question: I have to program one application, that will switch between about 20 modulations.
With 20 modulations, program will have a lot of parameters to change, so GUI needs to change during runtime. 

Is it possible to do somethink like that ??
Are there any design patterns for problem like this ?

Many thanks
Przemek Lewandowski
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio <at> gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Leonard Foxes | 2 Sep 16:41 2015
Picon

USRP timing offset

Hi everyone!


I’m new to Gnuradio e USRP. I use a USRP N210 with WBX daughterboards and loop back cable to connect TX e RX. I have tested USRP with a simple flowgraph (sine , usrp_sink , usrp_source) and I have observed that the output signal from usrp_source block  is time shifted. I mean, the usefull output signal starts after 0.0105 seconds. How can avoid this? I have tried to use “issued_stream_cmd”,  setting time_spec=0.0105 s but nothing has changed.


I want to use this USRP in a more complex project and I need to remove this initial time-shift.


I attach a plot of input and output signal and my flowgraph.


Thanks in advance for help,


Leo 

#!/usr/bin/env python2
##################################################
# GNU Radio Python Flow Graph
# Title: Sine Test
# Generated: Tue Jul 28 10:02:32 2015
##################################################
from gnuradio import blocks
from PyQt4 import QtGui
from gnuradio import analog
from gnuradio import eng_notation
from gnuradio import gr
from gnuradio import qtgui
from gnuradio import uhd
from gnuradio.eng_option import eng_option
from gnuradio.filter import firdes
from optparse import OptionParser
import sip
import sys
import time

class gnuradioGUI(gr.top_block):

    def __init__(self):
       	gr.top_block.__init__(self)

	self.qapp=QtGui.QApplication(sys.argv)
        ##################################################
        # Variables
        ##################################################
        self.samp_rate = samp_rate 				= 1e6
	self.samp_rate_usrp = samp_rate_usrp			= 1e6
	self.USRP_address = USRP_address 			= "addr=192.168.10.2"
	self.tun_freq = tun_freq				= 1.45e9
	self.tun_gain = tun_gain				= 19
	self.rx_freq_off = rx_freq_off 				= 0
	
	self.ampl_sine = ampl_sine				= 1
        ##################################################
        # UHD
        ##################################################
 	self.uhd_usrp_TX = uhd.usrp_sink(
        	device_addr=USRP_address,
        	stream_args=uhd.stream_args(
        		cpu_format="fc32",
        		channels=range(1),
        	),
        )
	self.uhd_usrp_TX.set_samp_rate(samp_rate_usrp)
        self.uhd_usrp_TX.set_center_freq(tun_freq, 0)
        self.uhd_usrp_TX.set_gain(tun_gain, 0)
	
	self.uhd_usrp_RX = uhd.usrp_source(
        	device_addr=USRP_address,
        	stream_args=uhd.stream_args(
        		cpu_format="fc32",
        		channels=range(1),
        	),
        )
        self.uhd_usrp_RX.set_samp_rate(samp_rate_usrp)
        self.uhd_usrp_RX.set_center_freq(tun_freq + rx_freq_off, 0)
        self.uhd_usrp_RX.set_gain(tun_gain, 0)
	
	self.stream_cmd=uhd.stream_cmd_t(uhd.stream_cmd_t.STREAM_MODE_START_CONTINUOUS)
	#self.stream_cmd.stream_mode=STREAM_MODE_START_CONTINUOUS
	self.stream_cmd.num_samps=0 
	self.stream_cmd.time_spec= uhd.time_spec_t(0.0105)
	self.uhd_usrp_RX.issue_stream_cmd(self.stream_cmd)
	
	##################################################
        # SINE
        ##################################################
 	self.sine = analog.sig_source_c(samp_rate, analog.GR_SIN_WAVE, 1e3, ampl_sine, 0)

	
	##################################################
        # BLOCKS
        ##################################################

        self.temp_after_usrp = qtgui.time_sink_c(
        	1024, #size
        	samp_rate, #samp_rate
        	"temp uscita USRP e sine", #name
        	2 #number of inputs
        )
        self.temp_after_usrp.set_update_time(0.10)
        self.temp_after_usrp.set_y_axis(-1, 1)

        self.temp_after_usrp.set_y_label("Amplitude", "")

        self.temp_after_usrp.enable_tags(-1, True)
        self.temp_after_usrp.set_trigger_mode(qtgui.TRIG_MODE_FREE, qtgui.TRIG_SLOPE_POS, 0.0, 0, 0, "")
        self.temp_after_usrp.enable_autoscale(False)
        self.temp_after_usrp.enable_grid(False)
        self.temp_after_usrp.enable_control_panel(True)

        if not True:
          self.temp_after_usrp.disable_legend()

        labels = ["", "", "", "", "",
                  "", "", "", "", ""]
        widths = [1, 1, 1, 1, 1,
                  1, 1, 1, 1, 1]
        colors = ["blue", "red", "green", "black", "cyan",
                  "magenta", "yellow", "dark red", "dark green", "blue"]
        styles = [1, 1, 1, 1, 1,
                  1, 1, 1, 1, 1]
        markers = [-1, -1, -1, -1, -1,
                   -1, -1, -1, -1, -1]
        alphas = [1.0, 1.0, 1.0, 1.0, 1.0,
                  1.0, 1.0, 1.0, 1.0, 1.0]

        for i in xrange(2*1):
            if len(labels[i]) == 0:
                if(i % 2 == 0):
                    self.temp_after_usrp.set_line_label(i, "Re{{Data {0}}}".format(i/2))
                else:
                    self.temp_after_usrp.set_line_label(i, "Im{{Data {0}}}".format(i/2))
            else:
                self.temp_after_usrp.set_line_label(i, labels[i])
            self.temp_after_usrp.set_line_width(i, widths[i])
            self.temp_after_usrp.set_line_color(i, colors[i])
            self.temp_after_usrp.set_line_style(i, styles[i])
            self.temp_after_usrp.set_line_marker(i, markers[i])
            self.temp_after_usrp.set_line_alpha(i, alphas[i])

        self._temp_after_usrp_win = sip.wrapinstance(self.temp_after_usrp.pyqwidget(), QtGui.QWidget)
        self._temp_after_usrp_win.show()

        
        self.fft_usrp= qtgui.freq_sink_c(
        	1024, #size
        	firdes.WIN_BLACKMAN_hARRIS, #wintype
        	0, #fc
        	samp_rate, #bw
        	"fft USRP e sine", #name
        	2 #number of inputs
        )
        self.fft_usrp.set_update_time(0.10)
        self.fft_usrp.set_y_axis(-140, 10)
        self.fft_usrp.set_trigger_mode(qtgui.TRIG_MODE_FREE, 0.0, 0, "")
        self.fft_usrp.enable_autoscale(False)
        self.fft_usrp.enable_grid(False)
        self.fft_usrp.set_fft_average(1.0)
        self.fft_usrp.enable_control_panel(False)

        if not True:
          self.fft_usrp.disable_legend()

        if complex == type(float()):
          self.fft_usrp.set_plot_pos_half(not True)

        labels = ["", "", "", "", "",
                  "", "", "", "", ""]
        widths = [1, 1, 1, 1, 1,
                  1, 1, 1, 1, 1]
        colors = ["blue", "red", "green", "black", "cyan",
                  "magenta", "yellow", "dark red", "dark green", "dark blue"]
        alphas = [1.0, 1.0, 1.0, 1.0, 1.0,
                  1.0, 1.0, 1.0, 1.0, 1.0]
        for i in xrange(1):
            if len(labels[i]) == 0:
                self.fft_usrp.set_line_label(i, "Data {0}".format(i))
            else:
                self.fft_usrp.set_line_label(i, labels[i])
            self.fft_usrp.set_line_width(i, widths[i])
            self.fft_usrp.set_line_color(i, colors[i])
            self.fft_usrp.set_line_alpha(i, alphas[i])

        self._fft_usrp_win = sip.wrapinstance(self.fft_usrp.pyqwidget(), QtGui.QWidget)
        self._fft_usrp_win .show()

        
	self.writetofileusrp		=blocks.file_sink(gr.sizeof_gr_complex*1, "USRP_1e6_sine_test2_19db_offset.dat")
	self.writetofilesine		=blocks.file_sink(gr.sizeof_gr_complex*1, "sine_1e6_test_offset.dat")
	
        ##################################################
        # Connections
        ##################################################

        self.connect((self.sine, 0), (self.uhd_usrp_TX, 0))  
  	
	self.connect((self.sine, 0), (self.writetofilesine, 0)) 
        self.connect((self.uhd_usrp_RX, 0), (self.writetofileusrp, 0)) 	

	self.connect((self.uhd_usrp_RX, 0), (self.fft_usrp, 0)) 
	self.connect((self.sine, 0), (self.fft_usrp, 1))         
	self.connect((self.uhd_usrp_RX, 0), (self.temp_after_usrp, 0))    
	self.connect((self.sine, 0), (self.temp_after_usrp, 1)) 

def main():
    tb=gnuradioGUI()
    tb.start()    
    tb.qapp.exec_()

if __name__ == '__main__':

    try:
	main()
    except KeyboardInterrupt:
       pass
Attachment (sine(b)_usrp(r).fig): application/octet-stream, 1297 KiB
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio <at> gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Ryan Marlow | 2 Sep 16:27 2015

Consolidated Logic at GRCon

Hello All,
My name is Ryan Marlow, I'm a founder of Consolidated Logic, a new company based out of Blacksburg, VA working on an FPGA productivity tool we call RDA: Rapid Design Assembly. We had a booth at GRCon this year where we presented our tool working with Ettus's RFNoC framework for USRPs in GNU Radio. Our tool is available for install and use, just go to our website at conic-labs.com where we have a set of tutorials to get you started. Here's a link to a promotional video we put together: https://youtu.be/la02IciYSOw 
Thanks,
Ryan Marlow
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio <at> gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Gmane