Send USRP-users mailing list submissions to
[email protected]
To subscribe or unsubscribe via the World Wide Web, visit
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
or, via email, send a message with subject or body 'help' to
[email protected]
You can reach the person managing the list at
[email protected]
When replying, please edit your Subject line so it is more specific
than "Re: Contents of USRP-users digest..."
Today's Topics:
1. How to set up metadata for simultaneous rx/tx with USRP N210?
(Fernando Quivira)
2. Is tx_stream->send blocking? (Fernando Quivira)
3. Is tx_stream->send blocking? (Fernando Quivira)
4. How to set up metadata for simultaneous rx/tx application on
USRP N210 (Fernando Quivira)
5. Re: When is the time recorded in rx stream metadata (Gong Zhang)
6. Re: When is the time recorded in rx stream metadata (Alex Zhang)
7. Re: When is the time recorded in rx stream metadata (Josh Blum)
8. Re: How to set up metadata for simultaneous rx/tx application
on USRP N210 (Josh Blum)
9. Re: Is tx_stream->send blocking? (Josh Blum)
10. Re: Last packet corrupted on USRP1 (Josh Blum)
11. Re: When is the time recorded in rx stream metadata (Gong Zhang)
12. Re: When is the time recorded in rx stream metadata (Alex Zhang)
----------------------------------------------------------------------
Message: 1
Date: Sun, 24 Feb 2013 18:51:44 -0500
From: Fernando Quivira <[email protected]>
To: [email protected]
Subject: [USRP-users] How to set up metadata for simultaneous rx/tx
with USRP N210?
Message-ID:
<CAD6+UKLtr=78Xt7TAPZ1dR8nfTSyPshfc10wQ=cpf_9ifji...@mail.gmail.com>
Content-Type: text/plain; charset="iso-8859-1"
Hi guys:
I'm trying to write a multi-threaded application to run a rx thread and a
tx thread. I was looking at the txrx_loopback_to_file example, and I saw
that to setup the metadata, this code was used:
uhd::tx_metadata_t md;
md.start_of_burst = true;
md.end_of_burst = false;
md.has_time_spec = true;
md.time_spec = uhd::time_spec_t(0.1); //give us 0.1 seconds to fill the
tx buffers
However, the other tx example files only use this:
uhd::tx_metadata_t md;
md.start_of_burst = false;
md.end_of_burst = false;
What is the difference between these two ways of setting up the metadata?
Thanks
- Fernando
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.ettus.com/pipermail/usrp-users_lists.ettus.com/attachments/20130224/bfd4c369/attachment-0001.html>
------------------------------
Message: 2
Date: Sun, 24 Feb 2013 19:14:29 -0500
From: Fernando Quivira <[email protected]>
To: [email protected]
Subject: [USRP-users] Is tx_stream->send blocking?
Message-ID:
<CAD6+UKLk_R71+CpXC=bfuPUVXNu2_ZM=kqh8muyhojhh8ec...@mail.gmail.com>
Content-Type: text/plain; charset="iso-8859-1"
Hi:
I'm trying to write a simple threaded application with tx in it. If I have
all of the buffers available, should I call a sleep after I call it? Or is
it not necessary?
I looked at the tx examples, and there isn't any sleep functions. I just
want to make sure.
Thanks
- Fernando
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.ettus.com/pipermail/usrp-users_lists.ettus.com/attachments/20130224/0b76bcea/attachment-0001.html>
------------------------------
Message: 3
Date: Sun, 24 Feb 2013 19:17:50 -0500
From: Fernando Quivira <[email protected]>
To: [email protected]
Subject: [USRP-users] Is tx_stream->send blocking?
Message-ID:
<CAD6+UKLgZYYy3C=SE2S+4BB4NciwQvrvFM_Wq0O=f49bhqe...@mail.gmail.com>
Content-Type: text/plain; charset="iso-8859-1"
Hi:
I'm trying to write a simple threaded application with tx in it. If I have
all of the buffers available, should I call a sleep after I call it? Or is
it not necessary?
I looked at the tx examples, and there isn't any sleep functions. I just
want to make sure.
Thanks
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.ettus.com/pipermail/usrp-users_lists.ettus.com/attachments/20130224/13e84f03/attachment-0001.html>
------------------------------
Message: 4
Date: Sun, 24 Feb 2013 19:18:26 -0500
From: Fernando Quivira <[email protected]>
To: [email protected]
Subject: [USRP-users] How to set up metadata for simultaneous rx/tx
application on USRP N210
Message-ID:
<cad6+ukl0dsbokyntm4x7pqpdoqwsqvbk3k_7vfkxmbvwt9a...@mail.gmail.com>
Content-Type: text/plain; charset="iso-8859-1"
Hi guys:
I'm trying to write a multi-threaded application to run a rx thread and a
tx thread. I was looking at the txrx_loopback_to_file example, and I saw
that to setup the metadata, this code was used:
uhd::tx_metadata_t md;
md.start_of_burst = true;
md.end_of_burst = false;
md.has_time_spec = true;
md.time_spec = uhd::time_spec_t(0.1); //give us 0.1 seconds to fill the
tx buffers
However, the other tx example files only use this:
uhd::tx_metadata_t md;
md.start_of_burst = false;
md.end_of_burst = false;
What is the difference between these two ways of setting up the metadata?
Thanks
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.ettus.com/pipermail/usrp-users_lists.ettus.com/attachments/20130224/fda91605/attachment-0001.html>
------------------------------
Message: 5
Date: Mon, 25 Feb 2013 09:45:29 +0800
From: Gong Zhang <[email protected]>
To: Alex Zhang <[email protected]>
Cc: "[email protected]" <[email protected]>
Subject: Re: [USRP-users] When is the time recorded in rx stream
metadata
Message-ID: <[email protected]>
Content-Type: text/plain; charset="windows-1252"; Format="flowed"
Yes,I got it.Absolutely the timestamp is tagged in gr_uhd,but when is it
created?Within the hardware?
Thanks.
2013/2/24 2:41, Alex Zhang wrote:
> There is the derived class of uhd_usrp_source class, in GNURadio. You
> can find the .cc file in gr-uhd directory.
>
>
> On Sat, Feb 23, 2013 at 2:18 AM, Gong Zhang <[email protected]
> <mailto:[email protected]>> wrote:
>
> Alex Zhang wrote:
>
> To my knowledge, it is in the uhd_usrp_source::work. The
> timestamp is tagged in software, not the hardware on USRP.
>
>
> On Fri, Feb 22, 2013 at 11:03 PM, Gong Zhang
> <[email protected] <mailto:[email protected]>
> <mailto:[email protected] <mailto:[email protected]>>> wrote:
>
> Hi,
> When is the time recorded in rx stream metadata?Is it when
> the sample
> going through AD in USRP?
> Thanks.
>
> I'm new to gnuradio.I have searched the file in UHD and gnuradio
> but found none.Can you tell me where can I find the file?
> And is the timesample created in software too?
> Thanks.
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.ettus.com/pipermail/usrp-users_lists.ettus.com/attachments/20130225/26533972/attachment-0001.html>
------------------------------
Message: 6
Date: Sun, 24 Feb 2013 19:50:47 -0600
From: Alex Zhang <[email protected]>
To: Gong Zhang <[email protected]>
Cc: "[email protected]" <[email protected]>
Subject: Re: [USRP-users] When is the time recorded in rx stream
metadata
Message-ID:
<ca+feand_uwqevr_oybnhnhpcbxmcnumjgbwtx4t0vlifpi5...@mail.gmail.com>
Content-Type: text/plain; charset="windows-1252"
If I am not wrong, the time is obtained by the get_time directly in that
work(). The get time procedure is just a query and ack flow between the
USRP and the host PC. As my understanding, it is not a very accurate time
stamp as the time query transction has time cost itself.
On Sun, Feb 24, 2013 at 7:45 PM, Gong Zhang <[email protected]> wrote:
> Yes,I got it.Absolutely the timestamp is tagged in gr_uhd,but when is it
> created?Within the hardware?
> Thanks.
>
> 2013/2/24 2:41, Alex Zhang wrote:
>
> There is the derived class of uhd_usrp_source class, in GNURadio. You can
> find the .cc file in gr-uhd directory.
>
>
> On Sat, Feb 23, 2013 at 2:18 AM, Gong Zhang <[email protected]> wrote:
>
>> Alex Zhang wrote:
>>
>>> To my knowledge, it is in the uhd_usrp_source::work. The timestamp is
>>> tagged in software, not the hardware on USRP.
>>>
>>>
>>> On Fri, Feb 22, 2013 at 11:03 PM, Gong Zhang <[email protected]<mailto:
>>> [email protected]>> wrote:
>>>
>>> Hi,
>>> When is the time recorded in rx stream metadata?Is it when the sample
>>> going through AD in USRP?
>>> Thanks.
>>>
>>> I'm new to gnuradio.I have searched the file in UHD and gnuradio but
>> found none.Can you tell me where can I find the file?
>> And is the timesample created in software too?
>> Thanks.
>>
>
>
>
--
Alex,
*Dreams can come true ? just believe.*
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.ettus.com/pipermail/usrp-users_lists.ettus.com/attachments/20130224/a5cca608/attachment-0001.html>
------------------------------
Message: 7
Date: Sun, 24 Feb 2013 20:04:59 -0600
From: Josh Blum <[email protected]>
To: [email protected]
Subject: Re: [USRP-users] When is the time recorded in rx stream
metadata
Message-ID: <[email protected]>
Content-Type: text/plain; charset=ISO-8859-1
The timestamps are added in the FPGA after the samples exit the DDC
chain. Every packet is a timestamped VITA IF data packet, where the
timestamp is an absolute clock tick count. The UHD software converts
this tick count into a time_spec_t (a time in seconds) for the metadata
field. In gnuradio, the time is also passed downstream via the stream
tagging API
-josh
On 02/22/2013 11:03 PM, Gong Zhang wrote:
> Hi,
> When is the time recorded in rx stream metadata?Is it when the sample
> going through AD in USRP?
> Thanks.
>
> _______________________________________________
> USRP-users mailing list
> [email protected]
> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
>
------------------------------
Message: 8
Date: Sun, 24 Feb 2013 20:06:52 -0600
From: Josh Blum <[email protected]>
To: [email protected]
Subject: Re: [USRP-users] How to set up metadata for simultaneous
rx/tx application on USRP N210
Message-ID: <[email protected]>
Content-Type: text/plain; charset=ISO-8859-1
On 02/24/2013 06:18 PM, Fernando Quivira wrote:
> Hi guys:
>
> I'm trying to write a multi-threaded application to run a rx thread and a
> tx thread. I was looking at the txrx_loopback_to_file example, and I saw
> that to setup the metadata, this code was used:
>
> uhd::tx_metadata_t md;
> md.start_of_burst = true;
> md.end_of_burst = false;
> md.has_time_spec = true;
> md.time_spec = uhd::time_spec_t(0.1); //give us 0.1 seconds to fill the
> tx buffers
>
> However, the other tx example files only use this:
>
> uhd::tx_metadata_t md;
> md.start_of_burst = false;
> md.end_of_burst = false;
>
> What is the difference between these two ways of setting up the metadata?
>
If two devices have their reference clocks and time synchronized, the
time spec can be used to control when a sample is transmitted.
See
http://files.ettus.com/uhd_docs/manual/html/sync.html
Also
http://files.ettus.com/uhd_docs/doxygen/html/structuhd_1_1tx__metadata__t.html
-josh
> Thanks
>
>
>
> _______________________________________________
> USRP-users mailing list
> [email protected]
> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
>
------------------------------
Message: 9
Date: Sun, 24 Feb 2013 20:08:43 -0600
From: Josh Blum <[email protected]>
To: [email protected]
Subject: Re: [USRP-users] Is tx_stream->send blocking?
Message-ID: <[email protected]>
Content-Type: text/plain; charset=ISO-8859-1
On 02/24/2013 06:17 PM, Fernando Quivira wrote:
> Hi:
>
> I'm trying to write a simple threaded application with tx in it. If I have
> all of the buffers available, should I call a sleep after I call it? Or is
> it not necessary?
>
> I looked at the tx examples, and there isn't any sleep functions. I just
> want to make sure.
>
> Thanks
The send() and recv() calls are both blocking calls with timeouts.
See
http://files.ettus.com/uhd_docs/doxygen/html/classuhd_1_1tx__streamer.html#aeb2e0f44810693d9da99ea1e04fad21f
-josh
>
>
>
> _______________________________________________
> USRP-users mailing list
> [email protected]
> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
>
------------------------------
Message: 10
Date: Sun, 24 Feb 2013 20:13:09 -0600
From: Josh Blum <[email protected]>
To: [email protected]
Subject: Re: [USRP-users] Last packet corrupted on USRP1
Message-ID: <[email protected]>
Content-Type: text/plain; charset=ISO-8859-1
On 02/23/2013 12:41 PM, Jawad Seddar wrote:
> Hello,
>
> I just started working with GNURadio 3 weeks ago.
> I am currently using 2 USRP1 devices :
> - The first one is equipped with a RFX900 daughter board and a RFX2400
> - The second one is equipped with a RFX900 and a XCV2450
>
> I have installed the latest GNURadio version on two computers (using the
> build_gnuradio script) and have started playing around with those devices.
>
> One of my first tests was to use the narrowband benchmark scripts in order
> to check that I could send and receive on both devices and on any daugther
> board. I could send and receive correctly (ok = true, no pktno missing)
> using a variety of frequencies but not using the gmsk modulation (It worked
> great using bpsk, dbpsk, dqpsk...).
>
> After that first step, I went on and tried the narrowband tunnel.py example
> but noticed that I wasn't seeing any packets at the receiver side though I
> configured both gr0 interfaces on both computers and could see packets
> being transmitted at the transmitter side.
>
> After entering the arp tables manually on each computer, I still couldn't
> ping any of the machines but oddly enough I could user iperf and send udp
> packets from one machine to another. These packets were correctly received
> but the answer got lost on the way back.
>
> This got me thinking, what if only large packets could be seen at the
> receiver? So I tried pinging using large packets (1400 Bytes) still
> entering the arp manually, still nothing at the receiver (sometimes a
> ok=false). Then I tried pinging and flooding (-f) still using large packets
> (1400 Bytes), I could see the packets arriving and passing the CRC check
> (ok = true).
>
> So I went back to the benchmark scripts and played a bit with the
> parameters. I noticed that when using the discontinuous mode (it sends 5
> packets then stops for 1 second and repeats) I was receiving the 4 first
> packets correctly but the last one failed the CRC check (ok = false). I
> tried different packet sizes and different burst sizes (number of packets
> in a row) and different sleeping times between emissions, I always get the
> same results : the last packet doesn't pass the CRC check (sometimes the
> first one as well).
>
> So I thought that maybe the last bits of the transmission were corrupted,
> so I went to the crc.py file and added stuffing bytes after the CRC field
> and removed them at the receiver side. I went up to 2048 bytes of stuffing
> (starting at 1 byte first), but it didn't yield much success.
>
> Then I decided to send a dummy packet after each payload packet. I tried
> different sizes for the dummy packet and got some results. For instance,
> adding a 16 Byte dummy after an 8 Byte long payload did work but the size
> of the dummy packet seems to be dependent on the size of the payload...
>
> I can't seem to figure out what is causing the problem in the first place.
> I have been thinking about synchronisation issues (because sometimes the
> first packet is lost as well as the last one), or maybe power issues (the
> transmitter shuts down before the last bit is out) . The last cause should
> have been fixed by the stuffing after the CRC...
>
> I thank everybody who has reached this point, I am currently looking for
> any insights you might have on this issue.
>
> Thank you for your help.
>
> Jawad Seddar
>
Is this a half duplex or full duplex operation? I think the tunnel.py
type app has an issue switching the device out of TX mode because it
doesnt set EOB, which messes things up like the arp reply on a half
duplex system.
I dont know if this project has ever been tried on USRP1, but its a good
replacement for those benchmark* tunnel* examples in gnuradio:
https://github.com/jmalsbury/pre-cog/wiki
-josh
>
>
> _______________________________________________
> USRP-users mailing list
> [email protected]
> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
>
------------------------------
Message: 11
Date: Mon, 25 Feb 2013 10:20:48 +0800
From: Gong Zhang <[email protected]>
To: [email protected]
Cc: [email protected]
Subject: Re: [USRP-users] When is the time recorded in rx stream
metadata
Message-ID: <[email protected]>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Josh Blum wrote:
> The timestamps are added in the FPGA after the samples exit the DDC
> chain. Every packet is a timestamped VITA IF data packet, where the
> timestamp is an absolute clock tick count. The UHD software converts
> this tick count into a time_spec_t (a time in seconds) for the metadata
> field. In gnuradio, the time is also passed downstream via the stream
> tagging API
>
> -josh
>
> On 02/22/2013 11:03 PM, Gong Zhang wrote:
>
>> Hi,
>> When is the time recorded in rx stream metadata?Is it when the sample
>> going through AD in USRP?
>> Thanks.
>>
>> _______________________________________________
>> USRP-users mailing list
>> [email protected]
>> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
>>
>>
Your answer is quite useful.Can you give any URLs for more detail?And
even the sample has passed through DDC chain,it's still IF data?
Thanks.
------------------------------
Message: 12
Date: Sun, 24 Feb 2013 20:23:01 -0600
From: Alex Zhang <[email protected]>
To: "[email protected]" <[email protected]>
Cc: usrp-users <[email protected]>
Subject: Re: [USRP-users] When is the time recorded in rx stream
metadata
Message-ID:
<CA+FEAnf0653fm4jzT0U-QDbnmSKA4390rU3WpDEO=7xxn5j...@mail.gmail.com>
Content-Type: text/plain; charset="windows-1252"
If so, that is great that timestamp is added in hardware, which resolves my
confusion for a long time.
On Sun, Feb 24, 2013 at 8:04 PM, Josh Blum <[email protected]> wrote:
> The timestamps are added in the FPGA after the samples exit the DDC
> chain. Every packet is a timestamped VITA IF data packet, where the
> timestamp is an absolute clock tick count. The UHD software converts
> this tick count into a time_spec_t (a time in seconds) for the metadata
> field. In gnuradio, the time is also passed downstream via the stream
> tagging API
>
> -josh
>
> On 02/22/2013 11:03 PM, Gong Zhang wrote:
> > Hi,
> > When is the time recorded in rx stream metadata?Is it when the sample
> > going through AD in USRP?
> > Thanks.
> >
> > _______________________________________________
> > USRP-users mailing list
> > [email protected]
> > http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
> >
>
> _______________________________________________
> USRP-users mailing list
> [email protected]
> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
>
--
Alex,
*Dreams can come true ? just believe.*
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.ettus.com/pipermail/usrp-users_lists.ettus.com/attachments/20130224/16b82f57/attachment-0001.html>
------------------------------
Subject: Digest Footer
_______________________________________________
USRP-users mailing list
[email protected]
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
------------------------------
End of USRP-users Digest, Vol 30, Issue 25
******************************************