Re: [Discuss-gnuradio] Problem with tutorial
Hi, It could be that calls to set_ampl() and set_freq() are made before analog_sig_source_x_1 is declared. Try moving the signal source declarations to the top of the # Blocks section. Cheers, Ernest On Thu, Jul 12, 2018 at 12:14 AM, Sims, William Herb (MSFC-EV41) < herb.s...@nasa.gov> wrote: > I am trying to come up to speed on running gnu-radio python scripts > outside of GRC and have run into a problem. > > > > From https://wiki.gnuradio.org/index.php/Guided_Tutorial_GNU_ > Radio_in_Python#3.1.1._GRC_Generated_Python_Files (specifically 3.1 Intro > to Using GNU Radio with Python) where I copied and pasted the source code > into the if_else_mod.py file and the ran python if_else_mod.py > > I had to make a modification to the source code by changing the PyQt4 to > PyQt5 (I don’t have 4 installed and is not supported anymore) and I keep > getting a segmentation fault 11 on my Mac Laptop. I’ve included the python > file as well. > > > > Any help would be appreciated. > > > > Thanks, > > > > Herb > > > > > > Dr. Herb Sims > > EV41 > > Bldg. 4600 / Room 4113 > > Control Systems Design & Analysis Branch > > MSFC, AL 35812 > > 256-961-3214 > > > > --- > I want to tell the whole world that I love my wife and kids - what > better way than one email at a time > > Ich will der ganzen Welt sagen, dass ich meine Frau und Kinder liebe – > wie ist das besser zu machen als Mail für Mail, > > eine nach der anderen. > > > --- > > > > > > > > ___ > Discuss-gnuradio mailing list > Discuss-gnuradio@gnu.org > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio > > ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
[Discuss-gnuradio] Problem with tutorial
I am trying to come up to speed on running gnu-radio python scripts outside of GRC and have run into a problem. From https://wiki.gnuradio.org/index.php/Guided_Tutorial_GNU_Radio_in_Python#3.1.1._GRC_Generated_Python_Files (specifically 3.1 Intro to Using GNU Radio with Python) where I copied and pasted the source code into the if_else_mod.py file and the ran python if_else_mod.py I had to make a modification to the source code by changing the PyQt4 to PyQt5 (I don’t have 4 installed and is not supported anymore) and I keep getting a segmentation fault 11 on my Mac Laptop. I’ve included the python file as well. Any help would be appreciated. Thanks, Herb Dr. Herb Sims EV41 Bldg. 4600 / Room 4113 Control Systems Design & Analysis Branch MSFC, AL 35812 256-961-3214 --- I want to tell the whole world that I love my wife and kids - what better way than one email at a time Ich will der ganzen Welt sagen, dass ich meine Frau und Kinder liebe – wie ist das besser zu machen als Mail für Mail, eine nach der anderen. --- #!/usr/bin/env python ## # Gnuradio Python Flow Graph # Title: Top Block # Generated: Wed Jul 2 01:39:19 2014 ## from PyQt5 import Qt from gnuradio import analog from gnuradio import blocks from gnuradio import eng_notation from gnuradio import gr from gnuradio import qtgui from gnuradio.eng_option import eng_option from gnuradio.filter import firdes from optparse import OptionParser import sip import sys import threading import time class top_block(gr.top_block, Qt.QWidget): def __init__(self): gr.top_block.__init__(self, "Top Block") Qt.QWidget.__init__(self) self.setWindowTitle("Top Block") try: self.setWindowIcon(Qt.QIcon.fromTheme('gnuradio-grc')) except: pass self.top_scroll_layout = Qt.QVBoxLayout() self.setLayout(self.top_scroll_layout) self.top_scroll = Qt.QScrollArea() self.top_scroll.setFrameStyle(Qt.QFrame.NoFrame) self.top_scroll_layout.addWidget(self.top_scroll) self.top_scroll.setWidgetResizable(True) self.top_widget = Qt.QWidget() self.top_scroll.setWidget(self.top_widget) self.top_layout = Qt.QVBoxLayout(self.top_widget) self.top_grid_layout = Qt.QGridLayout() self.top_layout.addLayout(self.top_grid_layout) self.settings = Qt.QSettings("GNU Radio", "top_block") self.restoreGeometry(self.settings.value("geometry").toByteArray()) ## # Variables ## self.variable_function_probe_0 = variable_function_probe_0 = 0 self.samp_rate = samp_rate = 32000 self.freq = freq = 1000 self.ampl = ampl = 1 ## # Blocks ## self.probe = blocks.probe_signal_f() self._freq_tool_bar = Qt.QToolBar(self) self._freq_tool_bar.addWidget(Qt.QLabel("freq"+": ")) self._freq_line_edit = Qt.QLineEdit(str(self.freq)) self._freq_tool_bar.addWidget(self._freq_line_edit) self._freq_line_edit.returnPressed.connect( lambda: self.set_freq(int(self._freq_line_edit.text().toAscii( self.top_layout.addWidget(self._freq_tool_bar) self._ampl_tool_bar = Qt.QToolBar(self) self._ampl_tool_bar.addWidget(Qt.QLabel("ampl"+": ")) self._ampl_line_edit = Qt.QLineEdit(str(self.ampl)) self._ampl_tool_bar.addWidget(self._ampl_line_edit) self._ampl_line_edit.returnPressed.connect( lambda: self.set_ampl(int(self._ampl_line_edit.text().toAscii( self.top_layout.addWidget(self._ampl_tool_bar) def _variable_function_probe_0_probe(): while True: val = self.probe.level() if val == 1: self.set_ampl(1) self.set_freq(1000) else: self.set_ampl(.3) self.set_freq(100) try: self.set_variable_function_probe_0(val) except AttributeError: pass time.sleep(1.0 / (10)) _variable_function_probe_0_thread = threading.Thread(target=_variable_function_probe_0_probe) _variable_function_probe_0_thread.daemon = True _variable_function_probe_0_thread.start() self.qtgui_time_sink_x_0 = qtgui.time_sink_f( 1024, #size samp_rate, #s
Re: [Discuss-gnuradio] Problem with tutorial 3 GNU radio in Python
Hey Shane, You can fix this by moving line 129-131: *self.blocks_throttle_0 = blocks.throttle(gr.sizeof_float*1, samp_rate,True)self.analog_sig_source_x_1 = analog.sig_source_f(samp_rate, analog.GR_SIN_WAVE, freq, ampl, 0)self.analog_sig_source_x_0 = analog.sig_source_f(samp_rate, analog.GR_SQR_WAVE, 0.1, 1, 0)* to line 55. In other words, put them right after: *self.ampl = ampl = 1* You actually only need to move the line with *analog_sig_source_x_1*, but it might be nice to have them all in one place. Best regards, Håkon Vågsether On Wed, Sep 13, 2017 at 10:37 AM, Jacqueline.Walker wrote: > Hi Shane, > > I believe this might be the solution. According to James Shimer on this > thread, it's a race condition in the python code - read on down the thread. > Anyway, the solution works, I tried it. > > regards > Jacqueline > > From: Discuss-gnuradio [discuss-gnuradio-bounces+jacqueline.walker= > ul...@gnu.org] on behalf of Shane Petcavich [spetcav...@hme.com] > Sent: 12 September 2017 23:19:44 > To: discuss-gnuradio@gnu.org > Subject: [Discuss-gnuradio] Problem with tutorial 3 GNU radio in Python > > Hello, > > I'm having an issue with tutorial3 in https://github.com/gnuradio/ > gr-tutorial, which I have cloned and put into a directory called > solutions. I have tried this on xubuntu, 3 different installations of > ubuntu 14.04 [virtual machines], and using the GNURadio Live USB. I have > tried installing GNURadio from the binary, installing from source, and > installing with pybombs. Currently using GNURadio 3.7.12. > > When trying to run the solution if_else_mod.py in: > > examples/tutorial3/python/ > > I get the error ' top_block_sptr' object has no attribute > 'analog_sig_source_x_1' > > This was previously discussed without much solution here: > https://lists.gnu.org/archive/html/discuss-gnuradio/2013-11/msg00243.html > > Any help would be appreciated. > > Thanks, > srp > > > > ___ > Discuss-gnuradio mailing list > Discuss-gnuradio@gnu.org > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio > > ___ > Discuss-gnuradio mailing list > Discuss-gnuradio@gnu.org > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio > ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Re: [Discuss-gnuradio] Problem with tutorial 3 GNU radio in Python
Hi Shane, I believe this might be the solution. According to James Shimer on this thread, it's a race condition in the python code - read on down the thread. Anyway, the solution works, I tried it. regards Jacqueline From: Discuss-gnuradio [discuss-gnuradio-bounces+jacqueline.walker=ul...@gnu.org] on behalf of Shane Petcavich [spetcav...@hme.com] Sent: 12 September 2017 23:19:44 To: discuss-gnuradio@gnu.org Subject: [Discuss-gnuradio] Problem with tutorial 3 GNU radio in Python Hello, I'm having an issue with tutorial3 in https://github.com/gnuradio/gr-tutorial, which I have cloned and put into a directory called solutions. I have tried this on xubuntu, 3 different installations of ubuntu 14.04 [virtual machines], and using the GNURadio Live USB. I have tried installing GNURadio from the binary, installing from source, and installing with pybombs. Currently using GNURadio 3.7.12. When trying to run the solution if_else_mod.py in: examples/tutorial3/python/ I get the error ' top_block_sptr' object has no attribute 'analog_sig_source_x_1' This was previously discussed without much solution here: https://lists.gnu.org/archive/html/discuss-gnuradio/2013-11/msg00243.html Any help would be appreciated. Thanks, srp ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
[Discuss-gnuradio] Problem with tutorial 3 GNU radio in Python
Hello, I'm having an issue with tutorial3 in https://github.com/gnuradio/gr-tutorial, which I have cloned and put into a directory called solutions. I have tried this on xubuntu, 3 different installations of ubuntu 14.04 [virtual machines], and using the GNURadio Live USB. I have tried installing GNURadio from the binary, installing from source, and installing with pybombs. Currently using GNURadio 3.7.12. When trying to run the solution if_else_mod.py in: examples/tutorial3/python/ I get the error ' top_block_sptr' object has no attribute 'analog_sig_source_x_1' This was previously discussed without much solution here: https://lists.gnu.org/archive/html/discuss-gnuradio/2013-11/msg00243.html Any help would be appreciated. Thanks, srp ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio