GRC programming problem--anyone with any bright ideas?

I’ve been working on a flow-graph for meteor-burst detection on VHF
(more specifically using the NAVSPASUR “space fence” as a signal
source).

Part of the flow-graph involves probes that run at several-Hz rate and
decide whether to start recording signal-power data, based on
triggering criteria. This works just fine. The
trigger-detection/recording function also returns a filename (either
/dev/null if not
triggered, or a dynamically-generated filename otherwise). The
intention of this is to provide the filename for a gr_file_sink to use
to record downsampled baseband data during triggering. The problem,
of course, is that if this variable is handed to gr_file_sink,
it’ll be re-opening files (either /dev/null or the “real” file) at a
many-Hz rate, which is not the desired semantic. So I modified
gr_file_sink
to check for a change in filename in the open() method, and only
proceed with a re-open if the filename has changed. This isn’t really
clean and elegant.

GRC doesn’t lend itself particularly well to this type of processing.
I suppose I could run the baseband streams into a vector sink, and have
my
poll function unload those vectors whenever the poll function is
called. Any hints on how to do that?


Marcus L.
Principal Investigator
Shirleys Bay Radio Astronomy Consortium