diff options
-rw-r--r-- | src/common/gsm_data.c | 3 | ||||
-rw-r--r-- | tests/power/bs_power_loop_test.c | 11 | ||||
-rw-r--r-- | tests/power/ms_power_loop_test.c | 3 |
3 files changed, 14 insertions, 3 deletions
diff --git a/src/common/gsm_data.c b/src/common/gsm_data.c index 76292f7f..ee6e6930 100644 --- a/src/common/gsm_data.c +++ b/src/common/gsm_data.c @@ -504,6 +504,9 @@ int lchan2ecu_codec(const struct gsm_lchan *lchan) /* Default MS/BS Power Control parameters (see 3GPP TS 45.008, table A.1) */ const struct gsm_power_ctrl_params power_ctrl_params_def = { + + .ctrl_interval = 1, /* Trigger loop every second SACCH block. TS 45.008 sec 4.7.1 */ + /* Power increasing/reducing step size (optimal defaults) */ .inc_step_size_db = 4, /* quickly increase MS/BS power */ .red_step_size_db = 2, /* slowly decrease MS/BS power */ diff --git a/tests/power/bs_power_loop_test.c b/tests/power/bs_power_loop_test.c index 53fdbba6..6b67ba2e 100644 --- a/tests/power/bs_power_loop_test.c +++ b/tests/power/bs_power_loop_test.c @@ -112,6 +112,14 @@ static void init_test(const char *name) g_bts->band = GSM_BAND_900; g_bts->c0 = g_trx; + /* Init defaultBS power control parameters, enable dynamic power control */ + struct gsm_power_ctrl_params *params = &g_trx->ts[0].lchan[0].bs_dpc_params; + g_trx->ts[0].lchan[0].bs_power_ctrl.dpc_params = params; + *params = power_ctrl_params_def; + + /* Disable loop SACCH block skip by default: */ + params->ctrl_interval = 0; + printf("\nStarting test case '%s'\n", name); } @@ -219,9 +227,6 @@ static void exec_power_test(const struct power_test_step *steps, struct gsm_lchan *lchan = &g_trx->ts[0].lchan[0]; struct gsm_power_ctrl_params *params = &lchan->bs_dpc_params; - /* Default BS power control parameters */ - memcpy(params, &power_ctrl_params_def, sizeof(*params)); - /* No RxLev hysteresis: lower == upper */ params->rxlev_meas.lower_thresh = PWR_TEST_RXLEV_TARGET; params->rxlev_meas.upper_thresh = PWR_TEST_RXLEV_TARGET; diff --git a/tests/power/ms_power_loop_test.c b/tests/power/ms_power_loop_test.c index 5f833290..559eacc7 100644 --- a/tests/power/ms_power_loop_test.c +++ b/tests/power/ms_power_loop_test.c @@ -59,6 +59,9 @@ static void init_test(const char *name) g_trx->ts[0].lchan[0].ms_power_ctrl.dpc_params = params; *params = power_ctrl_params_def; + /* Disable loop SACCH block skip by default: */ + params->ctrl_interval = 0; + /* Disable RxLev pre-processing and hysteresis by default */ struct gsm_power_ctrl_meas_params *mp = ¶ms->rxlev_meas; mp->lower_thresh = mp->upper_thresh = PWR_TEST_RXLEV_TARGET; |