<div dir="ltr"><div><div><div>Hi,<br><br></div>We are using a X310 to transmit bursts and require very accurate transmit precision.<br><br></div>Currently we are having some issues regarding the control.<br><br></div><div>1. How accurately can we control the GPIO pins using the timed commands:<br>multi_usrp::set_command_time()?<br><span style="font-family:monospace,monospace"><br>    m_usrp->set_command_time(specHigh);<br>    m_usrp->set_gpio_attr("FP0", std::string("OUT"), FPGPIO_BIT(manualStrobePin), FPGPIO_BIT(manualStrobePin));<br>    m_usrp->clear_command_time();</span><br><br></div><div>2. How accurate is the transmission based on the time_spec set on the uhd::tx_metadata_t?<br><br></div><div>3. What precision can I expect using uhd::time_spec_t?<br><br></div><div>The reason that I ask about 3:<br></div><div>I print out the following (Using Qt)<br>            qDebug() << "TS: " << md.time_spec.get_full_secs()<br>                     << " - " << QString::number(md.time_spec.get_frac_secs(), 'f', 15)<br>                     << "(" << QString::number(md.time_spec.get_real_secs(), 'f', 15) << ")";<br><br></div><div>And the result is:<br>TS:  1445950858  -  "0.027400000000000" ( "1445950858.027400016784668" )<br>TS:  1445950858  -  "0.027600000000000" ( "1445950858.027600049972534" )<br>TS:  1445950858  -  "0.027700000000000" ( "1445950858.027699947357178" )<br>TS:  1445950858  -  "0.027800000000000" ( "1445950858.027800083160400" )<br>TS:  1445950858  -  "0.028300000000000" ( "1445950858.028300046920776" )<br>TS:  1445950858  -  "0.028800000000000" ( "1445950858.028800010681152" )<br>TS:  1445950858  -  "0.029100000000000" ( "1445950858.029099941253662" )<br>TS:  1445950858  -  "0.029400000000000" ( "1445950858.029400110244751" )<br>TS:  1445950858  -  "0.029600000000000" ( "1445950858.029599905014038" )<br>TS:  1445950858  -  "0.029800000000000" ( "1445950858.029799938201904" )<br>TS:  1445950858  -  "0.030800000000000" ( "1445950858.030800104141235" )<br>TS:  1445950858  -  "0.031800000000000" ( "1445950858.031800031661987" )<br>TS:  1445950858  -  "0.032000000000000" ( "1445950858.032000064849854" )<br><br></div><div>So looking at the full_sec and frac_sec it is rather accurate according to my time spec that I set up for the different busts. But on the real_sec it is not so accurate. I know the documentation on get_real_secs() say that precision might be lost. But what part of the time_spec does the device use when transmitting, the accurate full+frac or the real?<br><br></div><div>Regards,</div><br></div>