BTS_Tests: separate generating g_AllChannels[] into a function
Change-Id: Iab2d009b977255b16028c77a9b96df48d270ed1c
Related: SYS#5313, OS#5956
diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn
index df18403..6e4a36a 100644
--- a/bts/BTS_Tests.ttcn
+++ b/bts/BTS_Tests.ttcn
@@ -515,6 +515,44 @@
trxc_conn_id := res.connId;
}
+private function f_gen_chans_for_ts(uint3_t tn, PchanConfig config)
+return ChannelNrs
+{
+ select (config) {
+ case (GSM_PCHAN_CCCH_SDCCH4) {
+ return { valueof(ts_RslChanNr_SDCCH4(tn, 0)),
+ valueof(ts_RslChanNr_SDCCH4(tn, 1)),
+ valueof(ts_RslChanNr_SDCCH4(tn, 2)),
+ valueof(ts_RslChanNr_SDCCH4(tn, 3)) };
+ }
+ case (GSM_PCHAN_SDCCH8) {
+ return { valueof(ts_RslChanNr_SDCCH8(tn, 0)),
+ valueof(ts_RslChanNr_SDCCH8(tn, 1)),
+ valueof(ts_RslChanNr_SDCCH8(tn, 2)),
+ valueof(ts_RslChanNr_SDCCH8(tn, 3)),
+ valueof(ts_RslChanNr_SDCCH8(tn, 4)),
+ valueof(ts_RslChanNr_SDCCH8(tn, 5)),
+ valueof(ts_RslChanNr_SDCCH8(tn, 6)),
+ valueof(ts_RslChanNr_SDCCH8(tn, 7)) };
+ }
+ case (GSM_PCHAN_TCHH_TCHF_PDCH) {
+ return { valueof(ts_RslChanNr_Lm(tn, 0)),
+ valueof(ts_RslChanNr_Lm(tn, 1)),
+ valueof(ts_RslChanNr_Bm(tn)) };
+ }
+ case (GSM_PCHAN_TCHH) {
+ return { valueof(ts_RslChanNr_Lm(tn, 0)),
+ valueof(ts_RslChanNr_Lm(tn, 1)) };
+ }
+ case (GSM_PCHAN_TCHF,
+ GSM_PCHAN_TCHF_PDCH) {
+ return { valueof(ts_RslChanNr_Bm(tn)) };
+ }
+ }
+
+ return { };
+}
+
/* global init function (without PCUIF connection) */
friend function f_init(uint8_t trx_nr := 0)
runs on test_CT
@@ -550,41 +588,8 @@
/* Generate list of all logical channels from module parameters */
for (var integer tn := 0; tn < lengthof(trx_pars.ts); tn := tn + 1) {
- select (trx_pars.ts[tn].config) {
- case (GSM_PCHAN_CCCH_SDCCH4) {
- g_AllChannels := g_AllChannels &
- { valueof(ts_RslChanNr_SDCCH4(tn, 0)),
- valueof(ts_RslChanNr_SDCCH4(tn, 1)),
- valueof(ts_RslChanNr_SDCCH4(tn, 2)),
- valueof(ts_RslChanNr_SDCCH4(tn, 3)) };
- }
- case (GSM_PCHAN_SDCCH8) {
- g_AllChannels := g_AllChannels &
- { valueof(ts_RslChanNr_SDCCH8(tn, 0)),
- valueof(ts_RslChanNr_SDCCH8(tn, 1)),
- valueof(ts_RslChanNr_SDCCH8(tn, 2)),
- valueof(ts_RslChanNr_SDCCH8(tn, 3)),
- valueof(ts_RslChanNr_SDCCH8(tn, 4)),
- valueof(ts_RslChanNr_SDCCH8(tn, 5)),
- valueof(ts_RslChanNr_SDCCH8(tn, 6)),
- valueof(ts_RslChanNr_SDCCH8(tn, 7)) };
- }
- case (GSM_PCHAN_TCHH_TCHF_PDCH) {
- g_AllChannels := g_AllChannels &
- { valueof(ts_RslChanNr_Lm(tn, 0)),
- valueof(ts_RslChanNr_Lm(tn, 1)),
- valueof(ts_RslChanNr_Bm(tn)) };
- }
- case (GSM_PCHAN_TCHH) {
- g_AllChannels := g_AllChannels &
- { valueof(ts_RslChanNr_Lm(tn, 0)),
- valueof(ts_RslChanNr_Lm(tn, 1)) };
- }
- case (GSM_PCHAN_TCHF, GSM_PCHAN_TCHF_PDCH) {
- g_AllChannels := g_AllChannels &
- { valueof(ts_RslChanNr_Bm(tn)) };
- }
- }
+ var PchanConfig config := trx_pars.ts[tn].config;
+ g_AllChannels := g_AllChannels & f_gen_chans_for_ts(tn, config);
}
f_init_rsl(id);