aboutsummaryrefslogtreecommitdiffstats
path: root/AlignSample.hpp
diff options
context:
space:
mode:
authorMatthias P. Braendli <matthias.braendli@mpb.li>2015-11-08 21:26:48 +0100
committerMatthias P. Braendli <matthias.braendli@mpb.li>2015-11-08 21:26:48 +0100
commit05886065ea52559de5800850f728432c826f33b6 (patch)
tree1d5b8f4fdb2e12d52f1638be2ee7cba902e65650 /AlignSample.hpp
parent22eb9a40a48c24c2794b07f96729ce49697ef298 (diff)
downloadodr-dpd-05886065ea52559de5800850f728432c826f33b6.tar.gz
odr-dpd-05886065ea52559de5800850f728432c826f33b6.tar.bz2
odr-dpd-05886065ea52559de5800850f728432c826f33b6.zip
Move definition of TX timestamp and fix bug after RX reset
Diffstat (limited to 'AlignSample.hpp')
-rw-r--r--AlignSample.hpp18
1 files changed, 14 insertions, 4 deletions
diff --git a/AlignSample.hpp b/AlignSample.hpp
index 78c430f..5757ff9 100644
--- a/AlignSample.hpp
+++ b/AlignSample.hpp
@@ -88,14 +88,24 @@ class AlignSample {
private:
bool align();
- double m_rx_sample_time() const {
+ double m_rx_sample_time(size_t offset = 0) const {
return m_first_rx_sample_time +
- (double)m_num_rx_samples_dropped / samplerate;
+ (double)(m_num_rx_samples_dropped + offset) / (double)samplerate;
}
- double m_tx_sample_time() const {
+ double m_tx_sample_time(size_t offset = 0) const {
return m_first_tx_sample_time +
- (double)m_num_tx_samples_dropped / samplerate;
+ (double)(m_num_tx_samples_dropped + offset) / (double)samplerate;
+ }
+
+ void m_drop_tx_samples(size_t samples) {
+ m_txsamples.erase(m_txsamples.begin(), m_txsamples.begin() + samples);
+ m_num_tx_samples_dropped += samples;
+ }
+
+ void m_drop_rx_samples(size_t samples) {
+ m_rxsamples.erase(m_rxsamples.begin(), m_rxsamples.begin() + samples);
+ m_num_rx_samples_dropped += samples;
}
std::mutex m_mutex;