Hi Kevin - Thanks for the additional info. It seems that you've been doing some 
serious work trying out various options; very good!

If you're using gr-uhd, then you can use the data tag "tx_freq": If it's at the 
initial sample in the incoming buffer, then it indicates an immediate tune 
request at the specified tag value. If it's at the final sample, then it gets a 
little complicated ... you can read through this chunk of the source code here 
< 
https://github.com/gnuradio/gnuradio/blob/master/gr-uhd/lib/usrp_sink_impl.cc#L568
 >. Anyway if you want to change, or the option to change, the Tx freq every N 
samples when using gr-uhd then one option is to create a custom block that 
counts the number of items going through it and every N and attaches this tag 
at the correct sample for what you want.

If you're not using gr-uhd, then there might still be tags such as this method 
that will work with the given Tx HW.

Hope this is useful! - MLD

On Thu, Jun 20, 2019, at 3:57 PM, Kevin Lee wrote:
> Hello,
> 
> Thanks for the reply! More specifically, what I'm aiming for is to change 
> frequency after transmitting some number of samples. I've tried having the 
> sink call the set frequency commands each time 'work' is run, but that 
> doesn't seem to help me set the length. I've tried using message passing, but 
> that's not sufficient because that uses a sleep timer which is too 
> inconsistent for what I'm doing. As for the vectorised data, it still doesn't 
> time correctly since what I think the sink is doing is writing to a buffer in 
> hardware. Though despite that, the timing result is consistent in the first 
> method I listed. Is there a way to trigger command execution in response to 
> specific samples? Or any way to precisely time frequency changes?
> 
> Thanks,
> Kevin
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to