<p>fixeria has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21317">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">BTS_Tests: make transceiver number configurable<br><br>Change-Id: Ifed3891658501e0a04ff89563d0a02f08211eed3<br>Related: SYS#4918<br>---<br>M bts/BTS_Tests.ttcn<br>M bts/BTS_Tests_LAPDm.ttcn<br>M library/RSL_Emulation.ttcn<br>3 files changed, 17 insertions(+), 8 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/17/21317/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn</span><br><span>index 32a110a..c2a0d6d 100644</span><br><span>--- a/bts/BTS_Tests.ttcn</span><br><span>+++ b/bts/BTS_Tests.ttcn</span><br><span>@@ -279,6 +279,7 @@</span><br><span> };</span><br><span> </span><br><span> type record ConnHdlrPars {</span><br><span style="color: hsl(120, 100%, 40%);">+ uint8_t trx_nr,</span><br><span> RslChannelNr chan_nr,</span><br><span> RSL_IE_ChannelMode chan_mode,</span><br><span> float t_guard,</span><br><span>@@ -651,6 +652,7 @@</span><br><span> /* connect to RSL Emulation main component */</span><br><span> connect(vc_conn:RSL, vc_RSL:CLIENT_PT);</span><br><span> connect(vc_conn:RSL_PROC, vc_RSL:RSL_PROC);</span><br><span style="color: hsl(120, 100%, 40%);">+ connect(vc_conn:RSL_CCHAN, vc_RSL:CCHAN_PT);</span><br><span> </span><br><span> /* The ConnHdlr component may want to talk to some ports directly,</span><br><span> * so we disconnect it from the test_CT and connect it to the component.</span><br><span>@@ -710,7 +712,7 @@</span><br><span> g_Tguard.start(pars.t_guard);</span><br><span> activate(as_Tguard());</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- f_rslem_register(0, pars.chan_nr);</span><br><span style="color: hsl(120, 100%, 40%);">+ f_rslem_register(pars.trx_nr, pars.chan_nr);</span><br><span> </span><br><span> /* call the user-supplied test case function */</span><br><span> fn.apply(id);</span><br><span>@@ -772,8 +774,9 @@</span><br><span> }</span><br><span> </span><br><span> friend template ConnHdlrPars t_Pars(template RslChannelNr chan_nr,</span><br><span style="color: hsl(0, 100%, 40%);">- template RSL_IE_ChannelMode chan_mode,</span><br><span style="color: hsl(0, 100%, 40%);">- float t_guard := 20.0) := {</span><br><span style="color: hsl(120, 100%, 40%);">+ template RSL_IE_ChannelMode chan_mode,</span><br><span style="color: hsl(120, 100%, 40%);">+ uint8_t trx_nr := 0, float t_guard := 20.0) := {</span><br><span style="color: hsl(120, 100%, 40%);">+ trx_nr := trx_nr,</span><br><span> chan_nr := valueof(chan_nr),</span><br><span> chan_mode := valueof(chan_mode),</span><br><span> t_guard := t_guard,</span><br><span>@@ -2182,8 +2185,9 @@</span><br><span> /* Tune to a dedicated channel: L1CTL only */</span><br><span> private function f_l1ctl_est_dchan(L1CTL_PT pt, ConnHdlrPars pars) {</span><br><span> if (not pars.fhp.enabled) {</span><br><span style="color: hsl(120, 100%, 40%);">+ var TrxParsItem trx_pars := mp_trx_pars[pars.trx_nr];</span><br><span> pt.send(ts_L1CTL_DM_EST_REQ_H0(pars.chan_nr, pars.tsc,</span><br><span style="color: hsl(0, 100%, 40%);">- mp_trx_pars[0].arfcn));</span><br><span style="color: hsl(120, 100%, 40%);">+ trx_pars.arfcn));</span><br><span> } else {</span><br><span> pt.send(ts_L1CTL_DM_EST_REQ_H1(pars.chan_nr, pars.tsc,</span><br><span> pars.fhp.maio_hsn.hsn,</span><br><span>@@ -2194,6 +2198,8 @@</span><br><span> </span><br><span> /* Establish dedicated channel: L1CTL + RSL side */</span><br><span> private function f_est_dchan(boolean encr_enable := false, RSL_IE_List more_ies := {}) runs on ConnHdlr {</span><br><span style="color: hsl(120, 100%, 40%);">+ var TrxParsItem trx_pars := mp_trx_pars[g_pars.trx_nr];</span><br><span style="color: hsl(120, 100%, 40%);">+ var uint3_t tn := g_pars.chan_nr.tn;</span><br><span> var GsmFrameNumber fn;</span><br><span> var ImmediateAssignment imm_ass;</span><br><span> var ChannelDescription ch_desc;</span><br><span>@@ -2212,9 +2218,9 @@</span><br><span> ch_desc := valueof(ts_ChanDescH0(g_pars.chan_nr, mp_trx_pars[0].arfcn, g_pars.tsc));</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- /* Send IMM.ASS via CCHAN */</span><br><span style="color: hsl(120, 100%, 40%);">+ /* Send IMM.ASS via CCHAN, so it appears on C0/TRX0 regardless of g_pars.trx_nr */</span><br><span> var GsmRrMessage rr_msg := valueof(ts_IMM_ASS(ra, fn, 0, ch_desc, g_pars.fhp.ma_map));</span><br><span style="color: hsl(0, 100%, 40%);">- RSL.send(ts_RSL_IMM_ASSIGN(enc_GsmRrMessage(rr_msg)));</span><br><span style="color: hsl(120, 100%, 40%);">+ RSL_CCHAN.send(ts_ASP_RSL_UD(ts_RSL_IMM_ASSIGN(enc_GsmRrMessage(rr_msg))));</span><br><span> </span><br><span> /* receive IMM.ASS on MS side */</span><br><span> var ImmediateAssignment ia_um;</span><br><span>diff --git a/bts/BTS_Tests_LAPDm.ttcn b/bts/BTS_Tests_LAPDm.ttcn</span><br><span>index 6d252e0..edd974b 100644</span><br><span>--- a/bts/BTS_Tests_LAPDm.ttcn</span><br><span>+++ b/bts/BTS_Tests_LAPDm.ttcn</span><br><span>@@ -43,7 +43,8 @@</span><br><span> </span><br><span> /* master function switching to a dedicated radio channel */</span><br><span> function f_switch_dcch() runs on ConnHdlr {</span><br><span style="color: hsl(0, 100%, 40%);">- var GsmBandArfcn arfcn := valueof(ts_GsmBandArfcn(mp_trx_pars[0].arfcn));</span><br><span style="color: hsl(120, 100%, 40%);">+ var TrxParsItem trx_pars := mp_trx_pars[g_pars.trx_nr];</span><br><span style="color: hsl(120, 100%, 40%);">+ var GsmBandArfcn arfcn := valueof(ts_GsmBandArfcn(trx_pars.arfcn));</span><br><span> var BCCH_tune_req tune_req := { arfcn := arfcn, combined_ccch := true };</span><br><span> var DCCH_switch_req sw_req;</span><br><span> </span><br><span>@@ -55,7 +56,7 @@</span><br><span> sw_req.ma := g_pars.fhp.ma;</span><br><span> } else {</span><br><span> sw_req.chan_desc := valueof(ts_ChanDescH0(g_pars.chan_nr,</span><br><span style="color: hsl(0, 100%, 40%);">- mp_trx_pars[0].arfcn,</span><br><span style="color: hsl(120, 100%, 40%);">+ trx_pars.arfcn,</span><br><span> g_pars.tsc));</span><br><span> sw_req.ma := omit;</span><br><span> }</span><br><span>diff --git a/library/RSL_Emulation.ttcn b/library/RSL_Emulation.ttcn</span><br><span>index 0a20459..d8933a9 100644</span><br><span>--- a/library/RSL_Emulation.ttcn</span><br><span>+++ b/library/RSL_Emulation.ttcn</span><br><span>@@ -44,6 +44,8 @@</span><br><span> /* General "base class" component definition, of which specific implementations</span><br><span> * derive themselves by means of the "extends" feature */</span><br><span> type component RSL_DchanHdlr {</span><br><span style="color: hsl(120, 100%, 40%);">+ /* port for Common Channel / TRX Management */</span><br><span style="color: hsl(120, 100%, 40%);">+ port RSL_CCHAN_PT RSL_CCHAN;</span><br><span> /* port facing up towards dedicated channel handler */</span><br><span> port RSL_DCHAN_PT RSL;</span><br><span> port RSLEM_PROC_PT RSL_PROC;</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21317">change 21317</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21317"/><meta itemprop="name" content="View Change"/></div></div>
<div style="display:none"> Gerrit-Project: osmo-ttcn3-hacks </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: Ifed3891658501e0a04ff89563d0a02f08211eed3 </div>
<div style="display:none"> Gerrit-Change-Number: 21317 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: fixeria <vyanitskiy@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>