diff --git a/software/gr-caribouLite/lib/caribouLiteSource_impl.cc b/software/gr-caribouLite/lib/caribouLiteSource_impl.cc index 243b328..665c2f2 100644 --- a/software/gr-caribouLite/lib/caribouLiteSource_impl.cc +++ b/software/gr-caribouLite/lib/caribouLiteSource_impl.cc @@ -86,6 +86,11 @@ namespace gr { _radio->StartReceiving(); } + uint64_t caribouLiteSource_impl::getHandle() const + { + return (uint64_t)((void*)(_radio)); + } + // virtual destructor //------------------------------------------------------------------------------------------------------------- caribouLiteSource_impl::~caribouLiteSource_impl() @@ -100,13 +105,17 @@ 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); - - if (ret <= 0) + int read_samples = _radio->ReadSamples(out_samples, static_cast(noutput_items), out_meta); + if (read_samples <= 0) { return 0;} + + for (int i = 0; i < read_samples; i++) { - return 0; + if (out_meta[i] == 1) { + add_item_tag(0, i, pmt::string_to_symbol("pps") ,pmt::from_bool(true)); + } } - return ret; + + return read_samples; } } /* namespace caribouLite */ diff --git a/software/gr-caribouLite/lib/caribouLiteSource_impl.h b/software/gr-caribouLite/lib/caribouLiteSource_impl.h index 27bdb53..6081a21 100644 --- a/software/gr-caribouLite/lib/caribouLiteSource_impl.h +++ b/software/gr-caribouLite/lib/caribouLiteSource_impl.h @@ -48,6 +48,8 @@ namespace gr gr_vector_const_void_star &input_items, gr_vector_void_star &output_items ); + + uint64_t caribouLiteSource_impl::getHandle() const; }; } // namespace caribouLite