Hi Marcus,

Thanks for the response. I attach the flowgraph I am using for this test,
and for which I got the "unknown data type of samples" error.

I wasn't aware that the metadata was included in the PDUs, so that makes
more sense now.

The point of moving to C++ was that the flowgraph I *really* want to use is
just causing me huge problems - most notably that there are periods of a
few seconds every now and again when the USRP drops a load of packets and
then, after a while, the flow just freezes up. I find it difficult to
follow how GNU Radio really works and I thought it would be a better bet to
be directly in control of my samples all the way.

Jack



On Wed, Aug 2, 2017 at 10:45 PM, Marcus Müller via USRP-users <
usrp-users@lists.ettus.com> wrote:

> Hi Jack,
>
> PDUs are not just samples one after the other – they contain metadata. I
> can't really imagine what your flow graph looks like, so I'd be grateful
> for a screenshot (File->Screen Capture).
>
> Anyway, there'd be no obvious reason your UDP detour would make things
> faster – maybe the intermediate socket buffering might help, but you'd
> probably get the same result by extending a UHD USRP Source's Output Buffer
> Size.
>
> So, I'm not sure where we should take this – from a gut feeling, we should
> maybe move on to the discuss-gnuradio mailing list and discuss what part in
> your GNU Radio application isn't performing well enough – as I'm currently
> assuming your approach wasn't born through an in-depth analysis, but might
> more be of a trial&error iteration?
>
> Best regards,
>
> Marcus
>
> On 02.08.2017 13:10, Jack White via USRP-users wrote:
>
> Hi,
>
> I've been having some difficulty getting reliable data flow from my USRP
> X310 with a GRC flowgraph, so I'm trying out writing my system in C++ with
> the UHD driver API. My first step has been to retrieve samples from the
> X310, forward them to a UDP port and then pick them up with a GRC Socket
> PDU component and then plot them. The C++ programme, so far, follows
> Ettus's example rx_samples_to_udp almost exactly and uses the
> std::complex<float> data type.
>
> When the data enters the running flowgraph from the UDP transport, I get
> this error:
>
> thread[thread-per-block[1]: <block freq_sink_c (1)>]: freq_sink_c: unknown
> data type of samples; must be complex.
>
> Can anyone offer insight into why this should occur?
>
> Many thanks,
>
> --
> Jack White
> white.n.j...@googlemail.com
> 07875 813 745
>
>
> _______________________________________________
> USRP-users mailing 
> listUSRP-users@lists.ettus.comhttp://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
>
>
>
> _______________________________________________
> USRP-users mailing list
> USRP-users@lists.ettus.com
> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
>
>


-- 
Jack White
white.n.j...@googlemail.com
07875 813 745
_______________________________________________
USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com

Reply via email to