|
|
|
@ -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))); |
|
|
|
|