aboutsummaryrefslogtreecommitdiffstats
path: root/src/osmo-bts-trx/trx_vty.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/osmo-bts-trx/trx_vty.c')
-rw-r--r--src/osmo-bts-trx/trx_vty.c60
1 files changed, 33 insertions, 27 deletions
diff --git a/src/osmo-bts-trx/trx_vty.c b/src/osmo-bts-trx/trx_vty.c
index 36d75c1d..a7a433be 100644
--- a/src/osmo-bts-trx/trx_vty.c
+++ b/src/osmo-bts-trx/trx_vty.c
@@ -160,39 +160,47 @@ DEFUN(show_phy, show_phy_cmd, "show phy",
return CMD_SUCCESS;
}
-DEFUN(cfg_bts_ms_power_loop, cfg_bts_ms_power_loop_cmd,
- "ms-power-loop <-127-127>",
+DEFUN(cfg_phy_ms_power_loop, cfg_phy_ms_power_loop_cmd,
+ "osmotrx ms-power-loop <-127-127>", OSMOTRX_STR
"Enable MS power control loop\nTarget RSSI value (transceiver specific, "
"should be 6dB or more above noise floor)\n")
{
- trx_ms_power_loop = 1;
- trx_target_rssi = atoi(argv[0]);
+ struct phy_link *plink = vty->index;
+
+ plink->u.osmotrx.trx_target_rssi = atoi(argv[0]);
+ plink->u.osmotrx.trx_ms_power_loop = true;
return CMD_SUCCESS;
}
-DEFUN(cfg_bts_no_ms_power_loop, cfg_bts_no_ms_power_loop_cmd,
- "no ms-power-loop",
- NO_STR "Disable MS power control loop\n")
+DEFUN(cfg_phy_no_ms_power_loop, cfg_phy_no_ms_power_loop_cmd,
+ "no osmotrx ms-power-loop",
+ NO_STR OSMOTRX_STR "Disable MS power control loop\n")
{
- trx_ms_power_loop = 0;
+ struct phy_link *plink = vty->index;
+
+ plink->u.osmotrx.trx_ms_power_loop = false;
return CMD_SUCCESS;
}
-DEFUN(cfg_bts_timing_advance_loop, cfg_bts_timing_advance_loop_cmd,
- "timing-advance-loop",
+DEFUN(cfg_phy_timing_advance_loop, cfg_phy_timing_advance_loop_cmd,
+ "osmotrx timing-advance-loop", OSMOTRX_STR
"Enable timing advance control loop\n")
{
- trx_ta_loop = 1;
+ struct phy_link *plink = vty->index;
+
+ plink->u.osmotrx.trx_ta_loop = true;
return CMD_SUCCESS;
}
-DEFUN(cfg_bts_no_timing_advance_loop, cfg_bts_no_timing_advance_loop_cmd,
- "no timing-advance-loop",
- NO_STR "Disable timing advance control loop\n")
+DEFUN(cfg_phy_no_timing_advance_loop, cfg_phy_no_timing_advance_loop_cmd,
+ "no osmotrx timing-advance-loop",
+ NO_STR OSMOTRX_STR "Disable timing advance control loop\n")
{
- trx_ta_loop = 0;
+ struct phy_link *plink = vty->index;
+
+ plink->u.osmotrx.trx_ta_loop = false;
return CMD_SUCCESS;
}
@@ -490,6 +498,12 @@ void bts_model_config_write_phy(struct vty *vty, struct phy_link *plink)
vty_out(vty, " osmotrx ip remote %s%s",
plink->u.osmotrx.remote_ip, VTY_NEWLINE);
+ if (plink->u.osmotrx.trx_ms_power_loop)
+ vty_out(vty, " osmotrx ms-power-loop %d%s", plink->u.osmotrx.trx_target_rssi, VTY_NEWLINE);
+ else
+ vty_out(vty, " no osmotrx ms-power-loop%s", VTY_NEWLINE);
+ vty_out(vty, " %s osmotrx timing-advance-loop%s", (plink->u.osmotrx.trx_ta_loop) ? "" : "no", VTY_NEWLINE);
+
if (plink->u.osmotrx.base_port_local)
vty_out(vty, " osmotrx base-port local %"PRIu16"%s",
plink->u.osmotrx.base_port_local, VTY_NEWLINE);
@@ -539,13 +553,6 @@ void bts_model_config_write_phy_inst(struct vty *vty, struct phy_instance *pinst
void bts_model_config_write_bts(struct vty *vty, struct gsm_bts *bts)
{
- if (trx_ms_power_loop)
- vty_out(vty, " ms-power-loop %d%s", trx_target_rssi,
- VTY_NEWLINE);
- else
- vty_out(vty, " no ms-power-loop%s", VTY_NEWLINE);
- vty_out(vty, " %stiming-advance-loop%s", (trx_ta_loop) ? "":"no ",
- VTY_NEWLINE);
}
void bts_model_config_write_trx(struct vty *vty, struct gsm_bts_trx *trx)
@@ -559,11 +566,10 @@ int bts_model_vty_init(struct gsm_bts *bts)
install_element_ve(&show_transceiver_cmd);
install_element_ve(&show_phy_cmd);
- install_element(BTS_NODE, &cfg_bts_ms_power_loop_cmd);
- install_element(BTS_NODE, &cfg_bts_no_ms_power_loop_cmd);
- install_element(BTS_NODE, &cfg_bts_timing_advance_loop_cmd);
- install_element(BTS_NODE, &cfg_bts_no_timing_advance_loop_cmd);
-
+ install_element(PHY_NODE, &cfg_phy_ms_power_loop_cmd);
+ install_element(PHY_NODE, &cfg_phy_no_ms_power_loop_cmd);
+ install_element(PHY_NODE, &cfg_phy_timing_advance_loop_cmd);
+ install_element(PHY_NODE, &cfg_phy_no_timing_advance_loop_cmd);
install_element(PHY_NODE, &cfg_phy_base_port_cmd);
install_element(PHY_NODE, &cfg_phy_fn_advance_cmd);
install_element(PHY_NODE, &cfg_phy_rts_advance_cmd);