diff options
author | Vadim Yanitskiy <vyanitskiy@sysmocom.de> | 2021-02-07 06:00:46 +0100 |
---|---|---|
committer | Vadim Yanitskiy <vyanitskiy@sysmocom.de> | 2021-02-07 19:20:12 +0100 |
commit | ea8d6939e6dc6f3a2c235c45ce63ae4cd5d9009f (patch) | |
tree | 1502e1af2835a459d60ac68d623f0f316ed4e5c1 /src/osmo-bsc/bsc_vty.c | |
parent | e1d2691e691c5de26294e4d38198edc41862db7b (diff) |
power_control: make P_CON_INTERVAL parameter configurable
Change-Id: I6e0fae81cc60f708e49d5eb8dfc0bbcad926b18f
Related: SYS#4918
Diffstat (limited to 'src/osmo-bsc/bsc_vty.c')
-rw-r--r-- | src/osmo-bsc/bsc_vty.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 567b1680c..26941e209 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -957,6 +957,8 @@ static void config_write_power_ctrl(struct vty *vty, unsigned int indent, if (cp->dir == GSM_PWR_CTRL_DIR_DL) cfg_out(" bs-power dyn-max %u%s", cp->bs_power_max_db, VTY_NEWLINE); + if (cp->ctrl_interval > 0) + cfg_out(" ctrl-interval %u%s", cp->ctrl_interval, VTY_NEWLINE); cfg_out(" step-size inc %u red %u%s", cp->inc_step_size_db, cp->red_step_size_db, VTY_NEWLINE); @@ -4938,6 +4940,21 @@ DEFUN_USRATTR(cfg_power_ctrl_bs_power, return CMD_SUCCESS; } +DEFUN_USRATTR(cfg_power_ctrl_ctrl_interval, + cfg_power_ctrl_ctrl_interval_cmd, + X(BSC_VTY_ATTR_VENDOR_SPECIFIC) | + X(BSC_VTY_ATTR_NEW_LCHAN), + "ctrl-interval <0-31>", + "Set power control interval (for dynamic mode)\n" + "P_CON_INTERVAL, in units of 2 SACCH periods (0.96 seconds)\n") +{ + struct gsm_power_ctrl_params *params = vty->index; + + params->ctrl_interval = atoi(argv[0]); + + return CMD_SUCCESS; +} + DEFUN_USRATTR(cfg_power_ctrl_step_size, cfg_power_ctrl_step_size_cmd, X(BSC_VTY_ATTR_VENDOR_SPECIFIC) | @@ -7742,6 +7759,7 @@ int bsc_vty_init(struct gsm_network *network) install_node(&power_ctrl_node, dummy_config_write); install_element(POWER_CTRL_NODE, &cfg_power_ctrl_mode_cmd); install_element(POWER_CTRL_NODE, &cfg_power_ctrl_bs_power_cmd); + install_element(POWER_CTRL_NODE, &cfg_power_ctrl_ctrl_interval_cmd); install_element(POWER_CTRL_NODE, &cfg_power_ctrl_step_size_cmd); install_element(POWER_CTRL_NODE, &cfg_power_ctrl_rxlev_thresh_cmd); install_element(POWER_CTRL_NODE, &cfg_power_ctrl_rxqual_thresh_cmd); |