diff options
author | Matthias P. Braendli <matthias.braendli@mpb.li> | 2015-11-08 20:50:37 +0100 |
---|---|---|
committer | Matthias P. Braendli <matthias.braendli@mpb.li> | 2015-11-08 20:50:37 +0100 |
commit | 22eb9a40a48c24c2794b07f96729ce49697ef298 (patch) | |
tree | d4a22e995e52e2e1b9f8ce7749a1f8b9fbad9296 /OutputUHD.cpp | |
parent | 623bf9af76e7400900561ef8011774524c001f66 (diff) | |
download | odr-dpd-22eb9a40a48c24c2794b07f96729ce49697ef298.tar.gz odr-dpd-22eb9a40a48c24c2794b07f96729ce49697ef298.tar.bz2 odr-dpd-22eb9a40a48c24c2794b07f96729ce49697ef298.zip |
Reset receive timestamps on error
Diffstat (limited to 'OutputUHD.cpp')
-rw-r--r-- | OutputUHD.cpp | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/OutputUHD.cpp b/OutputUHD.cpp index 6800daf..a80f5b9 100644 --- a/OutputUHD.cpp +++ b/OutputUHD.cpp @@ -114,21 +114,21 @@ size_t OutputUHD::Transmit(const complexf *samples, size_t sizeIn, double *first return num_acc_samps; } -size_t OutputUHD::Receive(complexf *samples, size_t sizeIn, double *first_sample_time) +ssize_t OutputUHD::Receive(complexf *samples, size_t sizeIn, double *first_sample_time) { const double rx_timeout = 20.0; const size_t usrp_max_num_samps = myRxStream->get_max_num_samps(); const size_t samps_to_rx = std::min(sizeIn, usrp_max_num_samps); - uhd::rx_metadata_t md; - size_t num_rx_samps = myRxStream->recv(samples, samps_to_rx, md, rx_timeout); + uhd::rx_metadata_t md_rx; + ssize_t num_rx_samps = myRxStream->recv(samples, samps_to_rx, md_rx, rx_timeout); - if (md.error_code != uhd::rx_metadata_t::ERROR_CODE_NONE){ - MDEBUG("RX Error %s\n", md.strerror().c_str()); + if (md_rx.error_code != uhd::rx_metadata_t::ERROR_CODE_NONE){ + MDEBUG("RX Error %s\n", md_rx.strerror().c_str()); + num_rx_samps = -1; } - - if (md.has_time_spec) { - *first_sample_time = md.time_spec.get_real_secs(); + else if (md_rx.has_time_spec) { + *first_sample_time = md_rx.time_spec.get_real_secs(); } else { *first_sample_time = 0; |