Hi Maria,
The UHD "register_property" callback function (in this case a lambda
function that calls peek) only gets executed when the "dirty" property gets
marked "clean". Otherwise, if you query the property when it is already
considered "clean" by UHD, it simply returns the current property value
(without executing this "peek"). So, my workaround is to force UHD to know
that the property is "dirty" by setting it to something different than the
current value.  This is admittedly a hack. If gnuradio offers another
mechanism for calling custom RFNoC block functions (different from using
properties as you have done), this may be the most straightforward solution.
Rob

On Tue, Dec 12, 2023 at 11:55 AM <[email protected]> wrote:

> Hi Rob,
>
> Thanks for your answer.
>
> I’m not 100% sure but what I think is that the get_int_property function
> in python/gnuradio calls the peek function in c++/UHD as I have to write
> that on my block controller:
>
>
> register_property(&_test_reg, this
> <https://lists.ettus.com/empathy/thread/63G6RSRBYHD666IP2PG6OOFSZC47ZQX6> {
>
> int test_reg = this->regs().peek32(REG_TEST_ADDR);
> this->_test_reg.set(test_reg);        })
>
> But as you said, probably do it through the get_int_property does not
> update the value.
>
> I will try the workaround you suggest and see.
>
> Kind regards,
>
> Maria
> _______________________________________________
> USRP-users mailing list -- [email protected]
> To unsubscribe send an email to [email protected]
>
_______________________________________________
USRP-users mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to