diff options
Diffstat (limited to 'AlignSample.cpp')
-rw-r--r-- | AlignSample.cpp | 28 |
1 files changed, 18 insertions, 10 deletions
diff --git a/AlignSample.cpp b/AlignSample.cpp index 15dda60..dbb68c7 100644 --- a/AlignSample.cpp +++ b/AlignSample.cpp @@ -53,10 +53,6 @@ namespace fftw { void AlignSample::push_tx_samples(complexf* samps, size_t len, double first_sample_time) { - if (first_sample_time > 5.1 and first_sample_time < 5.5) { - fwrite(samps, sizeof(complexf), len, fd_tx); - } - std::lock_guard<std::mutex> lock(m_mutex); std::copy(samps, samps + len, std::back_inserter(m_txsamples)); @@ -67,16 +63,28 @@ void AlignSample::push_tx_samples(complexf* samps, size_t len, double first_samp void AlignSample::push_rx_samples(complexf* samps, size_t len, double first_sample_time) { - if (first_sample_time > 5.1 and first_sample_time < 5.5) { - fwrite(samps, sizeof(complexf), len, fd_rx); - } - std::lock_guard<std::mutex> lock(m_mutex); - std::copy(samps, samps + len, std::back_inserter(m_rxsamples)); + if (m_first_rx_sample_time == 0 and first_sample_time != 0) { + std::copy(samps, samps + len, std::back_inserter(m_rxsamples)); - if (m_first_rx_sample_time == 0) { m_first_rx_sample_time = first_sample_time; + m_num_rx_samples_dropped = 0; + } + else if (m_first_rx_sample_time != 0) { + // We have previously received samples with valid timestamp + std::copy(samps, samps + len, std::back_inserter(m_rxsamples)); } + else if (first_sample_time == 0) { + MDEBUG("RX timestamp missing\n"); + } +} + +void AlignSample::reset_rx() +{ + std::lock_guard<std::mutex> lock(m_mutex); + m_first_rx_sample_time = 0; + m_num_rx_samples_dropped = 0; + m_rxsamples.clear(); } bool AlignSample::ready(size_t min_samples) |