BTS_Tests_LAPDm: consider frequency hopping parameters

Change-Id: Idd1ffe0ee97805b40bb5e37645aa53a9b1dc4b0a
Related: SYS#4868, OS#4546
diff --git a/bts/BTS_Tests_LAPDm.ttcn b/bts/BTS_Tests_LAPDm.ttcn
index 4242502..9981bbc 100644
--- a/bts/BTS_Tests_LAPDm.ttcn
+++ b/bts/BTS_Tests_LAPDm.ttcn
@@ -6,6 +6,7 @@
 import from LAPDm_Types all;
 import from RSL_Types all;
 import from BTS_Tests all;
+import from GSM_RR_Types all;
 import from Misc_Helpers all;
 
 /* test that use exclusively only LAPDm over L1CTL */
@@ -51,9 +52,16 @@
 }
 
 /* master function switching to a dedicated radio channel */
-function f_switch_dcch(Arfcn arfcn, RslChannelNr chan_nr, GsmTsc tsc) runs on lapdm_test_CT {
-	var BCCH_tune_req tune_req := { arfcn := arfcn, combined_ccch := true };
-	var DCCH_switch_req sw_req := { arfcn, chan_nr, tsc };
+function f_switch_dcch() runs on ConnHdlr {
+	var BCCH_tune_req tune_req := { arfcn := { false, mp_trx0_arfcn }, combined_ccch := true };
+	var DCCH_switch_req sw_req := { ma := g_pars.ma };
+
+	/* Craft channel description (with or without frequency hopping parameters) */
+	if (ispresent(g_pars.maio_hsn)) {
+		sw_req.chan_desc := valueof(ts_ChanDescH1(g_pars.chan_nr, g_pars.maio_hsn));
+	} else {
+		sw_req.chan_desc := valueof(ts_ChanDescH0(g_pars.chan_nr, mp_trx0_arfcn));
+	}
 
 	LAPDM.send(tune_req);
 	LAPDM.send(sw_req);
@@ -237,7 +245,7 @@
 	/* activate the channel on the BTS side */
 	f_rsl_chan_act(g_pars.chan_mode, false, {});
 	/* activate the channel on the MS side */
-	f_switch_dcch({false, mp_trx0_arfcn}, g_chan_nr, 7);
+	f_switch_dcch();
 }
 
 private function fp_common_fini() runs on ConnHdlr