* this function is called by the PHy procedure TX in 3 possible occasion:
* 1) we manage BCCH pdu
* 2) we manage RA dlsch pdu (to be checked if needed in our case)
* 3) UE specific dlsch pdu
* ** we need to know if exist and which value has the eutracontrolRegionSize (TS 36.213 ch 16.4.1.4) whenever we are in In-band mode
* ** CQI and PMI are not present in NB-IoT
* ** redundancy version exist only in UL for NB-IoT and not in DL
*/
voidnpdsch_procedures(PHY_VARS_eNB*eNB,
eNB_rxtx_proc_t*proc,//Context data structure for RX/TX portion of subframe processing
NB_IoT_eNB_DLSCH_t*dlsch,
//NB_IoT_eNB_DLSCH_t *dlsch1,//this is the second colum of the UE specific LTE_eNB_DLSCH_t (see the PHY/defs.h line 471) is used only in ue specific dlsch for two parallel streams (but we don't have it in NB-IoT)
LTE_eNB_UE_stats*ue_stats,
intra_flag,// set to 1 only in case of RAR as a segment data
//int num_pdcch_symbols, (BCOM says are not needed
uint32_tsegment_length,//lenght of the DLSCH PDU from the Sched_rsp (FAPI nomenclature)
uint8_t*segment_data// the DLSCH PDU itself from the Sched_rsp (FAPI nomenclature)
)
{
intframe=proc->frame_tx;
intsubframe=proc->subframe_tx;
//int harq_pid = dlsch->current_harq_pid;
LTE_DL_eNB_HARQ_tdlsch_harq=dlsch->harq_process;//TODO: review the HARQ process for NB_IoT
intinput_buffer_length=dlsch_harq->TBS/8;// get in byte //to be changed for NB_IoT????
* this function is called by the PHy procedure TX in 3 possible occasion:
* 1) we manage BCCH pdu
* 2) we manage RA dlsch pdu (to be checked if needed in our case)
* 3) UE specific dlsch pdu
* ** we need to know if exist and which value has the eutracontrolRegionSize (TS 36.213 ch 16.4.1.4) whenever we are in In-band mode
* ** CQI and PMI are not present in NB-IoT
* ** redundancy version exist only in UL for NB-IoT and not in DL
*/
//void npdsch_procedures(PHY_VARS_eNB *eNB,
// eNB_rxtx_proc_t *proc, //Context data structure for RX/TX portion of subframe processing
// NB_IoT_eNB_NDLSCH_t *dlsch,
////NB_IoT_eNB_DLSCH_t *dlsch1,//this is the second colum of the UE specific LTE_eNB_DLSCH_t (see the PHY/defs.h line 471) is used only in ue specific dlsch for two parallel streams (but we don't have it in NB-IoT)
// LTE_eNB_UE_stats *ue_stats,
// int ra_flag,// set to 1 only in case of RAR as a segment data
// //int num_pdcch_symbols, (BCOM says are not needed
// uint32_t segment_length, //lenght of the DLSCH PDU from the Sched_rsp (FAPI nomenclature)
// uint8_t* segment_data // the DLSCH PDU itself from the Sched_rsp (FAPI nomenclature)
// )
//{
// int frame=proc->frame_tx;
// int subframe=proc->subframe_tx;
// //int harq_pid = dlsch->current_harq_pid;
// LTE_DL_eNB_HARQ_t *dlsch_harq=dlsch->harq_process; //TODO: review the HARQ process for NB_IoT
// int input_buffer_length = dlsch_harq->TBS/8; // get in byte //to be changed for NB_IoT????
// After stored the Upink information, process it and made it into FAPI style, send the UL_Indication to higher layer that also provide a tick to the scheduler
// After stored the Upink information, process it and made it into FAPI style, send the UL_Indication to higher layer that also provide a tick to the scheduler