[USRP-users] API change in UHD 3.9.1 for MIMO recv?

Dario Fertonani dario.fertonani at gmail.com
Thu Oct 1 15:15:32 EDT 2015


Thank you Martin for the quick help. That worked right away.

Dario

On Thu, Oct 1, 2015 at 11:59 AM, Martin Braun <martin.braun at ettus.com>
wrote:

> Dario,
>
> the problem is that VITA times are unsynched. This was indeed something
> that changed in 3.9.0, probably when we updated the RFIC interface. The
> fact that it worked before (in pre-3.9 code) was more of a coincidence
> than a design decision, though.
>
> If you set VITA times at initialization, your code works fine (and yes,
> it also fails on my end without the initialization). This is the changes
> I had to do:
>
>  68     //init board and set frequencies
>  69     auto rfBoardPtr = uhd::usrp::multi_usrp::make(
> uhd::device_addr_t( "" ) );
>  70     rfBoardPtr->set_clock_source( "internal" );
>  71     rfBoardPtr->set_master_clock_rate( samplingRate_Hz * 2.0 );
>  72     rfBoardPtr->set_rx_rate( samplingRate_Hz );
>  73     rfBoardPtr->set_rx_freq( uhd::tune_request_t( carrierFreq_Hz ) );
>  74     rfBoardPtr->set_time_unknown_pps(0.0);
>
> (Only the last line was changed, rest included for reference).
>
> Setting vita times needs be done at init, and when the master clock rate
> is changed.
> Sorry for the inconvenience, and we may come up with a cleaner way of
> fixing this in 3.10. I hope this'll fix your issues.
>
> Cheers,
> Martin
>
>
> On 01.10.2015 11:05, Dario Fertonani via USRP-users wrote:
> > I'm upgrading to UHD 3.9.1 now that the B210 CODEC loopback bug is under
> > control.
> >
> > Did anything change in the API that initializes a two-antenna receive
> > stream? All our MIMO code stopped working.
> >
> > I'm attaching a toy C++ code that does nothing but streaming and writing
> > if errors occurred while streaming. This code has worked since the 3.8.0
> > days and now all of a sudden doesn't when the stream has two antennas.
> > It dies for ERROR_CODE_LATE_COMMAND even with a full second of margin
> > (attached version). It I raise that margin to 5 seconds, then it dies
> > for ERROR_CODE_TIMEOUT even if the timeout is raised to something
> > unrealistic like 10 seconds.
> >
> > For anyone that can help, the compile/run instructions are in the first
> > few lines of the attached code. This version works on all our PCs that
> > still have UHD 3.8.5:
> >
> >     $ ./rxTest 739 4 2 1000 256
> >
> > while it doesn't on the one that I just updated to UHD 3.9.1. On this
> > one though the single antenna version
> >
> >     $ ./rxTest 739 4 1 1000 256
> >
> > works.
> >
> > I'm suspecting a subtle change in UHD. Maybe an init command that now is
> > no longer optional?
> >
> > Thanks,
> > Dario
> >
> >
> >
> > _______________________________________________
> > USRP-users mailing list
> > USRP-users at lists.ettus.com
> > http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
> >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ettus.com/pipermail/usrp-users_lists.ettus.com/attachments/20151001/74e1a5e3/attachment-0002.html>


More information about the USRP-users mailing list