[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Discuss-gnuradio] Custom Blocks and Number of Items Per Port
From: |
Martin Braun (CEL) |
Subject: |
Re: [Discuss-gnuradio] Custom Blocks and Number of Items Per Port |
Date: |
Fri, 3 Aug 2012 21:12:48 +0200 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
On Fri, Aug 03, 2012 at 02:23:39PM -0400, Alexander Olihovik wrote:
> It seems as if the gr_sync_block is close to what Josh Blum refers to as an
> Arbitrary Ratio Block in his Blocks Coding Guide.
Read the guide again :)
that's not at all what it is.
This might also help:
http://gnuradio.org/redmine/projects/gnuradio/wiki/TutorialsCoreConcepts
...not quite finished, though.
> Do you think if I were to use the forecast() function and make all
> ninput_items_required[i] to be the same set amount, I would always have the
> same number of input_items[i] on each port every time the work() function is
> called? Is it this simple?
There should be no reason at all for wanting to have the same number of
input_items at every port. Leave that to the scheduler. Just consume
whatever items you need every time work() is called.
MB
>
>
> On Fri, Aug 3, 2012 at 1:56 PM, Martin Braun (CEL) <address@hidden>
> wrote:
>
>
> On Fri, Aug 03, 2012 at 01:38:38PM -0400, Alexander Olihovik wrote:
> > There are a few cases when input_items[0] doesn't equal input_items[1].
> If say,
> > len(input_items[0]) = 1000 and len(input_items[1]) = 1500, and I
> returned
> the
> > smaller of the two values, 1000, what would happen to the other 500
> samples on
> > port 1? Would they be buffered somewhere and then used the next time the
> work
> > function is called?
>
>
> Yep. The case where the len(input_items) are different is what you
> should normally prepare for.
>
> Are you *certain* you can't use a gr_sync_{block,decimator,interpolator}?
> That would make stuff much easier for you, I guess. For a start, you
> wouldn't even need to check input_items.
>
> MB
>
>
> >
> >
> > On Wed, Aug 1, 2012 at 8:40 PM, Tom Rondeau <address@hidden> wrote:
> >
> >
> > On Wed, Aug 1, 2012 at 3:46 PM, Alexander Olihovik <
> address@hidden>
> > wrote:
> > > Hi all!
> > > I'm writing a custom sink block in Python with multiple input
> ports
> of
> > all
> > > the same data type.
> > > I've been reading Josh's block coding guide, but I'm confused at
> one
> > point:
> > > The value returned by a block should be the number of items
> produced by
> > that
> > > block.
> > > Is this to say that if I have multiple ports, I may return the
> value of
> > > input_items[0]?
> > > Or is it correct to say that I must return the sum of all
> input_items[i],
> > i
> > > = range(number of input ports)?
> > >
> > >
> > > I would like to create a synchronous block where all ports consume
> and
> > > produce an equal number of items every time the work function is
> called.
> > > However, it appears that there are times when input_items[0] !=
> > > input_items[1] != ... != input_items[numPorts-1]
> > > If I were to return input_items[0], I would assume that this would
> not
> > yield
> > > the results I expect!
> > >
> > > Any help is greatly appreciated!
> > >
> > > From,
> > > Alex
> >
> >
> > If you have a block with multiple input items and you want to
> produce
> > the same number every time, noutput_items will tell you how much you
> > are capable of producing on every output stream. When you 'return
> > noutput_items', you are saying that you have produced that many
> items
> > on EVERY stream.
> >
> > There is another way that specifies the same thing. Each block
> > consumes some number of samples on every input stream and produces
> > some number of samples on every output stream. You can individually
> > specify "produce(i, N_i)" and "consume(o, N_o)" on each input and
> > output stream, respectively. In this case i is the input stream and
> > N_i is the number of items consumed on that input stream and o is
> the
> > output stream and N_o is the number of items consumed on that output
> > stream. When specifying your own 'produce' values, though, make sure
> > to return WORKED_CALLED_PRODUCE, to tell the scheduler that you have
> > done this yourself. But it sounds like you want to produce the same
> > amount on every stream, so you should be fine just using 'return
> > nouput_items'.
> >
> > Tom
> >
> >
> >
> >
> > --
> > Alex Olihovik
> > University of Virginia 2013
> > BS Electrical Engineering
> > BS Computer Engineering
> > address@hidden
>
>
> > _______________________________________________
> > Discuss-gnuradio mailing list
> > address@hidden
> > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>
>
> --
> Karlsruhe Institute of Technology (KIT)
> Communications Engineering Lab (CEL)
>
> Dipl.-Ing. Martin Braun
> Research Associate
>
> Kaiserstraße 12
> Building 05.01
> 76131 Karlsruhe
>
> Phone: +49 721 608-43790
> Fax: +49 721 608-46071
> www.cel.kit.edu
>
> KIT -- University of the State of Baden-Württemberg and
> National Laboratory of the Helmholtz Association
>
> _______________________________________________
> Discuss-gnuradio mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>
>
>
>
>
> --
> Alex Olihovik
> University of Virginia 2013
> BS Electrical Engineering
> BS Computer Engineering
> address@hidden
> _______________________________________________
> Discuss-gnuradio mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
--
Karlsruhe Institute of Technology (KIT)
Communications Engineering Lab (CEL)
Dipl.-Ing. Martin Braun
Research Associate
Kaiserstraße 12
Building 05.01
76131 Karlsruhe
Phone: +49 721 608-43790
Fax: +49 721 608-46071
www.cel.kit.edu
KIT -- University of the State of Baden-Württemberg and
National Laboratory of the Helmholtz Association
pgp741n61sFOb.pgp
Description: PGP signature
- [Discuss-gnuradio] Custom Blocks and Number of Items Per Port, Alexander Olihovik, 2012/08/01
- Re: [Discuss-gnuradio] Custom Blocks and Number of Items Per Port, Tom Rondeau, 2012/08/01
- Re: [Discuss-gnuradio] Custom Blocks and Number of Items Per Port, Alexander Olihovik, 2012/08/03
- Re: [Discuss-gnuradio] Custom Blocks and Number of Items Per Port, Martin Braun (CEL), 2012/08/03
- Re: [Discuss-gnuradio] Custom Blocks and Number of Items Per Port, Alexander Olihovik, 2012/08/03
- Re: [Discuss-gnuradio] Custom Blocks and Number of Items Per Port,
Martin Braun (CEL) <=
- Re: [Discuss-gnuradio] Custom Blocks and Number of Items Per Port, Alexander Olihovik, 2012/08/03
- Re: [Discuss-gnuradio] Custom Blocks and Number of Items Per Port, Josh Blum, 2012/08/03
- Re: [Discuss-gnuradio] Custom Blocks and Number of Items Per Port, Alexander Olihovik, 2012/08/06
- Re: [Discuss-gnuradio] Custom Blocks and Number of Items Per Port, Josh Blum, 2012/08/06