diff options
author | Pau Espin Pedrol <pespin@sysmocom.de> | 2019-12-04 16:08:09 +0100 |
---|---|---|
committer | pespin <pespin@sysmocom.de> | 2019-12-10 11:23:53 +0000 |
commit | a1f7d24efea9f2996cb32ea919b2a2f329942e3e (patch) | |
tree | 49d355abd5dbdcbe64275c5c5e2b6b7a51fc9786 /bts/BTS_Tests.ttcn | |
parent | 65bab9e3bc92e3c7e62174cd98be1fe65395f7a8 (diff) |
bts: Update transmitted MS power as requested by BTS
New generic ms power loop algo takes into account the MS Power sent by
MS over L1 SACCH Header. As a result, the test infra must now update its
transmitted value according to what is requested by the BTS as if it was
a real MS in order for algo to output expected results.
Requires osmocom-bb I975cfc5f5d63eb32a7f8932a7f6a544c9a12233c to have
transmitted MS power values for dummy Meas Results updated as requested
over L1CTL.
Change-Id: I287761202093fbc1064f9868efe6f7f6155253ca
Diffstat (limited to 'bts/BTS_Tests.ttcn')
-rw-r--r-- | bts/BTS_Tests.ttcn | 30 |
1 files changed, 23 insertions, 7 deletions
diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 779f7c32..4ba8f559 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -2016,9 +2016,11 @@ function f_TC_rsl_ms_pwr_dyn_ass_updown(charstring id) runs on ConnHdlr { T2.start; alt { [] L1CTL.receive(tr_L1CTL_DATA_IND(g_chan_nr, tr_RslLinkID_SACCH(?))) -> value l1_dl { - if( not(oct2int(l1_dl.payload.data_ind.payload[0]) > (pwr_var+6))){ + /* Update sent MS power to follow what BTS requests */ + f_L1CTL_PARAM(L1CTL, g_pars.l1_pars.ms_actual_ta, oct2int(l1_dl.payload.data_ind.payload[0])); + if (oct2int(l1_dl.payload.data_ind.payload[0]) < (pwr_var + 6)) { repeat; - } + } T2.stop; } [] L1CTL.receive { repeat; } @@ -2035,9 +2037,11 @@ function f_TC_rsl_ms_pwr_dyn_ass_updown(charstring id) runs on ConnHdlr { T4.start; alt { [] L1CTL.receive(tr_L1CTL_DATA_IND(g_chan_nr, tr_RslLinkID_SACCH(?))) -> value l1_dl { - if( not(oct2int(l1_dl.payload.data_ind.payload[0]) <= (pwr_var))){ + /* Update sent MS power to follow what BTS requests */ + f_L1CTL_PARAM(L1CTL, g_pars.l1_pars.ms_actual_ta, oct2int(l1_dl.payload.data_ind.payload[0])); + if (oct2int(l1_dl.payload.data_ind.payload[0]) > pwr_var) { repeat; - } + } T4.stop; setverdict(pass, "Power level in L1 decreased/increased as expected"); } @@ -2077,7 +2081,11 @@ function f_TC_rsl_ms_pwr_dyn_max(charstring id) runs on ConnHdlr { timer T1 := 10.0; T1.start; alt { - [] L1CTL.receive(tr_L1CTL_DATA_IND(g_chan_nr, tr_RslLinkID_SACCH(?))) -> value l1_dl { repeat; } + [] L1CTL.receive(tr_L1CTL_DATA_IND(g_chan_nr, tr_RslLinkID_SACCH(?))) -> value l1_dl { + /* Update sent MS power to follow what BTS requests */ + f_L1CTL_PARAM(L1CTL, g_pars.l1_pars.ms_actual_ta, oct2int(l1_dl.payload.data_ind.payload[0])); + repeat; + } [] L1CTL.receive { repeat; } [] T1.timeout { if( oct2int(l1_dl.payload.data_ind.payload[0]) != pwr_var){ @@ -2119,7 +2127,11 @@ function f_TC_rsl_ms_pwr_dyn_up(charstring id) runs on ConnHdlr { timer T1 := 10.0; T1.start; alt { - [] L1CTL.receive(tr_L1CTL_DATA_IND(g_chan_nr, tr_RslLinkID_SACCH(?))) -> value l1_dl { repeat; } + [] L1CTL.receive(tr_L1CTL_DATA_IND(g_chan_nr, tr_RslLinkID_SACCH(?))) -> value l1_dl { + /* Update sent MS power to follow what BTS requests */ + f_L1CTL_PARAM(L1CTL, g_pars.l1_pars.ms_actual_ta, oct2int(l1_dl.payload.data_ind.payload[0])); + repeat; + } [] L1CTL.receive { repeat; } [] T1.timeout { var int8_t rcv := oct2int(l1_dl.payload.data_ind.payload[0]); @@ -2166,7 +2178,11 @@ function f_TC_rsl_ms_pwr_dyn_down(charstring id) runs on ConnHdlr { timer T1 := 10.0; T1.start; alt { - [] L1CTL.receive(tr_L1CTL_DATA_IND(g_chan_nr, tr_RslLinkID_SACCH(?))) -> value l1_dl { repeat; } + [] L1CTL.receive(tr_L1CTL_DATA_IND(g_chan_nr, tr_RslLinkID_SACCH(?))) -> value l1_dl { + /* Update sent MS power to follow what BTS requests */ + f_L1CTL_PARAM(L1CTL, g_pars.l1_pars.ms_actual_ta, oct2int(l1_dl.payload.data_ind.payload[0])); + repeat; + } [] L1CTL.receive { repeat; } [] T1.timeout { if( f_power_level_is_lowest_dbm(oct2int(l1_dl.payload.data_ind.payload[0])) ){ |