On Wed, Apr 19, 2006 at 05:50:38PM -0400, Charles Swiger wrote:
> On Wed, 2006-04-19 at 16:54 -0400, Michael Dickens wrote:
> > Chuck - A variety of comments; someone please correct me if my  
> > understanding is not correct. - MLD
> 
> > 4) The return value for "work()" or "general_work()" is the number of  
> > output items actually created, but no more than the input  
> > "noutput_items".  Remember, these are -items- as defined by the  
> > "output_io_signature", not necessarily Bytes or whatever.
> > 
> 
> Ah [lightbulbs flash]   -  I'm blindly returning noutput_items
> but only processing NCODERS items, explains the missing data.
> 
> This'll take a while.
> 
> --Chuck 


Chuck,

To  make the new code match the behavior of GrAtscTrellisEncoder
(which is what I think you're up to) you'll need to derive from
gr_sync_block and add this to your constructor:

  set_output_multiple(atsci_trellis_encoder::NCODERS);

If you're explicitly calling set_history, remove that.

I'd try it with the standard forecast method first.  If that doesn't
work you may have to modify it such that it returns NCODERS + the
"regular" answer.  Normally we'd just call
set_history(atsci_trellis_encoder::NCODERS), but that would have the
side-effect of the first 12-segments we saw being binary zero, which
means it wouldn't have the pipeline info fields initalized properly.

Hope this helps.  The code is a bit odd because it must maintain the
12-segment alignment, even in the face of errors upstream (which I
don't think can happen).

I also suggest adding the "paranoid check" that's at the bottom of
GrAtscTrellisEncoder if you haven't already.

Eric


_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to