<p>fixeria would like fixeria to <strong>review</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/osmo-trx/+/22942">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">Add VTY parameter for Rx/Tx freq. shifting<br><br>Change-Id: I360e8ba91471757210c7f096c04928a6fbb91c61<br>Related: SYS#4454<br>---<br>M CommonLibs/config_defs.h<br>M CommonLibs/trx_vty.c<br>M Transceiver52M/Transceiver.cpp<br>M Transceiver52M/osmo-trx.cpp<br>4 files changed, 18 insertions(+), 3 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/42/22942/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/CommonLibs/config_defs.h b/CommonLibs/config_defs.h</span><br><span>index a9ed25e..ce6c1e7 100644</span><br><span>--- a/CommonLibs/config_defs.h</span><br><span>+++ b/CommonLibs/config_defs.h</span><br><span>@@ -46,6 +46,7 @@</span><br><span>  enum FillerType filler;</span><br><span>      bool multi_arfcn;</span><br><span>    double offset;</span><br><span style="color: hsl(120, 100%, 40%);">+        double freq_offset;</span><br><span>  double rssi_offset;</span><br><span>  bool force_rssi_offset; /* Force value set in VTY? */</span><br><span>        bool swap_channels;</span><br><span>diff --git a/CommonLibs/trx_vty.c b/CommonLibs/trx_vty.c</span><br><span>index 0bb83fe..fdd05b1 100644</span><br><span>--- a/CommonLibs/trx_vty.c</span><br><span>+++ b/CommonLibs/trx_vty.c</span><br><span>@@ -258,6 +258,18 @@</span><br><span>      return CMD_SUCCESS;</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+DEFUN(cfg_freq_offset, cfg_freq_offset_cmd,</span><br><span style="color: hsl(120, 100%, 40%);">+     "freq-offset OFFSET",</span><br><span style="color: hsl(120, 100%, 40%);">+       "Shift the baseband frequency\n"</span><br><span style="color: hsl(120, 100%, 40%);">+    "Frequency shift in kHz (e.g. -145300)\n")</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+       struct trx_ctx *trx = trx_from_vty(vty);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    trx->cfg.freq_offset = atoi(argv[0]);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    return CMD_SUCCESS;</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> DEFUN(cfg_swap_channels, cfg_swap_channels_cmd,</span><br><span>  "swap-channels (disable|enable)",</span><br><span>  "Swap primary and secondary channels of the PHY (if any)\n"</span><br><span>@@ -759,6 +771,7 @@</span><br><span>  install_element(TRX_NODE, &cfg_multi_arfcn_cmd);</span><br><span>         install_element(TRX_NODE, &cfg_offset_cmd);</span><br><span>      install_element(TRX_NODE, &cfg_rssi_offset_cmd);</span><br><span style="color: hsl(120, 100%, 40%);">+  install_element(TRX_NODE, &cfg_freq_offset_cmd);</span><br><span>         install_element(TRX_NODE, &cfg_swap_channels_cmd);</span><br><span>       install_element(TRX_NODE, &cfg_egprs_cmd);</span><br><span>       install_element(TRX_NODE, &cfg_ext_rach_cmd);</span><br><span>diff --git a/Transceiver52M/Transceiver.cpp b/Transceiver52M/Transceiver.cpp</span><br><span>index 0a1ba6f..3384c6e 100644</span><br><span>--- a/Transceiver52M/Transceiver.cpp</span><br><span>+++ b/Transceiver52M/Transceiver.cpp</span><br><span>@@ -954,7 +954,7 @@</span><br><span>     // tune receiver</span><br><span>     int freqKhz;</span><br><span>     sscanf(params, "%d", &freqKhz);</span><br><span style="color: hsl(0, 100%, 40%);">-    mRxFreq = freqKhz * 1e3;</span><br><span style="color: hsl(120, 100%, 40%);">+    mRxFreq = (freqKhz + cfg->freq_offset) * 1e3;</span><br><span>     if (!mRadioInterface->tuneRx(mRxFreq, chan)) {</span><br><span>        LOGCHAN(chan, DTRXCTRL, FATAL) << "RX failed to tune";</span><br><span>        sprintf(response,"RSP RXTUNE 1 %d",freqKhz);</span><br><span>@@ -965,7 +965,7 @@</span><br><span>     // tune txmtr</span><br><span>     int freqKhz;</span><br><span>     sscanf(params, "%d", &freqKhz);</span><br><span style="color: hsl(0, 100%, 40%);">-    mTxFreq = freqKhz * 1e3;</span><br><span style="color: hsl(120, 100%, 40%);">+    mTxFreq = (freqKhz + cfg->freq_offset) * 1e3;</span><br><span>     if (!mRadioInterface->tuneTx(mTxFreq, chan)) {</span><br><span>        LOGCHAN(chan, DTRXCTRL, FATAL) << "TX failed to tune";</span><br><span>        sprintf(response,"RSP TXTUNE 1 %d",freqKhz);</span><br><span>diff --git a/Transceiver52M/osmo-trx.cpp b/Transceiver52M/osmo-trx.cpp</span><br><span>index 2d45932..bf11f9f 100644</span><br><span>--- a/Transceiver52M/osmo-trx.cpp</span><br><span>+++ b/Transceiver52M/osmo-trx.cpp</span><br><span>@@ -542,7 +542,8 @@</span><br><span>   ost << "   Filler Burst TSC........ " << trx->cfg.rtsc << std::endl;</span><br><span>  ost << "   Filler Burst RACH Delay. " << trx->cfg.rach_delay << std::endl;</span><br><span>    ost << "   Multi-Carrier........... " << trx->cfg.multi_arfcn << std::endl;</span><br><span style="color: hsl(0, 100%, 40%);">-      ost << "   Tuning offset........... " << trx->cfg.offset << std::endl;</span><br><span style="color: hsl(120, 100%, 40%);">+ ost << "   LO freq. offset......... " << trx->cfg.offset << std::endl;</span><br><span style="color: hsl(120, 100%, 40%);">+ ost << "   Tune freq. offset....... " << trx->cfg.freq_offset << std::endl;</span><br><span>   ost << "   RSSI to dBm offset...... " << trx->cfg.rssi_offset << (trx->cfg.force_rssi_offset ? "" : " (relative)") << std::endl;</span><br><span>         ost << "   Swap channels........... " << trx->cfg.swap_channels << std::endl;</span><br><span>         ost << "   Tx Antennas.............";</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-trx/+/22942">change 22942</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/osmo-trx/+/22942"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-trx </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I360e8ba91471757210c7f096c04928a6fbb91c61 </div>
<div style="display:none"> Gerrit-Change-Number: 22942 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: fixeria <vyanitskiy@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: fixeria <axilirator@gmail.com> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>