This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
fixeria gerrit-no-reply at lists.osmocom.orgfixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/21434 ) Change subject: struct gsm_bts: move ul_power_{target,hysteresis} to ul_power_ctrl ...................................................................... struct gsm_bts: move ul_power_{target,hysteresis} to ul_power_ctrl Change-Id: I3886c7aedf3870536f1750f864cf698302ddf2df Related: SYS#4918 --- M include/osmo-bts/bts.h M src/common/bts.c M src/common/power_control.c M src/common/vty.c M src/osmo-bts-lc15/oml.c M src/osmo-bts-oc2g/oml.c M src/osmo-bts-sysmo/oml.c M src/osmo-bts-sysmo/sysmobts_vty.c M src/osmo-bts-trx/trx_vty.c M tests/power/power_test.c 10 files changed, 37 insertions(+), 37 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmo-bts/bts.h b/include/osmo-bts/bts.h index ce7d9d4..66b03e1 100644 --- a/include/osmo-bts/bts.h +++ b/include/osmo-bts/bts.h @@ -299,12 +299,12 @@ bool vty_override; /* OML value overridden by VTY */ } radio_link_timeout; - /* TODO: move it to bts->ul_power_ctrl struct */ - int ul_power_target; /* Uplink Rx power target */ - int ul_power_hysteresis; /* Tolerable Uplink Rx power deviation */ - /* Uplink power control */ struct { + /* Target value to strive to */ + int target; + /* Tolerated deviation from target */ + int hysteresis; /* UL RSSI filtering algorithm */ enum ms_ul_pf_algo pf_algo; /* (Optional) filtering parameters */ diff --git a/src/common/bts.c b/src/common/bts.c index a1f9101..6375241 100644 --- a/src/common/bts.c +++ b/src/common/bts.c @@ -323,8 +323,8 @@ /* configurable via VTY */ bts->paging_state = paging_init(bts, 200, 0); - bts->ul_power_target = -75; /* dBm default */ - bts->ul_power_hysteresis = 3; /* -78 .. -72 dBm */ + bts->ul_power_ctrl.target = -75; /* dBm default */ + bts->ul_power_ctrl.hysteresis = 3; /* -78 .. -72 dBm */ bts->ul_power_ctrl.pf_algo = MS_UL_PF_ALGO_EWMA; bts->ul_power_ctrl.pf.ewma.alpha = 50; /* 50% smoothing */ bts->rtp_jitter_adaptive = false; diff --git a/src/common/power_control.c b/src/common/power_control.c index be6df48..dc5636c 100644 --- a/src/common/power_control.c +++ b/src/common/power_control.c @@ -141,15 +141,15 @@ /* How many dBs measured power should be increased (+) or decreased (-) to reach expected power. */ - diff = bts->ul_power_target - avg_ul_rssi_dbm; + diff = bts->ul_power_ctrl.target - avg_ul_rssi_dbm; /* Tolerate small deviations from 'rx-target' */ - if (abs(diff) <= bts->ul_power_hysteresis) { + if (abs(diff) <= bts->ul_power_ctrl.hysteresis) { LOGPLCHAN(lchan, DLOOP, LOGL_INFO, "Keeping MS power at control level %d (%d dBm) because diff %d dBm " "from 'rx-target' %d dBm is not significant (hysteresis %d dBm)\n", - ms_power_lvl, ms_dbm, diff, bts->ul_power_target, bts->ul_power_hysteresis); + ms_power_lvl, ms_dbm, diff, bts->ul_power_ctrl.target, bts->ul_power_ctrl.hysteresis); /* Keep the current power level in sync (just to be sure) */ lchan->ms_power_ctrl.current = ms_power_lvl; bts_model_adjst_ms_pwr(lchan); @@ -188,7 +188,7 @@ "(rx-ms-pwr-lvl %" PRIu8 ", max-ms-pwr-lvl %" PRIu8 ", rx-current %d dBm, rx-target %d dBm)\n", new_power_lvl, new_dbm, ms_power_lvl, lchan->ms_power_ctrl.max, - avg_ul_rssi_dbm, bts->ul_power_target); + avg_ul_rssi_dbm, bts->ul_power_ctrl.target); return 0; } @@ -198,7 +198,7 @@ (new_dbm > current_dbm) ? "Raising" : "Lowering", lchan->ms_power_ctrl.current, current_dbm, new_power_lvl, new_dbm, ms_power_lvl, lchan->ms_power_ctrl.max, - avg_ul_rssi_dbm, bts->ul_power_target); + avg_ul_rssi_dbm, bts->ul_power_ctrl.target); /* store the resulting new MS power level in the lchan */ lchan->ms_power_ctrl.current = new_power_lvl; diff --git a/src/common/vty.c b/src/common/vty.c index 7baddef..34e7cfa 100644 --- a/src/common/vty.c +++ b/src/common/vty.c @@ -255,9 +255,9 @@ VTY_NEWLINE); vty_out(vty, " paging lifetime %u%s", paging_get_lifetime(bts->paging_state), VTY_NEWLINE); - vty_out(vty, " uplink-power-target %d", bts->ul_power_target); - if (bts->ul_power_hysteresis > 0) - vty_out(vty, " hysteresis %d", bts->ul_power_hysteresis); + vty_out(vty, " uplink-power-target %d", bts->ul_power_ctrl.target); + if (bts->ul_power_ctrl.hysteresis > 0) + vty_out(vty, " hysteresis %d", bts->ul_power_ctrl.hysteresis); vty_out(vty, "%s", VTY_NEWLINE); /* MS Tx power filtering algorithm and parameters */ @@ -633,8 +633,8 @@ { struct gsm_bts *bts = vty->index; - bts->ul_power_target = atoi(argv[0]); - bts->ul_power_hysteresis = 0; + bts->ul_power_ctrl.target = atoi(argv[0]); + bts->ul_power_ctrl.hysteresis = 0; return CMD_SUCCESS; } @@ -650,8 +650,8 @@ { struct gsm_bts *bts = vty->index; - bts->ul_power_target = atoi(argv[0]); - bts->ul_power_hysteresis = atoi(argv[1]); + bts->ul_power_ctrl.target = atoi(argv[0]); + bts->ul_power_ctrl.hysteresis = atoi(argv[1]); return CMD_SUCCESS; } diff --git a/src/osmo-bts-lc15/oml.c b/src/osmo-bts-lc15/oml.c index dee5feb..0fb9d00 100644 --- a/src/osmo-bts-lc15/oml.c +++ b/src/osmo-bts-lc15/oml.c @@ -434,7 +434,7 @@ dev_par->u16BcchArfcn = trx->bts->c0->arfcn; dev_par->u8NbTsc = trx->bts->bsic & 7; dev_par->fRxPowerLevel = trx_ms_pwr_ctrl_is_osmo(trx) - ? 0.0 : trx->bts->ul_power_target; + ? 0.0 : trx->bts->ul_power_ctrl.target; dev_par->fTxPowerLevel = 0.0; LOGP(DL1C, LOGL_NOTICE, "Init TRX (Band %d, ARFCN %u, TSC %u, RxPower % 2f dBm, " diff --git a/src/osmo-bts-oc2g/oml.c b/src/osmo-bts-oc2g/oml.c index 9a7751b..be0ec30 100644 --- a/src/osmo-bts-oc2g/oml.c +++ b/src/osmo-bts-oc2g/oml.c @@ -449,7 +449,7 @@ dev_par->u16BcchArfcn = trx->bts->c0->arfcn; dev_par->u8NbTsc = trx->bts->bsic & 7; dev_par->fRxPowerLevel = trx_ms_pwr_ctrl_is_osmo(trx) - ? 0.0 : trx->bts->ul_power_target; + ? 0.0 : trx->bts->ul_power_ctrl.target; dev_par->fTxPowerLevel = 0.0; LOGP(DL1C, LOGL_NOTICE, "Init TRX (Band %d, ARFCN %u, TSC %u, RxPower % 2f dBm, " diff --git a/src/osmo-bts-sysmo/oml.c b/src/osmo-bts-sysmo/oml.c index 4a8a6c2..5f638e6 100644 --- a/src/osmo-bts-sysmo/oml.c +++ b/src/osmo-bts-sysmo/oml.c @@ -429,7 +429,7 @@ dev_par->u16BcchArfcn = trx->bts->c0->arfcn; dev_par->u8NbTsc = trx->bts->bsic & 7; dev_par->fRxPowerLevel = trx_ms_pwr_ctrl_is_osmo(trx) - ? 0.0 : trx->bts->ul_power_target; + ? 0.0 : trx->bts->ul_power_ctrl.target; dev_par->fTxPowerLevel = ((float) initial_mdBm) / 1000; LOGP(DL1C, LOGL_NOTICE, "Init TRX (ARFCN %u, TSC %u, RxPower % 2f dBm, " diff --git a/src/osmo-bts-sysmo/sysmobts_vty.c b/src/osmo-bts-sysmo/sysmobts_vty.c index f575884..1f2aefb 100644 --- a/src/osmo-bts-sysmo/sysmobts_vty.c +++ b/src/osmo-bts-sysmo/sysmobts_vty.c @@ -154,7 +154,7 @@ { struct gsm_bts_trx *trx = vty->index; - trx->bts->ul_power_target = atoi(argv[0]); + trx->bts->ul_power_ctrl.target = atoi(argv[0]); return CMD_SUCCESS; } diff --git a/src/osmo-bts-trx/trx_vty.c b/src/osmo-bts-trx/trx_vty.c index ceca330..0353064 100644 --- a/src/osmo-bts-trx/trx_vty.c +++ b/src/osmo-bts-trx/trx_vty.c @@ -198,7 +198,7 @@ { vty_out (vty, "'osmotrx ms-power-loop' is deprecated, use 'uplink-power-target' instead%s", VTY_NEWLINE); - g_bts->ul_power_target = atoi(argv[0]); + g_bts->ul_power_ctrl.target = atoi(argv[0]); return CMD_SUCCESS; } diff --git a/tests/power/power_test.c b/tests/power/power_test.c index c5c4db3..a686134 100644 --- a/tests/power/power_test.c +++ b/tests/power/power_test.c @@ -47,7 +47,7 @@ g_trx->ms_pwr_ctl_soft = true; - g_bts->ul_power_target = -75; + g_bts->ul_power_ctrl.target = -75; g_bts->band = GSM_BAND_1800; g_bts->c0 = g_trx; @@ -98,7 +98,7 @@ apply_power_test(lchan, -90, 1, 5); /* Check good RSSI value keeps it at same power level: */ - apply_power_test(lchan, g_bts->ul_power_target, 0, 5); + apply_power_test(lchan, g_bts->ul_power_ctrl.target, 0, 5); apply_power_test(lchan, -90, 1, 3); apply_power_test(lchan, -90, 1, 2); /* .max is pwr lvl 2 */ @@ -116,7 +116,7 @@ apply_power_test(lchan, -90, 0, 29); /* Check good RSSI value keeps it at same power level: */ - apply_power_test(lchan, g_bts->ul_power_target, 0, 29); + apply_power_test(lchan, g_bts->ul_power_ctrl.target, 0, 29); /* Now go down, steps are double size in this direction: */ apply_power_test(lchan, -45, 1, 1); @@ -124,13 +124,13 @@ apply_power_test(lchan, -45, 1, 9); /* Go down only one level down and up: */ - apply_power_test(lchan, g_bts->ul_power_target + 2, 1, 10); - apply_power_test(lchan, g_bts->ul_power_target - 2, 1, 9); + apply_power_test(lchan, g_bts->ul_power_ctrl.target + 2, 1, 10); + apply_power_test(lchan, g_bts->ul_power_ctrl.target - 2, 1, 9); /* Check if BSC requesting a low max power is applied after loop calculation: */ lchan->ms_power_ctrl.max = ms_pwr_ctl_lvl(GSM_BAND_1800, 2); OSMO_ASSERT(lchan->ms_power_ctrl.max == 14); - apply_power_test(lchan, g_bts->ul_power_target + 2, 1, 14); + apply_power_test(lchan, g_bts->ul_power_ctrl.target + 2, 1, 14); /* Set back a more normal max: */ lchan->ms_power_ctrl.max = ms_pwr_ctl_lvl(GSM_BAND_1800, 30); OSMO_ASSERT(lchan->ms_power_ctrl.max == 0); @@ -214,22 +214,22 @@ lchan = &g_trx->ts[0].lchan[0]; /* Tolerate power deviations in range -80 .. -70 */ - g_bts->ul_power_hysteresis = 5; + g_bts->ul_power_ctrl.hysteresis = 5; lchan->ms_power_ctrl.current = ms_pwr_ctl_lvl(GSM_BAND_1800, 0); OSMO_ASSERT(lchan->ms_power_ctrl.current == 15); lchan->ms_power_ctrl.max = ms_pwr_ctl_lvl(GSM_BAND_1800, 26); OSMO_ASSERT(lchan->ms_power_ctrl.max == 2); - apply_power_test(lchan, g_bts->ul_power_target, 0, 15); - apply_power_test(lchan, g_bts->ul_power_target + 3, 0, 15); - apply_power_test(lchan, g_bts->ul_power_target - 3, 0, 15); + apply_power_test(lchan, g_bts->ul_power_ctrl.target, 0, 15); + apply_power_test(lchan, g_bts->ul_power_ctrl.target + 3, 0, 15); + apply_power_test(lchan, g_bts->ul_power_ctrl.target - 3, 0, 15); - apply_power_test(lchan, g_bts->ul_power_target, 0, 15); - apply_power_test(lchan, g_bts->ul_power_target + 5, 0, 15); - apply_power_test(lchan, g_bts->ul_power_target - 5, 0, 15); + apply_power_test(lchan, g_bts->ul_power_ctrl.target, 0, 15); + apply_power_test(lchan, g_bts->ul_power_ctrl.target + 5, 0, 15); + apply_power_test(lchan, g_bts->ul_power_ctrl.target - 5, 0, 15); - apply_power_test(lchan, g_bts->ul_power_target - 10, 1, 13); + apply_power_test(lchan, g_bts->ul_power_ctrl.target - 10, 1, 13); } int main(int argc, char **argv) -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/21434 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I3886c7aedf3870536f1750f864cf698302ddf2df Gerrit-Change-Number: 21434 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria <vyanitskiy at sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy at sysmocom.de> Gerrit-Reviewer: laforge <laforge at osmocom.org> Gerrit-Reviewer: pespin <pespin at sysmocom.de> Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20201202/6671a80d/attachment.htm>