Hey all,

I just saw Tom has a patch for a similar bug I had relating to tags and
resampling. Just bringing this to the discussion in case it helps anyone
else!

http://gnuradio.org/redmine/issues/831#change-2511

- Tim

On Mon, Jan 4, 2016 at 8:55 AM, <mark.w.christian...@l-3com.com> wrote:

> My tag generator takes data packets that are time stamped for the first
> sample of each packet and needs to tag the stream produced in the work
> function. I tag starting m_tag_offset = 0 and then increment by the number
> of samples from my packets after each time I add_item_tag().
>
>
>
> I wouldn’t care so much about the tags stopping except that I sometimes
> have a dropped packet and the timing is off from then on.
>
>
>
> *From:* discuss-gnuradio-bounces+mark.w.christiansen=l-3com....@gnu.org
> [mailto:discuss-gnuradio-bounces+mark.w.christiansen=l-3com....@gnu.org] *On
> Behalf Of *Paul David
> *Sent:* Thursday, December 31, 2015 6:47 PM
> *To:* Tom Rondeau
>
> *Cc:* GNURadio Discussion List
> *Subject:* Re: [Discuss-gnuradio] Working with Tags
>
>
>
> Weird. I don't see a problem between strobe_tags -> moving average ->
> vector sink with my test. How is m_tag_offset getting set?
>
>
>
> On Thu, Dec 31, 2015 at 7:43 PM, Paul David <pudda...@gmail.com> wrote:
>
> I'm gonna check this out. I may have fixed this according to the tests we
> were looking at, but introduced a bug elsewhere.
>
> A QA test involving the moving average blocks and stream tags might help
> clear things up.
>
>
>
> On Thu, Dec 31, 2015 at 10:38 AM, Tom Rondeau <t...@trondeau.com> wrote:
>
> On Wed, Dec 30, 2015 at 3:32 PM, <mark.w.christian...@l-3com.com> wrote:
>
> It’s a tag generator that goes through several other blocks before getting
> to the tag receiver.
>
>
>
> tag generator - mag^2 - moving average ------------------- divide - add
> constant - tag receiver
>
>                                        \- moving average -/
>
>
>
> Basically I’m computing the ration of a fast average to a slow average and
> sending that to a threshold detector sink (tag receiver) to watch for the
> signal to go above threshold. It then sends a message with the time stamp
> of that event to another block for other processing. I wrote the tag
> generator and tag receiver.
>
>
>
> Mark.
>
>
>
>
>
> I'd recommend plugging the tag generator directly into the tag receiver
> just to make sure both of those are handling the tags properly. If they
> are, then we can dive into the rest of the chain to see where things might
> be having problems. My guess is that it'll be related to the different
> delays of the moving average filters.
>
>
>
> This also might be related to a bug that we recently patched:
>
>
> https://github.com/gnuradio/gnuradio/commit/ae2e24f86b562a5bdcb9f5170e0abb1cd15838cf
>
>
>
> Tom
>
>
>
>
>
>
>
>
>
> *From:* trond...@trondeau.com [mailto:trond...@trondeau.com] *On Behalf
> Of *Tom Rondeau
> *Sent:* Wednesday, December 30, 2015 9:36 AM
> *To:* Christiansen, Mark W. @ CSG - CSW
> *Cc:* GNURadio Discussion List
> *Subject:* Re: [Discuss-gnuradio] Working with Tags
>
>
>
> On Wed, Dec 30, 2015 at 11:15 AM, <mark.w.christian...@l-3com.com> wrote:
>
> I wrote a block that writes the rx_time tag and another block that reads
> it. After reading them for a 20 to thirty calls to the work function, it
> stops getting any. The amount it reads varies from run to run. Any ideas?
>
> This code snippet is from the work function my block that writes the tag.
> The cerr statement continues to print to the console until I stop execution.
>
>
>
> <code>
>
>     VITA49_packet_info packet_info = p_packet->get_VITA49_packet_info();
>
>     if (m_do_send_tags)
>
>     {
>
>       double timestamp_in_seconds =
>
>           static_cast<double>(p_packet->get_integer_seconds()) +
>
>           static_cast<double>(p_packet->get_fraction_seconds()) * 1e-12;
>
>       const pmt::pmt_t timestamp = pmt::make_tuple(
>
>           pmt::from_uint64(static_cast<long
> long>(floor(timestamp_in_seconds))),
>
>           pmt::from_double(timestamp_in_seconds -
> floor(timestamp_in_seconds)));
>
>       std::cerr << "SEND (" << d_id << ") "
>
>                 << " tag_offset=" << m_tag_offset
>
>                 << std::setprecision(std::numeric_limits<double>::digits10
> + 1)
>
>                 << " timesamp_in_seconds=" << timestamp_in_seconds <<
> std::endl;
>
>       add_item_tag(0, m_tag_offset, TIME_KEY, timestamp, d_id);
>
> </code>
>
>
>
>
>
> How are you setting m_tag_offset?
>
>
>
>
>
> This code snippet is from my work function in the block that reads the
> tag. The cerr statement stops printing after twenty to thirty times
> suggesting that it no longer sees the time tags. The rest of the work
> function continues to operate properly.
>
>
> <code>
>
>   static const pmt::pmt_t TIME_KEY = pmt::string_to_symbol("rx_time");
>
>   std::vector<tag_t> tags;
>
>   get_tags_in_range(
>
>       tags, 0, nitems_read(0), nitems_read(0) + noutput_items);
>
>   std::vector<tag_t>::iterator itr;
>
>   size_t j = 0;
>
>   for (itr = tags.begin(); itr != tags.end(); itr++, j++)
>
>   {
>
>     if (pmt::eq((*itr).key, TIME_KEY))
>
>     {
>
>       d_real_time_seconds =
>
>           static_cast<double>(pmt::to_uint64(pmt::tuple_ref((*itr).value,
> 0))) +
>
>           static_cast<double>(pmt::to_double(pmt::tuple_ref((*itr).value,
> 1)));
>
>       std::cerr << "RECEIVE (" << d_id << ") " << j
>
>                 << " tag_offset=" << (*itr).offset
>
>                 << " noutput_items=" << noutput_items
>
>                 << std::setprecision(std::numeric_limits<double>::digits10
> + 1)
>
>                 << " time_seconds=" << d_real_time_seconds << std::endl;
>
>     }
>
>   }
>
> }
>
> <code>
>
>
>
> /\/\ark.
>
>
>
>
>
> What does your flowgraph look like? Or is it just the tag producing block
> going straight in to the tag getter block?
>
>
>
> Tom
>
>
>
>
>
>
>
> _______________________________________________
> Discuss-gnuradio mailing list
> Discuss-gnuradio@gnu.org
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>
>
>
>
>
> _______________________________________________
> Discuss-gnuradio mailing list
> Discuss-gnuradio@gnu.org
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>
>
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to