Hi Dustin,

Can you provide the error message?

Jonathon

On Tue, Nov 23, 2021 at 2:20 PM Dustin Widmann <dw...@virginia.edu> wrote:

> Hi list,
>
> I occasionally, unpredictably, get FPGA-related errors. Usually some
> sort of FPGA timeouts, so I have to reset the USRP after these errors,
> which is rather inconvenient.
>
> The software is C++ using the UHD 4 multi-usrp API.
>
> Without going into too much detail, I wonder if there is anything
> particular to my *approach* that could make things more prone to FPGA
> errors of any sorts. I'm also curious about the different “stream_modes”
> that are available, their pros and cons / use cases, and more
> particularly if I'm really using the one best suited to my use case.
>
> Before describing that, this is what I'm trying to do. It's fairly
> simple, but I'm trying to make it tune, collect, and then tune again as
> quickly as possible without leaving my cozy C++ bed. It's currently
> doing this >100 times per second.
> * transmits continuously
> * in a loop:
> *** tune the transmitter and receivers and set their gain:
> *** receive a fixed number of samples
>
> How I'm currently going about it:
>
>
> In main object/thread
> * init the radio
> * create a tx object and move it to a new thread
> * give the tx object a streamer
> * tell the tx object to start streaming
> * create a rx object and move it to a new thread
> * give the rx object a streamer
> * tell the rx object to start streaming
> * in a loop (forever):
> *** clear command time
> *** set command time to now()+0.004
> *** set_rx_freq to next frequency for both channels
> *** set_tx_freq to next frequency for channel 0
> *** set the rx gain
> *** set the tx gain
> *** sleep for 4ms
> *** ask the rx object to save some samples
>
> in tx object/thread
> * in a loop (until asked to stop by main)
> *** call send on the streamer with max_num_samps samples from a fixed
> waveform
> * when killed, send an empty end_of_burst
>
> in rx object/thread
> * issue STREAM_MODE_START_CONTINUOUS, starting 0.25 in the future/_restart
> * in a loop (until asked to stop by main)
> *** recv  max_num_samps from the streamer
> *** check for/handle errors if they occur (often do at the start of the
> stream)
> *** copy the samples  if currently collecting, else discard them
> * when killed, issue STREAM_MODE_STOP_CONTINOUS
>
> I can/will provide more detail/code/etc, but that's not necessarily
> relevant to the *approach* I wouldn't think. To reiterate the question,
> I want to know if there is anything about the approach that would make
> FPGA related errors likely.
>
> -Dustin
>
> _______________________________________________
> USRP-users mailing list -- usrp-users@lists.ettus.com
> To unsubscribe send an email to usrp-users-le...@lists.ettus.com
>
_______________________________________________
USRP-users mailing list -- usrp-users@lists.ettus.com
To unsubscribe send an email to usrp-users-le...@lists.ettus.com

Reply via email to