aboutsummaryrefslogtreecommitdiffstats
path: root/OutputUHD.cpp
diff options
context:
space:
mode:
authorMatthias P. Braendli <matthias.braendli@mpb.li>2015-11-08 20:50:37 +0100
committerMatthias P. Braendli <matthias.braendli@mpb.li>2015-11-08 20:50:37 +0100
commit22eb9a40a48c24c2794b07f96729ce49697ef298 (patch)
treed4a22e995e52e2e1b9f8ce7749a1f8b9fbad9296 /OutputUHD.cpp
parent623bf9af76e7400900561ef8011774524c001f66 (diff)
downloadodr-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.cpp16
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;