Hello, I would like to ask if there is any possibility to reset Head block after it has signaled Done - after collecting a number of samples. A simple callback would be most preferred but only: set_length is defined:
make: blocks.head(${type.size}*${vlen}, ${num_items}) callbacks: - set_length(${num_items}) While there is a reset method defined in head_impl.h void reset() { d_ncopied_items = 0; } void set_length(uint64_t nitems) { d_nitems = nitems; } I am unable to call it via call in flowgraph.py generated file due to lack of registered callback. (I already tried setting length to 0 and then back again, but it didn't reset the block). Should I simply register the callback like: templates: imports: from gnuradio import blocks make: blocks.head(${type.size}*${vlen}, ${num_items}) callbacks: - set_length(${num_items}) - reset() and then rebuild gr-blocks? (and later commit it to GNU Radio github) Or is there a better solution? What I am trying to achieve is triggering a measurement of N samples and saving it to a generated filename via QT GUI checkbox using a Selector and Head sink. The renaming and file generation is already solved via callbacks, but after a single measurement trigger it only generates empty files - no data is fed into them. Flowgraph img: [image: image.png] Triggering the measurement code: the reset() does not make any effect def set_trigger_measurment(self, trigger_measurment): self.trigger_measurment = trigger_measurment self._trigger_measurment_callback(self.trigger_measurment) if trigger_measurment == True: self.blocks_head_0.reset() self.blocks_file_sink_0.open(testbench_setup_pymodule.get_meas_path(self.distance, self.rx_gain, self.src_att, self.physical_aoa)) self.blocks_selector_1.set_output_index(self.trigger_measurment) Kind regards, Marcin Wachowiak