aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZydrunas Tamosevicius <z.tamosevicius@limemicro.com>2018-06-12 00:27:09 +0200
committerHarald Welte <laforge@gnumonks.org>2018-06-12 00:36:45 +0200
commit59437da09984becc49aeee5e454af09312f9b36c (patch)
treea7d938b33ebec5d1c71ca78298ba2c7196d987a8
parentc9ea6e3e8c33286d91a8a045264e1741067ced26 (diff)
lms: Use same timestamp offset like when using LimeSDR via UHD
The tx timestamp offset was not set. We set it to the same value as it was in UHD interface for LimeSDR Change-Id: I78bc40cd575097f71a5f82b63467fa81c3f8d837
-rw-r--r--Transceiver52M/device/lms/LMSDevice.cpp7
1 files changed, 2 insertions, 5 deletions
diff --git a/Transceiver52M/device/lms/LMSDevice.cpp b/Transceiver52M/device/lms/LMSDevice.cpp
index d9b5ba6..3e3c5f6 100644
--- a/Transceiver52M/device/lms/LMSDevice.cpp
+++ b/Transceiver52M/device/lms/LMSDevice.cpp
@@ -139,8 +139,7 @@ int LMSDevice::open(const std::string &args, int ref, bool swap_channels)
LOG(DEBUG) << "Sample Rate: Host=" << sr_host << " RF=" << sr_rf;
/* FIXME: make this device/model dependent, like UHDDevice:dev_param_map! */
- //ts_offset = static_cast<TIMESTAMP>(8.9e-5 * GSMRATE);
- ts_offset = 0;
+ ts_offset = static_cast<TIMESTAMP>(8.9e-5 * GSMRATE * sps); /* time * sample_rate */
switch (ref) {
case REF_INTERNAL:
@@ -489,8 +488,6 @@ int LMSDevice::readSamples(std::vector < short *>&bufs, int len, bool * overrun,
lms_stream_meta_t rx_metadata = {};
rx_metadata.flushPartialPacket = false;
rx_metadata.waitForTimestamp = false;
- /* Shift read time with respect to transmit clock */
- timestamp += ts_offset;
rx_metadata.timestamp = 0;
if (bufs.size() != chans) {
@@ -539,7 +536,7 @@ int LMSDevice::writeSamples(std::vector < short *>&bufs, int len,
lms_stream_meta_t tx_metadata = {};
tx_metadata.flushPartialPacket = false;
tx_metadata.waitForTimestamp = true;
- tx_metadata.timestamp = timestamp;
+ tx_metadata.timestamp = timestamp - ts_offset; /* Shift Tx time by offset */
if (isControl) {
LOG(ERR) << "Control packets not supported";