f_ms_tx_data_ind(): indicate actual Timing Advance in DATA.ind
Change-Id: Id89a5ed1ea82a81f0ce4e75204117afb322f5264
diff --git a/pcu/GPRS_Components.ttcn b/pcu/GPRS_Components.ttcn
index 5cf9104..2297fb6 100644
--- a/pcu/GPRS_Components.ttcn
+++ b/pcu/GPRS_Components.ttcn
@@ -626,7 +626,7 @@
function f_ms_tx_data_ind(inout GprsMS ms, octetstring data, uint32_t fn := 0,
template (value) TsTrxBtsNum nr := ts_TsTrxBtsNum)
runs on MS_BTS_IFACE_CT {
- f_pcuif_tx_data_ind(data, ms.lqual_cb, fn, nr := nr);
+ f_pcuif_tx_data_ind(data, fn, ms.ta, ms.lqual_cb, nr := nr);
}
function f_ms_tx_ul_block(inout GprsMS ms, template (value) RlcmacUlBlock ul_data,
@@ -1070,14 +1070,15 @@
}
/* Enqueue DATA.ind (both TDMA frame and block numbers to be patched) */
-function f_pcuif_tx_data_ind(octetstring data, int16_t lqual_cb := 0, uint32_t fn := 0,
+function f_pcuif_tx_data_ind(octetstring data, uint32_t fn := 0,
+ TimingAdvance ta := 0, int16_t lqual_cb := 0,
template (value) TsTrxBtsNum nr := ts_TsTrxBtsNum)
runs on MS_BTS_IFACE_CT {
var template RAW_PCU_EventParam ev_param := {tdma_fn := ? };
BTS.send(ts_PCUIF_DATA_IND(nr.bts_nr, nr.trx_nr, nr.ts_nr, nr.blk_nr,
sapi := PCU_IF_SAPI_PDTCH, data := data,
fn := fn, arfcn := f_trxnr2arfcn(valueof(nr.trx_nr)),
- lqual_cb := lqual_cb));
+ ta_offs_qbits := ta * 4, lqual_cb := lqual_cb));
if (fn != 0) {
ev_param := {tdma_fn := fn };
}
diff --git a/pcu/PCU_selftest.ttcn b/pcu/PCU_selftest.ttcn
index 70138bf..a8bcaee 100644
--- a/pcu/PCU_selftest.ttcn
+++ b/pcu/PCU_selftest.ttcn
@@ -291,7 +291,7 @@
data := f_pad_oct(data, f_rlcmac_cs_mcs2block_len(schemes[i]), '00'O);
/* Send to PCU so that we get gsmtap traces to verify with wireshark */
- f_pcuif_tx_data_ind(data, 0, 0);
+ f_pcuif_tx_data_ind(data);
log("Decoding ", schemes[i]);
ul_data := dec_RlcmacUlBlock(data);