|
From: | Ron Economos |
Subject: | Re: multiply_vxx_const.set_k() in GR3.9 seems to be busticated? |
Date: | Tue, 6 Oct 2020 22:20:04 -0700 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 |
It's a bug. The set_k() function has been left out of the pybind11 binding. https://github.com/gnuradio/gnuradio/blob/master/gr-blocks/python/blocks/bindings/multiply_const_v_python.cc On my system, I get a warning: Exception in thread Thread-1: Traceback (most recent call last): File "/usr/lib/python3.6/threading.py", line 916, in _bootstrap_inner self.run() File "/usr/lib/python3.6/threading.py", line 864, in run self._target(*self._args, **self._kwargs)File "/home/ubuntu/xfer/multiply.py", line 87, in _variable_function_probe_0_probe val = self.blocks_multiply_const_vxx_0.set_k([1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]) AttributeError: 'gnuradio.blocks.blocks_python.multiply_const_vcc' object has no attribute 'set_k'
Ron On 10/6/20 21:59, Marcus D Leech wrote:
A vector is what I want and this works flawlessly in GR3.9 Sent from my iPhoneOn Oct 7, 2020, at 12:57 AM, Ron Economos <w6rz@comcast.net> wrote: Try the "Fast Multiply Constant" block instead. The "Multiply Constant" block requires that the constant be a vector. RonOn 10/6/20 21:08, Marcus D. Leech wrote: This is an apparent problem in 3.9.0.0-git In grc, create a multiply_const with a vector size > 1 Have a function_probe block that sets the constant on a regular basis--perhaps from a variable, or a function call or the like. The constant will never be updated, even thought the function_probe setter is getting called. It's like the statement that contains the muitiply_const_vxx.set_k() is never even getting evaluated, because if the value inside the set_k is itself a function call, that function is never called. This caused me to pull my hair out (well, figuratively). Now the originating flow-graph .grc file originated from GR 3.7 but GRC 3.9 didn't appear to have any problem converting it and the generated python looks entirely valid. This is almost like Python3 is simply quietly ignoring the entire statement and I cannot understand why.
[Prev in Thread] | Current Thread | [Next in Thread] |