File sink

I have an application where I observe real time display of some bands.
What I
want to do is make a FIFO/Buffer where the data can be stored
and with a push button ‘rewind’ I can access the immediate past 15 sec

So basically I want to know how to make a such file sink, which can
just immediate past 15 sec data.

gr_file_sink keeps increasing the size while gr_head stops after taking
fixed number of samples.

View this message in context:
Sent from the GnuRadio mailing list archive at

Hello Sumit Kurmar,

this depends on what you want to do with your data, the data rate, and
the amount of effort your willing to make.

  • Easiest solution: Use the “delay” block with a delay of (sample rate)
  • 15s. Advantage: Yields a GNU Radio sample stream that’s delayed by
    15s. Drawback: This can be a large amount of samples, so this might
    actually fail if GNU Radio is not able to allocate a shared buffer
    that’s big enough to hold them; there are ways around that, anyways.
  • Versatile solution: Write your own signal processing block. It’s
    really a simple exercise when done in python or in C++, whatever is the
    language of your choice.
    Just implement a ring buffer of length (sample rate)*15s by keeping an
    input counter that increments (mod length) whenever you copy input
    samples to the internal buffer, and either write a method that returns a
    (linear) copy of the stored data or dumps it to a file or emits it as a
    message or starts pushing it to the output buffer or does whatever your
    application needs.

Happy Hacking,

Marcus… that easiest method gave me for a temporary solution… and I
happy with it for the time being

View this message in context:
Sent from the GnuRadio mailing list archive at

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs