All right, that makes me feel better. A few corrupted samples is perfectly
fine since the setting should only change before transmitting/receiving,
not during.

Thanks,
Sean

On Tue, Dec 20, 2016 at 10:21 AM, Kevin Reid <kpr...@switchb.org> wrote:

> On Tue, Dec 20, 2016 at 8:38 AM, Sean Horton <seanhorto...@gmail.com>
> wrote:
>
>> What is the best way to change settings such as gain, taps, frequency
>> values, etc of various blocks while running? The current setup I'm
>> refactoring receives new configs over tcp, and a block outputs the new
>> config values to probe signals, and those probe signals are used to change
>> various settings. In the case of setting some usrp source parameters
>> (center frequency), it appears to not properly work, so for the usrp sink
>> and sources, I am going to pass messages to change the parameters. This
>> isn't possible for other blocks, though, as they do not have message
>> inputs.
>>
>> If I should stick with the current method, though, I'm really curious how
>> there is mutual exclusion, as the values are being changed while the
>> flowgraph is running. I have looked at the source code for some of the
>> blocks I'm using, and I don't see any mutexes. This makes me think this
>> isn't the best way to do what is being done.
>>
>
> Calling the setter methods is fine. Mutexes are not necessary for simple
> numeric parameters, because one thread (the block work thread) is only
> reading and one thread is only writing (your control thread) and there are
> no particular invariants to be maintained.
>
> The worst thing that could happen is reading a half-written large value
> and producing bad data for a period, but changing parameters in many cases
> will result in some kind of “glitch” in the sample stream anyway, so this
> is merely “noisier”.
>



-- 
Sean Horton
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to