diff --git a/pcu/PCUIF_Components.ttcn b/pcu/PCUIF_Components.ttcn index be7aaeb56..66b2e21da 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; }