uhd: log useful information on monotonic errors
Track the current errant and previous timestamp values.
Signed-off-by: Thomas Tsou <ttsou@vt.edu>
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@2637 19bc5d8c-e614-43d4-8b26-e1612bc8e597
diff --git a/Transceiver52M/UHDDevice.cpp b/Transceiver52M/UHDDevice.cpp
index 68aeb03..e134f56 100644
--- a/Transceiver52M/UHDDevice.cpp
+++ b/Transceiver52M/UHDDevice.cpp
@@ -398,18 +398,23 @@
static int check_rx_md_err(uhd::rx_metadata_t &md, uhd::time_spec_t &prev_ts)
{
+ uhd::time_spec_t ts;
+
// Missing timestamp
if (!md.has_time_spec) {
LOG(ERROR) << "UHD: Received packet missing timestamp";
return -1;
}
+ ts = md.time_spec;
+
// Monotonicity check
- if (md.time_spec < prev_ts) {
- LOG(ERROR) << "Loss of monotonicity";
+ if (ts < prev_ts) {
+ LOG(ERROR) << "UHD: Loss of monotonic: " << ts.get_real_secs();
+ LOG(ERROR) << "UHD: Previous time: " << prev_ts.get_real_secs();
return -1;
} else {
- prev_ts = md.time_spec;
+ prev_ts = ts;
}
return 0;