diff --git a/library/PCUIF_Types.ttcn b/library/PCUIF_Types.ttcn index 0e112dc01..8af37570d 100644 --- a/library/PCUIF_Types.ttcn +++ b/library/PCUIF_Types.ttcn @@ -990,6 +990,24 @@ return BIT8 { } } +function f_PCUIF_ver_INFO_PDCHMask_set(inout PCUIF_info_ind info, BIT8 pdch_mask, + template (present) uint8_t trx_nr := ?) +{ + if (PCUIF_Types.mp_pcuif_version >= 10) { + for (var integer nr := 0; nr < lengthof(info.trx.v10); nr := nr + 1) { + if (match(nr, trx_nr)) { + info.trx.v10[nr].pdch_mask := pdch_mask; + } + } + } else { + for (var integer nr := 0; nr < lengthof(info.trx.v09); nr := nr + 1) { + if (match(nr, trx_nr)) { + info.trx.v09[nr].pdch_mask := pdch_mask; + } + } + } +} + function f_PCUIF_AF2addr_type(AddressFamily address_family) return PCUIF_AddrType { if (address_family == AF_INET) { diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 411890c68..8facde70b 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -2192,19 +2192,10 @@ testcase TC_egprs_pkt_chan_req_reject_exhaustion() runs on RAW_PCU_Test_CT { var BIT11 ra11; info_ind := valueof(ts_PCUIF_INFO_default); - if (PCUIF_Types.mp_pcuif_version >= 10) { - /* Only the first TRX is enabled. */ - for (var integer i := 0; i < lengthof(info_ind.trx.v10); i := i + 1) { - info_ind.trx.v10[i].pdch_mask := '00000000'B; - } - info_ind.trx.v10[0].pdch_mask := '00000001'B; - } else { - /* Only the first TRX is enabled. */ - for (var integer i := 0; i < lengthof(info_ind.trx.v09); i := i + 1) { - info_ind.trx.v09[i].pdch_mask := '00000000'B; - } - info_ind.trx.v09[0].pdch_mask := '00000001'B; - } + + /* Only the first TRX is enabled. */ + f_PCUIF_ver_INFO_PDCHMask_set(info_ind, '00000000'B, (1 .. 7)); + f_PCUIF_ver_INFO_PDCHMask_set(info_ind, '00000001'B, 0); /* Initialize the PCU interface abstraction */ f_init_raw(testcasename(), info_ind); @@ -2501,14 +2492,13 @@ testcase TC_multitrx_multims_alloc() runs on RAW_PCU_Test_CT { f_init_gprs_ms(num_ms); info_ind := valueof(ts_PCUIF_INFO_default); + /* Only the 3 first TRX are enabled. The enabled ones all have same amount of resources, hence same amount of initial resources. */ - for (i := 0; i < lengthof(info_ind.trx.v10); i := i + 1) { - info_ind.trx.v10[i].pdch_mask := '00000000'B; - } - info_ind.trx.v10[0].pdch_mask := '00000011'B; - info_ind.trx.v10[1].pdch_mask := '00001100'B; - info_ind.trx.v10[2].pdch_mask := '11000000'B; + f_PCUIF_ver_INFO_PDCHMask_set(info_ind, '00000000'B, (3 .. 7)); + f_PCUIF_ver_INFO_PDCHMask_set(info_ind, '00000011'B, 0); + f_PCUIF_ver_INFO_PDCHMask_set(info_ind, '00001100'B, 1); + f_PCUIF_ver_INFO_PDCHMask_set(info_ind, '11000000'B, 2); /* Initialize the PCU interface abstraction */ f_init_raw(testcasename(), info_ind);