BTS_Tests: make Training Sequence Code configurable

Change-Id: Ifc09d4192584048d39ebfa22824eda69320fa2c5
This commit is contained in:
Vadim Yanitskiy 2020-11-15 20:45:01 +07:00
parent 7e70709689
commit 3191d73f6c
3 changed files with 17 additions and 13 deletions

View File

@ -116,6 +116,8 @@ modulepar {
FreqHopConfig mp_fh_config; FreqHopConfig mp_fh_config;
/* configuration for each individual transceiver */ /* configuration for each individual transceiver */
TrxPars mp_trx_pars; /* see BTS_Tests.default */ TrxPars mp_trx_pars; /* see BTS_Tests.default */
/* default Training Sequence Code */
GsmTsc mp_tsc_def := 7;
} }
type record of RslChannelNr ChannelNrs; type record of RslChannelNr ChannelNrs;
@ -285,6 +287,8 @@ type record ConnHdlrPars {
RSL_IE_EncryptionInfo encr optional, RSL_IE_EncryptionInfo encr optional,
BtsBand bts0_band optional, BtsBand bts0_band optional,
/* Training Sequence Code */
GsmTsc tsc,
/* Frequency hopping parameters */ /* Frequency hopping parameters */
FreqHopPars fhp FreqHopPars fhp
}; };
@ -795,6 +799,7 @@ friend template ConnHdlrPars t_Pars(template RslChannelNr chan_nr,
spec := omit, spec := omit,
encr := omit, encr := omit,
bts0_band := omit, bts0_band := omit,
tsc := mp_tsc_def,
fhp := { fhp := {
enabled := false, enabled := false,
maio_hsn := ts_HsnMaio(0, 0), 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 */ /* Tune to a dedicated channel: L1CTL only */
private function f_l1ctl_est_dchan(L1CTL_PT pt, ConnHdlrPars pars) { private function f_l1ctl_est_dchan(L1CTL_PT pt, ConnHdlrPars pars) {
if (not pars.fhp.enabled) { if (not pars.fhp.enabled) {
pt.send(ts_L1CTL_DM_EST_REQ_H0(pars.chan_nr, pt.send(ts_L1CTL_DM_EST_REQ_H0(pars.chan_nr, pars.tsc,
7 /* TODO: mp_tsc */,
mp_trx_pars[0].arfcn)); mp_trx_pars[0].arfcn));
} else { } else {
pt.send(ts_L1CTL_DM_EST_REQ_H1(pars.chan_nr, pt.send(ts_L1CTL_DM_EST_REQ_H1(pars.chan_nr, pars.tsc,
7 /* TODO: mp_tsc */,
pars.fhp.maio_hsn.hsn, pars.fhp.maio_hsn.hsn,
pars.fhp.maio_hsn.maio, pars.fhp.maio_hsn.maio,
pars.fhp.ma)); 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) */ /* Craft channel description (with or without frequency hopping parameters) */
if (g_pars.fhp.enabled) { 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 { } 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 */ /* 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) { for (var integer i := 0; i < num_total; i := i+1) {
var ChannelDescription ch_desc := valueof(ts_ChanDescH0(ts_RslChanNr_SDCCH4(0, 0), 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 GsmRrMessage ia := valueof(ts_IMM_ASS(42, i, 5, ch_desc, c_MA_null));
var octetstring ia_enc := enc_GsmRrMessage(ia); var octetstring ia_enc := enc_GsmRrMessage(ia);
RSL_CCHAN.send(ts_ASP_RSL_UD(ts_RSL_IMM_ASSIGN(ia_enc, 0))); RSL_CCHAN.send(ts_ASP_RSL_UD(ts_RSL_IMM_ASSIGN(ia_enc, 0)));

View File

@ -50,11 +50,13 @@ function f_switch_dcch() runs on ConnHdlr {
/* Craft channel description (with or without frequency hopping parameters) */ /* Craft channel description (with or without frequency hopping parameters) */
if (g_pars.fhp.enabled) { if (g_pars.fhp.enabled) {
sw_req.chan_desc := valueof(ts_ChanDescH1(g_pars.chan_nr, 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; sw_req.ma := g_pars.fhp.ma;
} else { } else {
sw_req.chan_desc := valueof(ts_ChanDescH0(g_pars.chan_nr, 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; sw_req.ma := omit;
} }

View File

@ -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); f_l1_tune(L1CTL, ccch_mode := CCCH_MODE_COMBINED);
if (pars.fhp.enabled) { if (pars.fhp.enabled) {
L1CTL.send(ts_L1CTL_DM_EST_REQ_H1(pars.chan_nr, L1CTL.send(ts_L1CTL_DM_EST_REQ_H1(pars.chan_nr, mp_tsc_def,
7 /* TODO: mp_tsc */,
pars.fhp.maio_hsn.hsn, pars.fhp.maio_hsn.hsn,
pars.fhp.maio_hsn.maio, pars.fhp.maio_hsn.maio,
pars.fhp.ma)); pars.fhp.ma));
} else { } else {
L1CTL.send(ts_L1CTL_DM_EST_REQ_H0(pars.chan_nr, L1CTL.send(ts_L1CTL_DM_EST_REQ_H0(pars.chan_nr, mp_tsc_def,
7 /* TODO: mp_tsc */,
mp_trx_pars[0].arfcn)); mp_trx_pars[0].arfcn));
} }
} }