<p>fixeria <strong>submitted</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19253">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  Jenkins Builder: Verified
  laforge: Looks good to me, approved
  pespin: Looks good to me, but someone else must approve

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">BTS_Tests_LAPDm: consider frequency hopping parameters<br><br>Change-Id: Idd1ffe0ee97805b40bb5e37645aa53a9b1dc4b0a<br>Related: SYS#4868, OS#4546<br>---<br>M bts/BTS_Tests_LAPDm.ttcn<br>M library/LAPDm_RAW_PT.ttcn<br>2 files changed, 32 insertions(+), 12 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/bts/BTS_Tests_LAPDm.ttcn b/bts/BTS_Tests_LAPDm.ttcn</span><br><span>index 4242502..9981bbc 100644</span><br><span>--- a/bts/BTS_Tests_LAPDm.ttcn</span><br><span>+++ b/bts/BTS_Tests_LAPDm.ttcn</span><br><span>@@ -6,6 +6,7 @@</span><br><span> import from LAPDm_Types all;</span><br><span> import from RSL_Types all;</span><br><span> import from BTS_Tests all;</span><br><span style="color: hsl(120, 100%, 40%);">+import from GSM_RR_Types all;</span><br><span> import from Misc_Helpers all;</span><br><span> </span><br><span> /* test that use exclusively only LAPDm over L1CTL */</span><br><span>@@ -51,9 +52,16 @@</span><br><span> }</span><br><span> </span><br><span> /* master function switching to a dedicated radio channel */</span><br><span style="color: hsl(0, 100%, 40%);">-function f_switch_dcch(Arfcn arfcn, RslChannelNr chan_nr, GsmTsc tsc) runs on lapdm_test_CT {</span><br><span style="color: hsl(0, 100%, 40%);">-        var BCCH_tune_req tune_req := { arfcn := arfcn, combined_ccch := true };</span><br><span style="color: hsl(0, 100%, 40%);">-        var DCCH_switch_req sw_req := { arfcn, chan_nr, tsc };</span><br><span style="color: hsl(120, 100%, 40%);">+function f_switch_dcch() runs on ConnHdlr {</span><br><span style="color: hsl(120, 100%, 40%);">+   var BCCH_tune_req tune_req := { arfcn := { false, mp_trx0_arfcn }, combined_ccch := true };</span><br><span style="color: hsl(120, 100%, 40%);">+   var DCCH_switch_req sw_req := { ma := g_pars.ma };</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+  /* Craft channel description (with or without frequency hopping parameters) */</span><br><span style="color: hsl(120, 100%, 40%);">+        if (ispresent(g_pars.maio_hsn)) {</span><br><span style="color: hsl(120, 100%, 40%);">+             sw_req.chan_desc := valueof(ts_ChanDescH1(g_pars.chan_nr, g_pars.maio_hsn));</span><br><span style="color: hsl(120, 100%, 40%);">+  } else {</span><br><span style="color: hsl(120, 100%, 40%);">+              sw_req.chan_desc := valueof(ts_ChanDescH0(g_pars.chan_nr, mp_trx0_arfcn));</span><br><span style="color: hsl(120, 100%, 40%);">+    }</span><br><span> </span><br><span>        LAPDM.send(tune_req);</span><br><span>        LAPDM.send(sw_req);</span><br><span>@@ -237,7 +245,7 @@</span><br><span>    /* activate the channel on the BTS side */</span><br><span>   f_rsl_chan_act(g_pars.chan_mode, false, {});</span><br><span>         /* activate the channel on the MS side */</span><br><span style="color: hsl(0, 100%, 40%);">-       f_switch_dcch({false, mp_trx0_arfcn}, g_chan_nr, 7);</span><br><span style="color: hsl(120, 100%, 40%);">+  f_switch_dcch();</span><br><span> }</span><br><span> </span><br><span> private function fp_common_fini() runs on ConnHdlr</span><br><span>diff --git a/library/LAPDm_RAW_PT.ttcn b/library/LAPDm_RAW_PT.ttcn</span><br><span>index 394deab..77f0452 100644</span><br><span>--- a/library/LAPDm_RAW_PT.ttcn</span><br><span>+++ b/library/LAPDm_RAW_PT.ttcn</span><br><span>@@ -38,9 +38,8 @@</span><br><span> </span><br><span>     /* directly switch to a dedicated channel (without RACH/IMM.ASS */</span><br><span>   type record DCCH_switch_req {</span><br><span style="color: hsl(0, 100%, 40%);">-           Arfcn arfcn,</span><br><span style="color: hsl(0, 100%, 40%);">-            RslChannelNr chan_nr,</span><br><span style="color: hsl(0, 100%, 40%);">-           GsmTsc tsc</span><br><span style="color: hsl(120, 100%, 40%);">+            ChannelDescription chan_desc,</span><br><span style="color: hsl(120, 100%, 40%);">+         L1ctlMA ma</span><br><span>   }</span><br><span> </span><br><span>        type record DCCH_switch_res {</span><br><span>@@ -236,17 +235,30 @@</span><br><span>                /* store/save channel description */</span><br><span>                 chan_desc := imm_ass.chan_desc;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-             /* send DM_EST_REQ */</span><br><span style="color: hsl(120, 100%, 40%);">+         /* send DM_EST_REQ, TODO: Mobile Allocation */</span><br><span>               f_L1CTL_DM_EST_REQ_IA(L1CTL, imm_ass);</span><br><span>               set_ph_state(PH_STATE_DCH);</span><br><span>  }</span><br><span> </span><br><span>        /* switching directly to a dedicated channel *without RACH/IMM-ASS */</span><br><span style="color: hsl(0, 100%, 40%);">-   private function f_switch_dcch(Arfcn arfcn, RslChannelNr chan_nr, GsmTsc tsc) runs on lapdm_CT {</span><br><span style="color: hsl(120, 100%, 40%);">+      private function f_switch_dcch(in DCCH_switch_req sw_req) runs on lapdm_CT {</span><br><span>                 set_ph_state(PH_STATE_TUNING_DCH);</span><br><span>           /* store/save channel description */</span><br><span style="color: hsl(0, 100%, 40%);">-            chan_desc.chan_nr := chan_nr;</span><br><span style="color: hsl(0, 100%, 40%);">-           L1CTL.send(ts_L1CTL_DM_EST_REQ_H0(chan_nr, tsc, arfcn.arfcn));</span><br><span style="color: hsl(120, 100%, 40%);">+                chan_desc := sw_req.chan_desc;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+              /* tune the L1 to the indicated channel */</span><br><span style="color: hsl(120, 100%, 40%);">+            if (chan_desc.h) {</span><br><span style="color: hsl(120, 100%, 40%);">+                    L1CTL.send(ts_L1CTL_DM_EST_REQ_H1(chan_desc.chan_nr,</span><br><span style="color: hsl(120, 100%, 40%);">+                                                    chan_desc.tsc,</span><br><span style="color: hsl(120, 100%, 40%);">+                                                        chan_desc.maio_hsn.hsn,</span><br><span style="color: hsl(120, 100%, 40%);">+                                                       chan_desc.maio_hsn.maio,</span><br><span style="color: hsl(120, 100%, 40%);">+                                                      sw_req.ma));</span><br><span style="color: hsl(120, 100%, 40%);">+                } else {</span><br><span style="color: hsl(120, 100%, 40%);">+                      L1CTL.send(ts_L1CTL_DM_EST_REQ_H0(chan_desc.chan_nr,</span><br><span style="color: hsl(120, 100%, 40%);">+                                                    chan_desc.tsc,</span><br><span style="color: hsl(120, 100%, 40%);">+                                                        chan_desc.arfcn));</span><br><span style="color: hsl(120, 100%, 40%);">+          }</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>          set_ph_state(PH_STATE_DCH);</span><br><span>  }</span><br><span> </span><br><span>@@ -431,7 +443,7 @@</span><br><span>                  }</span><br><span>                    [] LAPDM_SP.receive(DCCH_switch_req:?) -> value sw_req {</span><br><span>                          var DCCH_switch_res res;</span><br><span style="color: hsl(0, 100%, 40%);">-                                f_switch_dcch(sw_req.arfcn, sw_req.chan_nr, sw_req.tsc);</span><br><span style="color: hsl(120, 100%, 40%);">+                              f_switch_dcch(sw_req);</span><br><span>                               if (ph_state == PH_STATE_DCH) {</span><br><span>                                      res := { omit };</span><br><span>                             } else {</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19253">change 19253</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/+/19253"/><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: Idd1ffe0ee97805b40bb5e37645aa53a9b1dc4b0a </div>
<div style="display:none"> Gerrit-Change-Number: 19253 </div>
<div style="display:none"> Gerrit-PatchSet: 2 </div>
<div style="display:none"> Gerrit-Owner: fixeria <vyanitskiy@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: fixeria <vyanitskiy@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-Reviewer: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>