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.