discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] My app waits undefinedly after an O printf


From: Pol Henarejos
Subject: Re: [Discuss-gnuradio] My app waits undefinedly after an O printf
Date: Wed, 30 May 2012 08:59:03 +0200
User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20120428 Thunderbird/12.0.1

Dear Josh,

The hardware is USRP2 at 10Msps with latest UHD version
UHD_003.004.001-165-unstable.

As you pointed, it seems that does not restart the streamer. I made a
rough patch that works continously. I still get overflows but it does
not stop.

diff --git a/gr-uhd/lib/gr_uhd_usrp_source.cc
b/gr-uhd/lib/gr_uhd_usrp_source.cc
index 8aa9654..75ae3d6 100644
--- a/gr-uhd/lib/gr_uhd_usrp_source.cc
+++ b/gr-uhd/lib/gr_uhd_usrp_source.cc
@@ -368,10 +368,12 @@ public:
         case uhd::rx_metadata_t::ERROR_CODE_TIMEOUT:
             //Assume that the user called stop() on the flow graph.
             //However, a timeout can occur under error conditions.
-            return WORK_DONE;
+          //  return WORK_DONE;

         case uhd::rx_metadata_t::ERROR_CODE_OVERFLOW:
             _tag_now = true;
+            stop();
+            start();
             //ignore overflows and try work again
             return work(noutput_items, input_items, output_items);

Mainly I made stop/start when timeout or overflow occurs.

Thanks.


On 05/29/2012 07:29 AM, Pol Henarejos wrote:
> Dear list,
>
> I am using gr_uhd_source as the source of my app. At some moment, there
> is an overflow, an O is printf'ed and the scheduler stops. The program
> is still running but there is no flow of samples between blocks. They
> are waiting for something. I added the following lines in the work() of
> gr_uhd_source
>
> printf("no = %d\n", noutput_items);
> if (_metadata.error_code != uhd::rx_metadata_t::ERROR_CODE_NONE)
>       printf("Error %d\n",_metadata.error_code);
>
> and the output, after some time, is
>
> no = 4094
> no = 4096
> no = 4094
> [...]
> no = 4096
> no = 4094
> no = 4096
> no = 4096
> Ono = 4094
> no = 2133
> Error 8
> no = 2133
> Error 1
>
> and here waits for some thing and no more printf take place. Be aware
> that this happens when the O appears.
>
> Anybody is expecting the same? Could you provide me some hint?
>

Whats the hardware? Sample rate? And I suppose UHD version as well.

It looks to me like there is an overflow (code 8), and then a timeout
(code 1). I bet the scheduler then prints "block returned 0 marking it
done" something like that...

So it looks to me that the overflow condition is shutting off the
streaming, and UHD is not automatically tuning streaming back on.
Hmm.... thats not right.

So let me know the hardware and I will try to replicate the fix the issue.

-josh

-- 

Pol Henarejos
Research Engineer, MSc
address@hidden

Centre Tecnològic de Telecomunicacions de Catalunya (CTTC)
Engineering Unit
Parc Mediterrani de la Tecnologia
Av. Carl Friedrich Gauss, 7
08860 Castelldefels, Barcelona (Spain)
Tel: +34 93 396 71 70  Ext: 2177
Fax. +34 93 645 29 01
www.cttc.es

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

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