aboutsummaryrefslogtreecommitdiffstats
path: root/CommonLibs/trx_vty.c
diff options
context:
space:
mode:
authorVadim Yanitskiy <axilirator@gmail.com>2018-08-23 13:41:06 +0700
committerVadim Yanitskiy <vyanitskiy@sysmocom.de>2021-02-21 12:01:16 +0100
commit3b8f7c4d97e7d379a989bf2e5dd781ce1b6f2cc4 (patch)
tree45db7c1d6f3627110d3eb6d6551ef36ad1bab0bd /CommonLibs/trx_vty.c
parent48cad832ea67277c4963ada347ae4cb6b625f5f2 (diff)
Add a (hidden) VTY parameter for Rx/Tx freq. shifting
Diffstat (limited to 'CommonLibs/trx_vty.c')
-rw-r--r--CommonLibs/trx_vty.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/CommonLibs/trx_vty.c b/CommonLibs/trx_vty.c
index 0bb83fe..d1da450 100644
--- a/CommonLibs/trx_vty.c
+++ b/CommonLibs/trx_vty.c
@@ -244,6 +244,19 @@ DEFUN(cfg_offset, cfg_offset_cmd,
return CMD_SUCCESS;
}
+DEFUN_ATTR(cfg_freq_offset, cfg_freq_offset_cmd,
+ "freq-offset FLOAT",
+ "Apply an artificial offset to Rx/Tx carrier frequency\n"
+ "Frequency offset in kHz (e.g. -145300)\n",
+ CMD_ATTR_HIDDEN)
+{
+ struct trx_ctx *trx = trx_from_vty(vty);
+
+ trx->cfg.freq_offset_khz = atof(argv[0]);
+
+ return CMD_SUCCESS;
+}
+
DEFUN(cfg_rssi_offset, cfg_rssi_offset_cmd,
"rssi-offset FLOAT [relative]",
"Set the RSSI to dBm offset in dB (default=0)\n"
@@ -593,6 +606,8 @@ static int config_write_trx(struct vty *vty)
vty_out(vty, " multi-arfcn %s%s", trx->cfg.multi_arfcn ? "enable" : "disable", VTY_NEWLINE);
if (trx->cfg.offset != 0)
vty_out(vty, " offset %f%s", trx->cfg.offset, VTY_NEWLINE);
+ if (trx->cfg.freq_offset_khz != 0)
+ vty_out(vty, " freq-offset %f%s", trx->cfg.freq_offset_khz, VTY_NEWLINE);
if (!(trx->cfg.rssi_offset == 0 && !trx->cfg.force_rssi_offset))
vty_out(vty, " rssi-offset %f%s%s", trx->cfg.rssi_offset,
trx->cfg.force_rssi_offset ? " relative": "", VTY_NEWLINE);
@@ -758,6 +773,7 @@ int trx_vty_init(struct trx_ctx* trx)
install_element(TRX_NODE, &cfg_clock_ref_cmd);
install_element(TRX_NODE, &cfg_multi_arfcn_cmd);
install_element(TRX_NODE, &cfg_offset_cmd);
+ install_element(TRX_NODE, &cfg_freq_offset_cmd);
install_element(TRX_NODE, &cfg_rssi_offset_cmd);
install_element(TRX_NODE, &cfg_swap_channels_cmd);
install_element(TRX_NODE, &cfg_egprs_cmd);