Dear Seth,

Also thanks to your answer.
To be clear, is HDLC the same thing what I've searched in google?

High-Level Data Link Control (HDLC) is a bit-oriented code-transparent
synchronous data link layer protocol developed by the International
Organization for Standardization (ISO). The original ISO standards for HDLC
are ...
- Wikipedia https://en.wikipedia.org/wiki/High-Level_Data_Link_Control

Anyway, thanks again. I'll get that repo and see how it works. :)

Regards,
Jeon.



2015-10-22 5:43 GMT+09:00 Seth Hitefield <sd...@vt.edu>:

> Jeon,
>
> I was talking with a co-worker and I think I got the stock HDLC
> framer/deframer confused with the ones available in gr-framers on the gr-vt
> repo:
> https://github.com/gr-vt/gr-framers/tree/master/lib
>
> The framers in gr-framers do produce idle flags when there are no input
> messages; I’m not sure about the stock ones.
>
> — Seth
>
>
> On Oct 21, 2015, at 12.48, Seth Hitefield <sd...@vt.edu> wrote:
>
> Jeon,
>
> You could also possibly use the HDLC framer/deframer blocks. That block
> produces an idle flag when there are no message inputs.
>
> -- Seth
>
>
> On 10/21/2015 11:39 AM, Jeon wrote:
>
> Dear Marcus,
>
> Thank you for quick and detailed answer.
>
> I'll check that gr-eventstream as well as fundamentals of GNU Radio you've
> described.
>
> Regards,
> Jeon.
>
> 2015-10-21 22:23 GMT+09:00 Marcus Müller <marcus.muel...@ettus.com>:
>
>> Hi Jeon,
>>
>> with gr-eventstream, there's something that already does the "idle time
>> padding":
>> https://github.com/osh/gr-eventstream/
>> Read Tim's articles, too:
>> http://oshearesearch.com/tag/gr-eventstream/
>>
>> To answer your question:
>>
>> 1. Is it allowed to forecast zero item? And does it behave as I expect?
>>
>> Well, yes, and no :)
>> First: your Pad Idle block is a stream source (It doesn't have a stream
>> input, only a message input); you don't have to implement a forecast, just
>> use a sync block type (or the source block type that gr_modtool offers you
>> to generate).
>> Generally, it's right to tell GNU Radio you can't produce anything with
>> the current input, but:
>> stream sources are a little special, as they *never* get input, so from
>> GNU Radio's perspective, the input situation can't ever change. So telling
>> GNU Radio you can't produce anything will make your flow graph stop. As a
>> side note, I've never thought about whether forecast ever gets called on a
>> source -- basically, what should that do? There's not ninput_required array
>> with nonzero length to be filled with values on a block with no inputs!
>>
>> 2. If forecasting zero item is possible, willl general_work() be called
>> extremely frequently so that other blocks are prevented from being called?
>>
>> There's no "preventing other blocks from being called". GNU Radio is
>> multithreaded, and as long as there's stuff to be done, the other blocks
>> will be called until all buffers have run dry.
>>
>> The point here is that you should just block in your work function if
>> you're a source. However, with the modern message passing alone, that's
>> impossible, because messages are always delivered when your work is
>> currently *not* running. Hence, gr-eventstream takes a queue approach,
>> and that works pretty well.
>>
>> Best regards,
>> Marcus
>>
>>
>>
>>
>> On 10/21/2015 02:53 PM, Jeon wrote:
>>
>> Consider a flow graph like: <http://i.imgur.com/bNa6YuQ.png>
>> http://i.imgur.com/bNa6YuQ.png
>>
>>
>>
>> Message source produces a short message. Period is quite long. Thus,
>> There should be a long idle time.
>>
>> I'd like to build a block 'pad idle'. The block pad a predefined sequence
>> if the upstream block gives nothing.
>>
>> I think a prototype would be:
>> <https://gist.github.com/gsongsong/d40b85a76ab8e80ae468#file-gistfile1-txt-L11>
>> https://gist.github.com/gsongsong/d40b85a76ab8e80ae468#file-gistfile1-txt-L11
>>
>> By setting the number of required items to zero in forecast(),
>> general_work() will be called even there is no items received. And general
>> work() checks the ninput_items and if it is zero, generates some
>> idle-padding samples/patterns. Otherwise, it just handles and passess a
>> message/samples to downstream.
>>
>> But it's just my thought. There may be a couple of considerations.
>>
>> 1. Is it allowed to forecast zero item? And does it behave as I expect?
>> 2. If forecasting zero item is possible, willl general_work() be called
>> extremely frequently so that other blocks are prevented from being called?
>>
>> Regards,
>> Jeon.
>>
>>
>> _______________________________________________
>> Discuss-gnuradio mailing 
>> listDiscuss-gnuradio@gnu.orghttps://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 
> listDiscuss-gnuradio@gnu.orghttps://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
>
>
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to