BTS_Tests: add FAACH to TC_meas_res_speech_tchX
The current TC_meas_res_speech_tchX tests only test a pure voice transmission. A voice transmission can be occasionally interrupted by FACCH transmissions. This should also be tested. Lets ad a _facch variant for the two speech test variants we already that injects a FACCH from time to time. Related: OS#4799 Change-Id: Ie9cd39739d4b972f4e533a7bc90f79e914888aab
This commit is contained in:
parent
d6d69b50fc
commit
149c392f25
|
@ -751,7 +751,8 @@ friend template ConnHdlrPars t_Pars(template RslChannelNr chan_nr,
|
|||
timing_offset_256syms := mp_timing_offset_256syms_exp,
|
||||
bs_power_level := 0,
|
||||
ms_power_level := mp_ms_power_level_exp,
|
||||
ms_actual_ta := mp_ms_actual_ta_exp
|
||||
ms_actual_ta := mp_ms_actual_ta_exp,
|
||||
facch_enabled := false
|
||||
},
|
||||
spec := omit,
|
||||
encr := omit,
|
||||
|
@ -1788,8 +1789,17 @@ private altstep as_l1_tch_loop() runs on ConnHdlr {
|
|||
var L1ctlDlMessage l1_dl;
|
||||
[] L1CTL.receive(tr_L1CTL_TRAFFIC_IND(g_chan_nr)) -> value l1_dl {
|
||||
log("TCH received: ", l1_dl.payload.traffic_ind.data);
|
||||
L1CTL.send(ts_L1CTL_TRAFFIC_REQ(g_chan_nr, l1_dl.dl_info.link_id,
|
||||
l1_dl.payload.traffic_ind.data));
|
||||
|
||||
/* occasionaly inject FACCH frames into the uplink */
|
||||
if (g_pars.l1_pars.facch_enabled == true and l1_dl.dl_info.frame_nr mod 5 == 0) {
|
||||
var octetstring pl := '010301'O;
|
||||
L1CTL.send(ts_L1CTL_DATA_REQ(g_chan_nr, ts_RslLinkID_DCCH(0),
|
||||
f_pad_oct(pl, 23, '2B'O)));
|
||||
} else {
|
||||
L1CTL.send(ts_L1CTL_TRAFFIC_REQ(g_chan_nr, l1_dl.dl_info.link_id,
|
||||
l1_dl.payload.traffic_ind.data));
|
||||
}
|
||||
|
||||
repeat;
|
||||
}
|
||||
}
|
||||
|
@ -1811,7 +1821,8 @@ private type record ConnL1Pars {
|
|||
int16_t timing_offset_256syms,
|
||||
uint4_t bs_power_level,
|
||||
uint5_t ms_power_level,
|
||||
uint8_t ms_actual_ta
|
||||
uint8_t ms_actual_ta,
|
||||
boolean facch_enabled
|
||||
}
|
||||
|
||||
/* Convert tiing offset from 1/256th symbol to RSL Timing Offset */
|
||||
|
@ -2976,7 +2987,7 @@ testcase TC_rsl_ms_pwr_dyn_active2() runs on test_CT {
|
|||
Misc_Helpers.f_shutdown(__BFILE__, __LINE__);
|
||||
}
|
||||
|
||||
testcase TC_meas_res_speech_tchf() runs on test_CT {
|
||||
function f_TC_meas_res_speech_tchf(boolean facch_enabled) runs on test_CT {
|
||||
var template RSL_IE_ChannelMode ch_mode;
|
||||
var ConnHdlr vc_conn;
|
||||
var ConnHdlrPars pars;
|
||||
|
@ -2984,13 +2995,23 @@ testcase TC_meas_res_speech_tchf() runs on test_CT {
|
|||
ch_mode := ts_RSL_ChanMode(RSL_CHRT_TCH_F, RSL_CMOD_SP_GSM1);
|
||||
for (var integer tn := 1; tn <= 1; tn := tn + 1) {
|
||||
pars := valueof(t_Pars(t_RslChanNr_Bm(tn), ch_mode));
|
||||
pars.l1_pars.facch_enabled := facch_enabled;
|
||||
vc_conn := f_start_handler(refers(f_TC_meas_res_periodic), pars,
|
||||
pcu_comp := false, trxc_comp := true);
|
||||
vc_conn.done;
|
||||
}
|
||||
Misc_Helpers.f_shutdown(__BFILE__, __LINE__);
|
||||
}
|
||||
testcase TC_meas_res_speech_tchh() runs on test_CT {
|
||||
|
||||
testcase TC_meas_res_speech_tchf() runs on test_CT {
|
||||
f_TC_meas_res_speech_tchf(false);
|
||||
}
|
||||
|
||||
testcase TC_meas_res_speech_tchf_facch() runs on test_CT {
|
||||
f_TC_meas_res_speech_tchf(true);
|
||||
}
|
||||
|
||||
function f_TC_meas_res_speech_tchh(boolean facch_enabled) runs on test_CT {
|
||||
var template RSL_IE_ChannelMode ch_mode;
|
||||
var ConnHdlr vc_conn;
|
||||
var ConnHdlrPars pars;
|
||||
|
@ -2998,12 +3019,22 @@ testcase TC_meas_res_speech_tchh() runs on test_CT {
|
|||
ch_mode := ts_RSL_ChanMode(RSL_CHRT_TCH_H, RSL_CMOD_SP_GSM1);
|
||||
for (var integer ss := 0; ss <= 1; ss := ss + 1) {
|
||||
pars := valueof(t_Pars(t_RslChanNr_Lm(5, ss), ch_mode));
|
||||
pars.l1_pars.facch_enabled := facch_enabled;
|
||||
vc_conn := f_start_handler(refers(f_TC_meas_res_periodic), pars,
|
||||
pcu_comp := false, trxc_comp := true);
|
||||
vc_conn.done;
|
||||
}
|
||||
Misc_Helpers.f_shutdown(__BFILE__, __LINE__);
|
||||
}
|
||||
|
||||
testcase TC_meas_res_speech_tchh() runs on test_CT {
|
||||
f_TC_meas_res_speech_tchh(false)
|
||||
}
|
||||
|
||||
testcase TC_meas_res_speech_tchh_facch() runs on test_CT {
|
||||
f_TC_meas_res_speech_tchh(true)
|
||||
}
|
||||
|
||||
testcase TC_meas_res_speech_tchh_toa256() runs on test_CT {
|
||||
var template RSL_IE_ChannelMode ch_mode;
|
||||
var ConnHdlr vc_conn;
|
||||
|
@ -7185,7 +7216,9 @@ control {
|
|||
execute( TC_rach_load_idle_below_thresh() );
|
||||
execute( TC_rach_load_count() );
|
||||
execute( TC_meas_res_speech_tchf() );
|
||||
execute( TC_meas_res_speech_tchf_facch() );
|
||||
execute( TC_meas_res_speech_tchh() );
|
||||
execute( TC_meas_res_speech_tchh_facch() );
|
||||
execute( TC_meas_res_speech_tchh_toa256() );
|
||||
execute( TC_meas_res_sign_tchf() );
|
||||
execute( TC_meas_res_sign_tchh() );
|
||||
|
|
Loading…
Reference in New Issue