<p>fixeria has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-bts/+/21499">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">power_control: clarify units in 'struct bts_power_ctrl_params'<br><br>Change-Id: Icb059ca1f555397be116a424800e4536883b9106<br>Related: SYS#4918<br>---<br>M include/osmo-bts/bts.h<br>M src/common/bts.c<br>M src/common/power_control.c<br>M src/common/vty.c<br>M src/osmo-bts-lc15/oml.c<br>M src/osmo-bts-oc2g/oml.c<br>M src/osmo-bts-sysmo/oml.c<br>M src/osmo-bts-sysmo/sysmobts_vty.c<br>M src/osmo-bts-trx/trx_vty.c<br>M tests/power/bs_power_loop_test.c<br>M tests/power/ms_power_loop_test.c<br>11 files changed, 42 insertions(+), 42 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/99/21499/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/include/osmo-bts/bts.h b/include/osmo-bts/bts.h</span><br><span>index 3847a26..48f404c 100644</span><br><span>--- a/include/osmo-bts/bts.h</span><br><span>+++ b/include/osmo-bts/bts.h</span><br><span>@@ -104,9 +104,9 @@</span><br><span> /* UL/DL power control parameters */</span><br><span> struct bts_power_ctrl_params {</span><br><span>     /* Target value to strive to */</span><br><span style="color: hsl(0, 100%, 40%);">- int target;</span><br><span style="color: hsl(120, 100%, 40%);">+   int target_dbm;</span><br><span>      /* Tolerated deviation from target */</span><br><span style="color: hsl(0, 100%, 40%);">-   int hysteresis;</span><br><span style="color: hsl(120, 100%, 40%);">+       int hysteresis_db;</span><br><span>   /* RxLev filtering algorithm */</span><br><span>      enum bts_pf_algo pf_algo;</span><br><span>    /* (Optional) filtering parameters */</span><br><span>diff --git a/src/common/bts.c b/src/common/bts.c</span><br><span>index a974b9f..e021864 100644</span><br><span>--- a/src/common/bts.c</span><br><span>+++ b/src/common/bts.c</span><br><span>@@ -332,8 +332,8 @@</span><br><span>     /* Default UL/DL power control parameters */</span><br><span>         bts->ul_power_ctrl = bts->dl_power_ctrl = \</span><br><span>    (struct bts_power_ctrl_params) {</span><br><span style="color: hsl(0, 100%, 40%);">-                .target = -75,          /* dBm default */</span><br><span style="color: hsl(0, 100%, 40%);">-               .hysteresis = 3,        /* -78 .. -72 dBm */</span><br><span style="color: hsl(120, 100%, 40%);">+          .target_dbm = -75,</span><br><span style="color: hsl(120, 100%, 40%);">+            .hysteresis_db = 3,     /* -78 .. -72 dBm */</span><br><span>                 .pf_algo = BTS_PF_ALGO_EWMA,</span><br><span>                 .pf = {</span><br><span>                      .ewma = {</span><br><span>diff --git a/src/common/power_control.c b/src/common/power_control.c</span><br><span>index a8bf031..d458a92 100644</span><br><span>--- a/src/common/power_control.c</span><br><span>+++ b/src/common/power_control.c</span><br><span>@@ -113,10 +113,10 @@</span><br><span> </span><br><span>   /* How many dBs measured power should be increased (+) or decreased (-)</span><br><span>       * to reach expected power. */</span><br><span style="color: hsl(0, 100%, 40%);">-  delta = params->target - rxlev_dbm_avg;</span><br><span style="color: hsl(120, 100%, 40%);">+    delta = params->target_dbm - rxlev_dbm_avg;</span><br><span> </span><br><span>   /* Tolerate small deviations from 'rx-target' */</span><br><span style="color: hsl(0, 100%, 40%);">-        if (abs(delta) <= params->hysteresis)</span><br><span style="color: hsl(120, 100%, 40%);">+   if (abs(delta) <= params->hysteresis_db)</span><br><span>               return 0;</span><br><span> </span><br><span>        /* Don't ever change more than PWR_{LOWER,RAISE}_MAX_DBM during one loop</span><br><span>@@ -192,7 +192,7 @@</span><br><span>           LOGPLCHAN(lchan, DLOOP, LOGL_INFO, "Keeping MS power at control level %d, %d dBm "</span><br><span>                           "(rx-ms-pwr-lvl %" PRIu8 ", max-ms-pwr-lvl %" PRIu8 ", rx-current %d dBm, rx-target %d dBm)\n",</span><br><span>                        new_power_lvl, new_dbm, ms_power_lvl, state->max,</span><br><span style="color: hsl(0, 100%, 40%);">-                    ul_rssi_dbm, params->target);</span><br><span style="color: hsl(120, 100%, 40%);">+                      ul_rssi_dbm, params->target_dbm);</span><br><span>               return 0;</span><br><span>    }</span><br><span> </span><br><span>@@ -201,7 +201,7 @@</span><br><span>            "(rx-ms-pwr-lvl %" PRIu8 ", max-ms-pwr-lvl %" PRIu8 ", rx-current %d dBm, rx-target %d dBm)\n",</span><br><span>                (new_dbm > current_dbm) ? "Raising" : "Lowering",</span><br><span>             state->current, current_dbm, new_power_lvl, new_dbm,</span><br><span style="color: hsl(0, 100%, 40%);">-                 ms_power_lvl, state->max, ul_rssi_dbm, params->target);</span><br><span style="color: hsl(120, 100%, 40%);">+                 ms_power_lvl, state->max, ul_rssi_dbm, params->target_dbm);</span><br><span> </span><br><span>      /* store the resulting new MS power level in the lchan */</span><br><span>    state->current = new_power_lvl;</span><br><span>@@ -301,13 +301,13 @@</span><br><span>   if (state->current != new) {</span><br><span>              LOGPLCHAN(lchan, DLOOP, LOGL_INFO, "Changing Downlink attenuation: "</span><br><span>                         "%u -> %u dB (maximum %u dB, target %d dBm, delta %d dB)\n",</span><br><span style="color: hsl(0, 100%, 40%);">-                       state->current, new, state->max, params->target, delta);</span><br><span style="color: hsl(120, 100%, 40%);">+                     state->current, new, state->max, params->target_dbm, delta);</span><br><span>              state->current = new;</span><br><span>             return 1;</span><br><span>    } else {</span><br><span>             LOGPLCHAN(lchan, DLOOP, LOGL_INFO, "Keeping Downlink attenuation "</span><br><span>                           "at %u dB (maximum %u dB, target %d dBm, delta %d dB)\n",</span><br><span style="color: hsl(0, 100%, 40%);">-                     state->current, state->max, params->target, delta);</span><br><span style="color: hsl(120, 100%, 40%);">+                          state->current, state->max, params->target_dbm, delta);</span><br><span>           return 0;</span><br><span>    }</span><br><span> }</span><br><span>diff --git a/src/common/vty.c b/src/common/vty.c</span><br><span>index f366956..b7483a8 100644</span><br><span>--- a/src/common/vty.c</span><br><span>+++ b/src/common/vty.c</span><br><span>@@ -231,9 +231,9 @@</span><br><span> static void config_write_power_ctrl_params(struct vty *vty, const char *prefix,</span><br><span>                                            const struct bts_power_ctrl_params *pp)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">- vty_out(vty, " %s-power-target %d", prefix, pp->target);</span><br><span style="color: hsl(0, 100%, 40%);">-   if (pp->hysteresis > 0)</span><br><span style="color: hsl(0, 100%, 40%);">-           vty_out(vty, " hysteresis %d", pp->hysteresis);</span><br><span style="color: hsl(120, 100%, 40%);">+  vty_out(vty, " %s-power-target %d", prefix, pp->target_dbm);</span><br><span style="color: hsl(120, 100%, 40%);">+     if (pp->hysteresis_db > 0)</span><br><span style="color: hsl(120, 100%, 40%);">+              vty_out(vty, " hysteresis %d", pp->hysteresis_db);</span><br><span>      vty_out(vty, "%s", VTY_NEWLINE);</span><br><span> </span><br><span>       /* Power filtering algorithm and parameters */</span><br><span>@@ -657,8 +657,8 @@</span><br><span>         else</span><br><span>                 params = &bts->dl_power_ctrl;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-        params->target = atoi(argv[1]);</span><br><span style="color: hsl(0, 100%, 40%);">-      params->hysteresis = 0;</span><br><span style="color: hsl(120, 100%, 40%);">+    params->target_dbm = atoi(argv[1]);</span><br><span style="color: hsl(120, 100%, 40%);">+        params->hysteresis_db = 0;</span><br><span> </span><br><span>    return CMD_SUCCESS;</span><br><span> }</span><br><span>@@ -678,8 +678,8 @@</span><br><span>       else</span><br><span>                 params = &bts->dl_power_ctrl;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-        params->target = atoi(argv[1]);</span><br><span style="color: hsl(0, 100%, 40%);">-      params->hysteresis = atoi(argv[2]);</span><br><span style="color: hsl(120, 100%, 40%);">+        params->target_dbm = atoi(argv[1]);</span><br><span style="color: hsl(120, 100%, 40%);">+        params->hysteresis_db = atoi(argv[2]);</span><br><span> </span><br><span>        return CMD_SUCCESS;</span><br><span> }</span><br><span>diff --git a/src/osmo-bts-lc15/oml.c b/src/osmo-bts-lc15/oml.c</span><br><span>index 0fb9d00..4c71790 100644</span><br><span>--- a/src/osmo-bts-lc15/oml.c</span><br><span>+++ b/src/osmo-bts-lc15/oml.c</span><br><span>@@ -434,7 +434,7 @@</span><br><span>      dev_par->u16BcchArfcn = trx->bts->c0->arfcn;</span><br><span>     dev_par->u8NbTsc = trx->bts->bsic & 7;</span><br><span>  dev_par->fRxPowerLevel = trx_ms_pwr_ctrl_is_osmo(trx)</span><br><span style="color: hsl(0, 100%, 40%);">-                                        ? 0.0 : trx->bts->ul_power_ctrl.target;</span><br><span style="color: hsl(120, 100%, 40%);">+                                 ? 0.0 : trx->bts->ul_power_ctrl.target_dbm;</span><br><span> </span><br><span>        dev_par->fTxPowerLevel = 0.0;</span><br><span>     LOGP(DL1C, LOGL_NOTICE, "Init TRX (Band %d, ARFCN %u, TSC %u, RxPower % 2f dBm, "</span><br><span>diff --git a/src/osmo-bts-oc2g/oml.c b/src/osmo-bts-oc2g/oml.c</span><br><span>index be0ec30..b62e61c 100644</span><br><span>--- a/src/osmo-bts-oc2g/oml.c</span><br><span>+++ b/src/osmo-bts-oc2g/oml.c</span><br><span>@@ -449,7 +449,7 @@</span><br><span>   dev_par->u16BcchArfcn = trx->bts->c0->arfcn;</span><br><span>     dev_par->u8NbTsc = trx->bts->bsic & 7;</span><br><span>  dev_par->fRxPowerLevel = trx_ms_pwr_ctrl_is_osmo(trx)</span><br><span style="color: hsl(0, 100%, 40%);">-                                        ? 0.0 : trx->bts->ul_power_ctrl.target;</span><br><span style="color: hsl(120, 100%, 40%);">+                                 ? 0.0 : trx->bts->ul_power_ctrl.target_dbm;</span><br><span> </span><br><span>        dev_par->fTxPowerLevel = 0.0;</span><br><span>     LOGP(DL1C, LOGL_NOTICE, "Init TRX (Band %d, ARFCN %u, TSC %u, RxPower % 2f dBm, "</span><br><span>diff --git a/src/osmo-bts-sysmo/oml.c b/src/osmo-bts-sysmo/oml.c</span><br><span>index 5f638e6..b79f731 100644</span><br><span>--- a/src/osmo-bts-sysmo/oml.c</span><br><span>+++ b/src/osmo-bts-sysmo/oml.c</span><br><span>@@ -429,7 +429,7 @@</span><br><span>       dev_par->u16BcchArfcn = trx->bts->c0->arfcn;</span><br><span>     dev_par->u8NbTsc = trx->bts->bsic & 7;</span><br><span>  dev_par->fRxPowerLevel = trx_ms_pwr_ctrl_is_osmo(trx)</span><br><span style="color: hsl(0, 100%, 40%);">-                                        ? 0.0 : trx->bts->ul_power_ctrl.target;</span><br><span style="color: hsl(120, 100%, 40%);">+                                 ? 0.0 : trx->bts->ul_power_ctrl.target_dbm;</span><br><span> </span><br><span>        dev_par->fTxPowerLevel = ((float) initial_mdBm) / 1000;</span><br><span>   LOGP(DL1C, LOGL_NOTICE, "Init TRX (ARFCN %u, TSC %u, RxPower % 2f dBm, "</span><br><span>diff --git a/src/osmo-bts-sysmo/sysmobts_vty.c b/src/osmo-bts-sysmo/sysmobts_vty.c</span><br><span>index 1f2aefb..65edbf0 100644</span><br><span>--- a/src/osmo-bts-sysmo/sysmobts_vty.c</span><br><span>+++ b/src/osmo-bts-sysmo/sysmobts_vty.c</span><br><span>@@ -154,7 +154,7 @@</span><br><span> {</span><br><span>       struct gsm_bts_trx *trx = vty->index;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-    trx->bts->ul_power_ctrl.target = atoi(argv[0]);</span><br><span style="color: hsl(120, 100%, 40%);">+ trx->bts->ul_power_ctrl.target_dbm = atoi(argv[0]);</span><br><span> </span><br><span>        return CMD_SUCCESS;</span><br><span> }</span><br><span>diff --git a/src/osmo-bts-trx/trx_vty.c b/src/osmo-bts-trx/trx_vty.c</span><br><span>index 0353064..55a7ee7 100644</span><br><span>--- a/src/osmo-bts-trx/trx_vty.c</span><br><span>+++ b/src/osmo-bts-trx/trx_vty.c</span><br><span>@@ -198,7 +198,7 @@</span><br><span> {</span><br><span>     vty_out (vty, "'osmotrx ms-power-loop' is deprecated, use 'uplink-power-target' instead%s", VTY_NEWLINE);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- g_bts->ul_power_ctrl.target = atoi(argv[0]);</span><br><span style="color: hsl(120, 100%, 40%);">+       g_bts->ul_power_ctrl.target_dbm = atoi(argv[0]);</span><br><span> </span><br><span>      return CMD_SUCCESS;</span><br><span> }</span><br><span>diff --git a/tests/power/bs_power_loop_test.c b/tests/power/bs_power_loop_test.c</span><br><span>index e2e4d5f..358fc9a 100644</span><br><span>--- a/tests/power/bs_power_loop_test.c</span><br><span>+++ b/tests/power/bs_power_loop_test.c</span><br><span>@@ -95,7 +95,7 @@</span><br><span>    g_trx = gsm_bts_trx_alloc(g_bts);</span><br><span>    OSMO_ASSERT(g_trx != NULL);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- g_bts->dl_power_ctrl.target = rxlev2dbm(PWR_TEST_RXLEV_TARGET);</span><br><span style="color: hsl(120, 100%, 40%);">+    g_bts->dl_power_ctrl.target_dbm = rxlev2dbm(PWR_TEST_RXLEV_TARGET);</span><br><span>       g_bts->band = GSM_BAND_900;</span><br><span>       g_bts->c0 = g_trx;</span><br><span> </span><br><span>@@ -147,7 +147,7 @@</span><br><span>      case PWR_TEST_ST_SET_PARAMS:</span><br><span>                 printf("#%02u %s() <- Param (re)set (target %d dBm, hysteresis %u dB, "</span><br><span>                                                     "filtering is %sabled)\n",</span><br><span style="color: hsl(0, 100%, 40%);">-                       n, __func__, step->params.target, step->params.hysteresis,</span><br><span style="color: hsl(120, 100%, 40%);">+                      n, __func__, step->params.target_dbm, step->params.hysteresis_db,</span><br><span>                      step->params.pf_algo != BTS_PF_ALGO_NONE ? "en" : "dis");</span><br><span>              g_bts->dl_power_ctrl = step->params;</span><br><span>           return 0; /* we're done */</span><br><span>@@ -326,8 +326,8 @@</span><br><span>         /* Enable hysteresis */</span><br><span>      { .type = PWR_TEST_ST_SET_PARAMS,</span><br><span>      .params = {</span><br><span style="color: hsl(0, 100%, 40%);">-           .target = -110 + PWR_TEST_RXLEV_TARGET,</span><br><span style="color: hsl(0, 100%, 40%);">-         .hysteresis = 3</span><br><span style="color: hsl(120, 100%, 40%);">+               .target_dbm = -110 + PWR_TEST_RXLEV_TARGET,</span><br><span style="color: hsl(120, 100%, 40%);">+           .hysteresis_db = 3</span><br><span>     }</span><br><span>  },</span><br><span> </span><br><span>@@ -347,7 +347,7 @@</span><br><span>         /* Enable EWMA based power filtering */</span><br><span>      { .type = PWR_TEST_ST_SET_PARAMS,</span><br><span>      .params = {</span><br><span style="color: hsl(0, 100%, 40%);">-           .target = -110 + PWR_TEST_RXLEV_TARGET, /* RxLev 30 */</span><br><span style="color: hsl(120, 100%, 40%);">+                .target_dbm = -110 + PWR_TEST_RXLEV_TARGET, /* RxLev 30 */</span><br><span>           .pf_algo = BTS_PF_ALGO_EWMA,</span><br><span>                 .pf.ewma.alpha = 50,</span><br><span>           }</span><br><span>diff --git a/tests/power/ms_power_loop_test.c b/tests/power/ms_power_loop_test.c</span><br><span>index 147c725..4f4f746 100644</span><br><span>--- a/tests/power/ms_power_loop_test.c</span><br><span>+++ b/tests/power/ms_power_loop_test.c</span><br><span>@@ -47,8 +47,8 @@</span><br><span> </span><br><span>     g_trx->ms_pwr_ctl_soft = true;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   g_bts->ul_power_ctrl.target = -75;</span><br><span style="color: hsl(0, 100%, 40%);">-   g_bts->dl_power_ctrl.target = -75;</span><br><span style="color: hsl(120, 100%, 40%);">+ g_bts->ul_power_ctrl.target_dbm = -75;</span><br><span style="color: hsl(120, 100%, 40%);">+     g_bts->dl_power_ctrl.target_dbm = -75;</span><br><span>    g_bts->band = GSM_BAND_1800;</span><br><span>      g_bts->c0 = g_trx;</span><br><span> </span><br><span>@@ -99,7 +99,7 @@</span><br><span>        apply_power_test(lchan, -90, 1, 5);</span><br><span> </span><br><span>      /* Check good RSSI value keeps it at same power level: */</span><br><span style="color: hsl(0, 100%, 40%);">-       apply_power_test(lchan, g_bts->ul_power_ctrl.target, 0, 5);</span><br><span style="color: hsl(120, 100%, 40%);">+        apply_power_test(lchan, g_bts->ul_power_ctrl.target_dbm, 0, 5);</span><br><span> </span><br><span>       apply_power_test(lchan, -90, 1, 3);</span><br><span>  apply_power_test(lchan, -90, 1, 2); /* .max is pwr lvl 2 */</span><br><span>@@ -117,7 +117,7 @@</span><br><span>    apply_power_test(lchan, -90, 0, 29);</span><br><span> </span><br><span>     /* Check good RSSI value keeps it at same power level: */</span><br><span style="color: hsl(0, 100%, 40%);">-       apply_power_test(lchan, g_bts->ul_power_ctrl.target, 0, 29);</span><br><span style="color: hsl(120, 100%, 40%);">+       apply_power_test(lchan, g_bts->ul_power_ctrl.target_dbm, 0, 29);</span><br><span> </span><br><span>      /* Now go down, steps are double size in this direction: */</span><br><span>  apply_power_test(lchan, -45, 1, 1);</span><br><span>@@ -125,13 +125,13 @@</span><br><span>  apply_power_test(lchan, -45, 1, 9);</span><br><span> </span><br><span>      /* Go down only one level down and up: */</span><br><span style="color: hsl(0, 100%, 40%);">-       apply_power_test(lchan, g_bts->ul_power_ctrl.target + 2, 1, 10);</span><br><span style="color: hsl(0, 100%, 40%);">-     apply_power_test(lchan, g_bts->ul_power_ctrl.target - 2, 1, 9);</span><br><span style="color: hsl(120, 100%, 40%);">+    apply_power_test(lchan, g_bts->ul_power_ctrl.target_dbm + 2, 1, 10);</span><br><span style="color: hsl(120, 100%, 40%);">+       apply_power_test(lchan, g_bts->ul_power_ctrl.target_dbm - 2, 1, 9);</span><br><span> </span><br><span>   /* Check if BSC requesting a low max power is applied after loop calculation: */</span><br><span>     lchan->ms_power_ctrl.max = ms_pwr_ctl_lvl(GSM_BAND_1800, 2);</span><br><span>      OSMO_ASSERT(lchan->ms_power_ctrl.max == 14);</span><br><span style="color: hsl(0, 100%, 40%);">- apply_power_test(lchan, g_bts->ul_power_ctrl.target + 2, 1, 14);</span><br><span style="color: hsl(120, 100%, 40%);">+   apply_power_test(lchan, g_bts->ul_power_ctrl.target_dbm + 2, 1, 14);</span><br><span>      /* Set back a more normal max: */</span><br><span>    lchan->ms_power_ctrl.max = ms_pwr_ctl_lvl(GSM_BAND_1800, 30);</span><br><span>     OSMO_ASSERT(lchan->ms_power_ctrl.max == 0);</span><br><span>@@ -215,22 +215,22 @@</span><br><span>       lchan = &g_trx->ts[0].lchan[0];</span><br><span> </span><br><span>   /* Tolerate power deviations in range -80 .. -70 */</span><br><span style="color: hsl(0, 100%, 40%);">-     g_bts->ul_power_ctrl.hysteresis = 5;</span><br><span style="color: hsl(120, 100%, 40%);">+       g_bts->ul_power_ctrl.hysteresis_db = 5;</span><br><span> </span><br><span>       lchan->ms_power_ctrl.current = ms_pwr_ctl_lvl(GSM_BAND_1800, 0);</span><br><span>  OSMO_ASSERT(lchan->ms_power_ctrl.current == 15);</span><br><span>  lchan->ms_power_ctrl.max = ms_pwr_ctl_lvl(GSM_BAND_1800, 26);</span><br><span>     OSMO_ASSERT(lchan->ms_power_ctrl.max == 2);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-      apply_power_test(lchan, g_bts->ul_power_ctrl.target, 0, 15);</span><br><span style="color: hsl(0, 100%, 40%);">- apply_power_test(lchan, g_bts->ul_power_ctrl.target + 3, 0, 15);</span><br><span style="color: hsl(0, 100%, 40%);">-     apply_power_test(lchan, g_bts->ul_power_ctrl.target - 3, 0, 15);</span><br><span style="color: hsl(120, 100%, 40%);">+   apply_power_test(lchan, g_bts->ul_power_ctrl.target_dbm, 0, 15);</span><br><span style="color: hsl(120, 100%, 40%);">+   apply_power_test(lchan, g_bts->ul_power_ctrl.target_dbm + 3, 0, 15);</span><br><span style="color: hsl(120, 100%, 40%);">+       apply_power_test(lchan, g_bts->ul_power_ctrl.target_dbm - 3, 0, 15);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-     apply_power_test(lchan, g_bts->ul_power_ctrl.target, 0, 15);</span><br><span style="color: hsl(0, 100%, 40%);">- apply_power_test(lchan, g_bts->ul_power_ctrl.target + 5, 0, 15);</span><br><span style="color: hsl(0, 100%, 40%);">-     apply_power_test(lchan, g_bts->ul_power_ctrl.target - 5, 0, 15);</span><br><span style="color: hsl(120, 100%, 40%);">+   apply_power_test(lchan, g_bts->ul_power_ctrl.target_dbm, 0, 15);</span><br><span style="color: hsl(120, 100%, 40%);">+   apply_power_test(lchan, g_bts->ul_power_ctrl.target_dbm + 5, 0, 15);</span><br><span style="color: hsl(120, 100%, 40%);">+       apply_power_test(lchan, g_bts->ul_power_ctrl.target_dbm - 5, 0, 15);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-     apply_power_test(lchan, g_bts->ul_power_ctrl.target - 10, 1, 13);</span><br><span style="color: hsl(120, 100%, 40%);">+  apply_power_test(lchan, g_bts->ul_power_ctrl.target_dbm - 10, 1, 13);</span><br><span> }</span><br><span> </span><br><span> int main(int argc, char **argv)</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-bts/+/21499">change 21499</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-bts/+/21499"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-bts </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: Icb059ca1f555397be116a424800e4536883b9106 </div>
<div style="display:none"> Gerrit-Change-Number: 21499 </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-MessageType: newchange </div>