BTS_Tests: make Training Sequence Code configurable

Change-Id: Ifc09d4192584048d39ebfa22824eda69320fa2c5
changes/16/21316/1
Vadim Yanitskiy 2 years ago
parent 7e70709689
commit 3191d73f6c
  1. 18
      bts/BTS_Tests.ttcn
  2. 6
      bts/BTS_Tests_LAPDm.ttcn
  3. 6
      bts/BTS_Tests_SMSCB.ttcn

@ -116,6 +116,8 @@ modulepar {
FreqHopConfig mp_fh_config;
/* configuration for each individual transceiver */
TrxPars mp_trx_pars; /* see BTS_Tests.default */
/* default Training Sequence Code */
GsmTsc mp_tsc_def := 7;
}
type record of RslChannelNr ChannelNrs;
@ -285,6 +287,8 @@ type record ConnHdlrPars {
RSL_IE_EncryptionInfo encr optional,
BtsBand bts0_band optional,
/* Training Sequence Code */
GsmTsc tsc,
/* Frequency hopping parameters */
FreqHopPars fhp
};
@ -795,6 +799,7 @@ friend template ConnHdlrPars t_Pars(template RslChannelNr chan_nr,
spec := omit,
encr := omit,
bts0_band := omit,
tsc := mp_tsc_def,
fhp := {
enabled := false,
maio_hsn := ts_HsnMaio(0, 0),
@ -2177,12 +2182,10 @@ private function f_rach_req_wait_chan_rqd(integer ra) runs on ConnHdlr return Gs
/* Tune to a dedicated channel: L1CTL only */
private function f_l1ctl_est_dchan(L1CTL_PT pt, ConnHdlrPars pars) {
if (not pars.fhp.enabled) {
pt.send(ts_L1CTL_DM_EST_REQ_H0(pars.chan_nr,
7 /* TODO: mp_tsc */,
pt.send(ts_L1CTL_DM_EST_REQ_H0(pars.chan_nr, pars.tsc,
mp_trx_pars[0].arfcn));
} else {
pt.send(ts_L1CTL_DM_EST_REQ_H1(pars.chan_nr,
7 /* TODO: mp_tsc */,
pt.send(ts_L1CTL_DM_EST_REQ_H1(pars.chan_nr, pars.tsc,
pars.fhp.maio_hsn.hsn,
pars.fhp.maio_hsn.maio,
pars.fhp.ma));
@ -2204,9 +2207,9 @@ private function f_est_dchan(boolean encr_enable := false, RSL_IE_List more_ies
/* Craft channel description (with or without frequency hopping parameters) */
if (g_pars.fhp.enabled) {
ch_desc := valueof(ts_ChanDescH1(g_pars.chan_nr, g_pars.fhp.maio_hsn));
ch_desc := valueof(ts_ChanDescH1(g_pars.chan_nr, g_pars.fhp.maio_hsn, g_pars.tsc));
} else {
ch_desc := valueof(ts_ChanDescH0(g_pars.chan_nr, mp_trx_pars[0].arfcn));
ch_desc := valueof(ts_ChanDescH0(g_pars.chan_nr, mp_trx_pars[0].arfcn, g_pars.tsc));
}
/* Send IMM.ASS via CCHAN */
@ -3764,7 +3767,8 @@ private function f_TC_imm_ass(integer num_total, float sleep_s, float exp_pass)
for (var integer i := 0; i < num_total; i := i+1) {
var ChannelDescription ch_desc := valueof(ts_ChanDescH0(ts_RslChanNr_SDCCH4(0, 0),
mp_trx_pars[0].arfcn));
mp_trx_pars[0].arfcn,
mp_tsc_def));
var GsmRrMessage ia := valueof(ts_IMM_ASS(42, i, 5, ch_desc, c_MA_null));
var octetstring ia_enc := enc_GsmRrMessage(ia);
RSL_CCHAN.send(ts_ASP_RSL_UD(ts_RSL_IMM_ASSIGN(ia_enc, 0)));

@ -50,11 +50,13 @@ function f_switch_dcch() runs on ConnHdlr {
/* Craft channel description (with or without frequency hopping parameters) */
if (g_pars.fhp.enabled) {
sw_req.chan_desc := valueof(ts_ChanDescH1(g_pars.chan_nr,
g_pars.fhp.maio_hsn));
g_pars.fhp.maio_hsn,
g_pars.tsc));
sw_req.ma := g_pars.fhp.ma;
} else {
sw_req.chan_desc := valueof(ts_ChanDescH0(g_pars.chan_nr,
mp_trx_pars[0].arfcn));
mp_trx_pars[0].arfcn,
g_pars.tsc));
sw_req.ma := omit;
}

@ -259,14 +259,12 @@ private function f_smscb_setup(inout CbchTestPars pars) runs on test_CT {
f_l1_tune(L1CTL, ccch_mode := CCCH_MODE_COMBINED);
if (pars.fhp.enabled) {
L1CTL.send(ts_L1CTL_DM_EST_REQ_H1(pars.chan_nr,
7 /* TODO: mp_tsc */,
L1CTL.send(ts_L1CTL_DM_EST_REQ_H1(pars.chan_nr, mp_tsc_def,
pars.fhp.maio_hsn.hsn,
pars.fhp.maio_hsn.maio,
pars.fhp.ma));
} else {
L1CTL.send(ts_L1CTL_DM_EST_REQ_H0(pars.chan_nr,
7 /* TODO: mp_tsc */,
L1CTL.send(ts_L1CTL_DM_EST_REQ_H0(pars.chan_nr, mp_tsc_def,
mp_trx_pars[0].arfcn));
}
}

Loading…
Cancel
Save