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