On Oct 7, 2020, at 1:21 AM, Ron Economos <w6rz@comcast.net> wrote:
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 iPhone
On 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.
Ron
On 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.