pcu: Use BS_CV_MAX in f_tx_rlcmac_ul_n_blocks
Also increment BSN with each new submitted packet.
Change-Id: I685d1535154197bb85e18875e0a4d41122a24fa0
diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn
index 044d368..a550650 100644
--- a/pcu/PCU_Tests.ttcn
+++ b/pcu/PCU_Tests.ttcn
@@ -136,6 +136,9 @@
var uint8_t g_mcs_max_dl := 9;
var uint8_t g_mcs_max_ul := 9;
+ /* Value at which Countdown Procedure starts. Announced by network (GPRS Cell Options as per TS 04.60 Chapter 12.24) */
+ var uint4_t g_bs_cv_max := 4;
+
var boolean g_egprs_only := false;
var boolean g_force_two_phase_access := false;
@@ -533,8 +536,8 @@
runs on RAW_PCU_Test_CT {
var template (value) RlcmacUlBlock ul_data := t_RLCMAC_UL_DATA(
tfi := tfi,
- cv := num_blocks - 1, /* num UL blocks to be sent (to be overridden in loop) */
- bsn := 0, /* TODO: what should be here? */
+ cv := 15, /* num UL blocks to be sent (to be overridden in loop) */
+ bsn := 0, /* TODO: what should be initial value? */
blocks := { /* To be generated in loop */ });
if (not istemplatekind(tlli, "omit")) {
@@ -544,7 +547,12 @@
for (var integer i := 0; i < num_blocks; i := i + 1) {
/* Prepare a new UL block (CV, random payload) */
- ul_data.data.mac_hdr.countdown := (num_blocks - i - 1);
+ var integer cv := num_blocks - i - 1;
+ if (cv > g_bs_cv_max) {
+ cv := 15;
+ }
+ ul_data.data.mac_hdr.countdown := cv;
+ ul_data.data.mac_hdr.bsn := i;
ul_data.data.blocks := { valueof(t_RLCMAC_LLCBLOCK(f_rnd_octstring(10))) };
f_tx_rlcmac_ul_block(ul_data);
}