diff --git a/software/gr-caribouLite/lib/caribouLiteSource_impl.cc b/software/gr-caribouLite/lib/caribouLiteSource_impl.cc index 243b328..702c8bc 100644 --- a/software/gr-caribouLite/lib/caribouLiteSource_impl.cc +++ b/software/gr-caribouLite/lib/caribouLiteSource_impl.cc @@ -100,13 +100,23 @@ namespace gr { { auto out_samples = static_cast(output_items[0]); auto out_meta = _provide_meta == true ? static_cast(output_items[1]) : (uint8_t*) NULL ; - int ret = _radio->ReadSamples(out_samples, static_cast(noutput_items), out_meta); + uint8_t* pps; + int read_samples = _radio->ReadSamples(out_samples, static_cast(noutput_items), pps); + + const pmt::pmt_t key = pmt::from_bool(true); + for (int i = 0; i < read_samples; i++) + { + const pmt::pmt_t value = pmt::from_uint64(pps[i]); + if (pps[i] == 1) { + add_item_tag(0, i, key, value); + } + } - if (ret <= 0) + if (read_samples <= 0) { return 0; } - return ret; + return read_samples; } } /* namespace caribouLite */