discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] clock synchronization by message passing


From: Josh Blum
Subject: Re: [Discuss-gnuradio] clock synchronization by message passing
Date: Sun, 16 Jun 2013 22:44:23 -0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130510 Thunderbird/17.0.6


On 06/16/2013 02:13 PM, Adeel Anwar wrote:
>> so i checked the new grextras wiki it has uhd_control block i guess that
> can be used for this job.
> uhd_control block  supports only a subset of usrp-functions (exposed
> through gr-uhd) e.g. "set_command_time", set/get_gain/freq etc BUT
> currently it doesn't support "set_time_now()"
> https://github.com/guruofquality/grextras/blob/master/lib/uhd_control_port.cpp
> 

I didnt add every possible setting. But I am happy to add more on
request! I'm gathering that someone would like to make a configuration
and control block that could perform the synchronization tasks w/ a
GPSDO or some external clock and time source.

The intention of the UHDControlPort block was to help clean up much of
the messy control logic in pre-cog. We were passing messages into a
python block that was executing python functions onto the flowgraph.
Sure it worked though :-) But now there is an API to do configuration
and control nicely.

My intention with the UHDControlPort was to allow for frequency hopping
control in a programatic way (and other stuff too). The UHDControlPort
block uses the property interface to expose device properties that can
be set by another entity -- like some sort of configuration block.
https://github.com/guruofquality/gras/wiki/Properties

So lets say the control block intended to frequency hop and perform a
new transmission:

1) This control block would find the UHDControlPort in the element tree
(you would probably do this once in the notify_active() callback).

2) The control block calls
uhd_control_block->set("command_time", t0);
uhd_control_block->set("tx_freq", new_freq);

3) The control block now causes a time-tagged message to be sent to the
transmit chain. control_block -> packet_framer -> modulator -> usrp_sink
The time of the transmission would be t0 + some delta to allow the
command of tuning the frontend to have settle time.

-josh



reply via email to

[Prev in Thread] Current Thread [Next in Thread]