aboutsummaryrefslogtreecommitdiffstats
path: root/pcu/PCUIF_Components.ttcn
diff options
context:
space:
mode:
authorPau Espin Pedrol <pespin@sysmocom.de>2021-05-11 17:05:39 +0200
committerlaforge <laforge@osmocom.org>2021-05-13 18:03:24 +0000
commit9fc065a3c3d15dcda5e423ae47ffd036bafa3530 (patch)
tree292caa7cb503efc81efdf1e86f948c969c4d06db /pcu/PCUIF_Components.ttcn
parent93ae4527bf685541e89ba35cd2dbd5def1b1de3b (diff)
pcu: Fix block_nr in tx PCUIF
Diffstat (limited to 'pcu/PCUIF_Components.ttcn')
-rw-r--r--pcu/PCUIF_Components.ttcn11
1 files changed, 8 insertions, 3 deletions
diff --git a/pcu/PCUIF_Components.ttcn b/pcu/PCUIF_Components.ttcn
index be7aaeb5..66b2e21d 100644
--- a/pcu/PCUIF_Components.ttcn
+++ b/pcu/PCUIF_Components.ttcn
@@ -374,6 +374,11 @@ runs on RAW_PCU_BTS_CT
}
}
+private function fn2macblock(uint32_t fn) return uint8_t
+{
+ return (fn mod 52) / 4;
+}
+
/* Get first message from queue. true if non-empty, false otherwise */
private function f_tx_data_ind_fn(integer bts_nr, integer fn)
runs on RAW_PCU_BTS_CT
@@ -399,7 +404,7 @@ runs on RAW_PCU_BTS_CT
f_PCUIF_MsgQueue_dequeue(pdtch_data_queue, pcu_msg);
/* Patch TDMA frame / block number */
pcu_msg.u.data_ind.fn := fn;
- pcu_msg.u.data_ind.block_nr := 0; /* FIXME! */
+ pcu_msg.u.data_ind.block_nr := fn2macblock(fn);
//log(prefix, "DATA.ind");
} else if (has_msg and pcu_msg.u.data_ind.fn < fn) {
setverdict(fail, "We are late scheduling the block! ", pcu_msg.u.data_ind.fn, " < ", fn);
@@ -439,7 +444,7 @@ runs on RAW_PCU_BTS_CT {
/* Patch TDMA frame / block number and send */
pcu_msg.u.rts_req.fn := event.data.tdma_fn;
- pcu_msg.u.rts_req.block_nr := 0; /* FIXME! */
+ pcu_msg.u.rts_req.block_nr := fn2macblock(event.data.tdma_fn);
PCUIF.send(pcu_msg);
}
@@ -462,7 +467,7 @@ runs on RAW_PCU_BTS_CT {
/* Patch TDMA frame / block number and send */
pcu_msg.u.rts_req.fn := ev_begin_fn;
- pcu_msg.u.rts_req.block_nr := 0; /* FIXME! */
+ pcu_msg.u.rts_req.block_nr := fn2macblock(ev_begin_fn);
PCUIF.send(pcu_msg);
repeat;
}