Hi David,
At the start where we initialise our siggen block there this snippet of code:
---
```
std::cout << "MB Clock Source: " <<
graph->get_mb_controller(0)->get_clock_source() << std::endl;
```
```
std::cout << "MB Time Source: " <<
graph->get_mb_controller(0)->get_time_source() << std::endl;
```
```
std::cout << "MB Sync Source: " <<
graph->get_mb_controller(0)->get_sync_source().to_pp_string() << std::endl;
```
```
std::cout << "MB Ref lock status: " <<
graph->get_mb_controller(0)->get_sensor("ref_locked").to_pp_string() <<
std::endl;
```
```
std::cout <<
graph->get_mb_controller(0)->get_sensor("gps_locked").to_pp_string() <<
std::endl;
```
```
// Initialise the USRP time to zero on the next 1 PPS
```
```
graph->get_mb_controller(0)->get_timekeeper(0)->set_time_next_pps(uhd::time_spec_t(0.0));
```
```
// Call this to synchronise all the RFNoC devices (needed for phase alignment?)
```
```
bool synchronised = graph->synchronize_devices(uhd::time_spec_t(2.0), false);
```
---
Then when setting up the PLL's, to try and get phase coherence.
---
```
const uhd::time_spec_t lastPPS =
linux_uhd::get_graph()->get_mb_controller(0)->get_timekeeper(0)->get_time_last_pps();
const uhd::time_spec_t now =
linux_uhd::get_graph()->get_mb_controller(0)->get_timekeeper(0)->get_time_now();
const uhd::time_spec_t span = uhd::time_spec_t(1.0);
// Specify that the tune should occur aligned with the next 1 PPS
const uhd::time_spec_t command_time = (lastPPS + span);
// Clear any previous timed commands
radio_ctrl[radio_id]->clear_command_time(0);
// Set the time for the LO tune to occur
radio_ctrl[radio_id]->set_command_time(command_time, 0);
// Set the LO frequency in Hz
actual_lo_frequency = radio_ctrl[radio_id]->set_tx_frequency(....
```
---
I am not sure if this could affect the peek and pokes
thank you
Marino
_______________________________________________
USRP-users mailing list -- [email protected]
To unsubscribe send an email to [email protected]