Resolved build warnings(25+) and 5G nFAPI downlink errors(future_ul_tti_request)
This commit is contained in:
@@ -421,7 +421,7 @@ void dump_pdsch_stats(PHY_VARS_gNB *gNB) {
|
||||
|
||||
for (int i=0;i<NUMBER_OF_NR_SCH_STATS_MAX;i++)
|
||||
if (gNB->dlsch_stats[i].rnti > 0)
|
||||
LOG_I(PHY,"DLSCH RNTI %x: round_trials %d(%1.1e):%d(%1.1e):%d(%1.1e):%d, current_Qm %d, current_RI %d, total_bytes TX %d\n",
|
||||
LOG_D(PHY,"DLSCH RNTI %x: round_trials %d(%1.1e):%d(%1.1e):%d(%1.1e):%d, current_Qm %d, current_RI %d, total_bytes TX %d\n",
|
||||
gNB->dlsch_stats[i].rnti,
|
||||
gNB->dlsch_stats[i].round_trials[0],
|
||||
(double)gNB->dlsch_stats[i].round_trials[1]/gNB->dlsch_stats[i].round_trials[0],
|
||||
|
||||
@@ -12,16 +12,16 @@ void handle_nfapi_nr_pdcch_pdu(PHY_VARS_gNB *gNB,
|
||||
void handle_nr_nfapi_ssb_pdu(PHY_VARS_gNB *gNB,int frame,int slot,
|
||||
nfapi_nr_dl_tti_request_pdu_t *dl_tti_pdu){}
|
||||
|
||||
int16_t find_nr_dlsch(uint16_t rnti, PHY_VARS_gNB *gNB,find_type_t type){}
|
||||
int16_t find_nr_dlsch(uint16_t rnti, PHY_VARS_gNB *gNB,find_type_t type){return 0;}
|
||||
void handle_nr_nfapi_pdsch_pdu(PHY_VARS_gNB *gNB,int frame,int slot,
|
||||
nfapi_nr_dl_tti_pdsch_pdu *pdsch_pdu,
|
||||
uint8_t *sdu){
|
||||
}
|
||||
int l1_north_init_gNB(void){}
|
||||
int l1_north_init_gNB(void){return 0;}
|
||||
|
||||
uint8_t slot_ahead=6;
|
||||
//uint8_t nfapi_mode=0;
|
||||
NR_IF_Module_t *NR_IF_Module_init(int Mod_id) {}
|
||||
NR_IF_Module_t *NR_IF_Module_init(int Mod_id) {return NULL;}
|
||||
|
||||
void handle_nfapi_nr_ul_dci_pdu(PHY_VARS_gNB *gNB,
|
||||
int frame, int slot,
|
||||
|
||||
@@ -12,16 +12,16 @@ void handle_nfapi_nr_pdcch_pdu(PHY_VARS_gNB *gNB,
|
||||
void handle_nr_nfapi_ssb_pdu(PHY_VARS_gNB *gNB,int frame,int slot,
|
||||
nfapi_nr_dl_tti_request_pdu_t *dl_tti_pdu){}
|
||||
|
||||
int16_t find_nr_dlsch(uint16_t rnti, PHY_VARS_gNB *gNB,find_type_t type){}
|
||||
int16_t find_nr_dlsch(uint16_t rnti, PHY_VARS_gNB *gNB,find_type_t type){return 0;}
|
||||
void handle_nr_nfapi_pdsch_pdu(PHY_VARS_gNB *gNB,int frame,int slot,
|
||||
nfapi_nr_dl_tti_pdsch_pdu *pdsch_pdu,
|
||||
uint8_t *sdu){
|
||||
}
|
||||
int l1_north_init_gNB(void){}
|
||||
int l1_north_init_gNB(void){return 0;}
|
||||
|
||||
uint8_t slot_ahead=6;
|
||||
//uint8_t nfapi_mode=0;
|
||||
NR_IF_Module_t *NR_IF_Module_init(int Mod_id) {}
|
||||
NR_IF_Module_t *NR_IF_Module_init(int Mod_id) {return NULL;}
|
||||
|
||||
void handle_nfapi_nr_ul_dci_pdu(PHY_VARS_gNB *gNB,
|
||||
int frame, int slot,
|
||||
|
||||
@@ -177,7 +177,7 @@ void nr_schedule_response(NR_Sched_Rsp_t *Sched_INFO){
|
||||
switch (dl_tti_pdu->PDUType) {
|
||||
case NFAPI_NR_DL_TTI_SSB_PDU_TYPE:
|
||||
gNB->pbch_configured=1;
|
||||
if(nfapi_mode != NFAPI_MODE_VNF)
|
||||
if(NFAPI_MODE != NFAPI_MODE_VNF)
|
||||
handle_nr_nfapi_ssb_pdu(gNB,frame,slot,
|
||||
dl_tti_pdu);
|
||||
|
||||
@@ -185,7 +185,7 @@ void nr_schedule_response(NR_Sched_Rsp_t *Sched_INFO){
|
||||
|
||||
case NFAPI_NR_DL_TTI_PDCCH_PDU_TYPE:
|
||||
AssertFatal(pdcch_received == 0, "pdcch_received is not 0, we can only handle one PDCCH PDU per slot\n");
|
||||
if(nfapi_mode != NFAPI_MODE_VNF)
|
||||
if(NFAPI_MODE != NFAPI_MODE_VNF)
|
||||
handle_nfapi_nr_pdcch_pdu(gNB,
|
||||
frame, slot,
|
||||
&dl_tti_pdu->pdcch_pdu);
|
||||
@@ -202,19 +202,19 @@ void nr_schedule_response(NR_Sched_Rsp_t *Sched_INFO){
|
||||
AssertFatal(TX_req->pdu_list[pduIndex].num_TLV == 1, "TX_req->pdu_list[%d].num_TLV %d != 1\n",
|
||||
pduIndex,TX_req->pdu_list[pduIndex].num_TLV);
|
||||
uint8_t *sdu = (uint8_t *)TX_req->pdu_list[pduIndex].TLVs[0].value.direct;
|
||||
if(nfapi_mode != NFAPI_MODE_VNF)
|
||||
if(NFAPI_MODE != NFAPI_MODE_VNF)
|
||||
handle_nr_nfapi_pdsch_pdu(gNB,frame,slot,&dl_tti_pdu->pdsch_pdu, sdu);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// if (UL_tti_req!=NULL) memcpy(&gNB->UL_tti_req,UL_tti_req,sizeof(nfapi_nr_ul_tti_request_t));
|
||||
if(nfapi_mode != NFAPI_MODE_VNF)
|
||||
if(NFAPI_MODE != NFAPI_MODE_VNF)
|
||||
for (int i=0;i<number_ul_dci_pdu;i++) {
|
||||
handle_nfapi_nr_ul_dci_pdu(gNB, frame, slot, &UL_dci_req->ul_dci_pdu_list[i]);
|
||||
}
|
||||
|
||||
if(nfapi_mode != NFAPI_MODE_VNF)
|
||||
if(NFAPI_MODE != NFAPI_MODE_VNF)
|
||||
for (int i = 0; i < number_ul_tti_pdu; i++) {
|
||||
switch (UL_tti_req->pdus_list[i].pdu_type) {
|
||||
case NFAPI_NR_UL_CONFIG_PUSCH_PDU_TYPE:
|
||||
@@ -234,17 +234,17 @@ if(nfapi_mode != NFAPI_MODE_VNF)
|
||||
}
|
||||
}
|
||||
|
||||
// if(nfapi_mode != NFAPI_MONOLITHIC && number_ul_tti_pdu>0)
|
||||
// if(NFAPI_MODE != NFAPI_MONOLITHIC && number_ul_tti_pdu>0)
|
||||
// {
|
||||
// oai_nfapi_ul_tti_req(UL_tti_req);
|
||||
// }
|
||||
|
||||
// if (nfapi_mode != NFAPI_MONOLITHIC && Sched_INFO->UL_dci_req->numPdus!=0)
|
||||
// if (NFAPI_MODE != NFAPI_MONOLITHIC && Sched_INFO->UL_dci_req->numPdus!=0)
|
||||
// {
|
||||
// oai_nfapi_ul_dci_req(Sched_INFO->UL_dci_req);
|
||||
// }//Only DL
|
||||
|
||||
if (nfapi_mode != NFAPI_MONOLITHIC)
|
||||
if (NFAPI_MODE != NFAPI_MONOLITHIC)
|
||||
{ if(Sched_INFO->DL_req->dl_tti_request_body.nPDUs>0)
|
||||
{
|
||||
Sched_INFO->DL_req->SFN = frame;
|
||||
|
||||
@@ -150,6 +150,7 @@ int set_tdd_config_nr( nfapi_nr_config_request_scf_t *cfg,
|
||||
}
|
||||
}
|
||||
}
|
||||
//printf("Set tdd config nr tti: 26, symbol count: 0 value: %d \n", cfg->tdd_table.max_tdd_periodicity_list[26].max_num_of_symbol_per_slot_list[0].slot_config.value);
|
||||
|
||||
/*
|
||||
while(slot_number != nb_slots_to_set) {
|
||||
@@ -312,14 +313,16 @@ int set_tdd_configuration_dedicated_nr(NR_DL_FRAME_PARMS *frame_parms) {
|
||||
|
||||
int nr_slot_select(nfapi_nr_config_request_scf_t *cfg, int nr_frame, int nr_tti) {
|
||||
/* for FDD all slot can be considered as an uplink */
|
||||
|
||||
int mu = cfg->ssb_config.scs_common.value,check_slot=0;
|
||||
|
||||
if (cfg->cell_config.frame_duplex_type.value == FDD) {
|
||||
return (NR_UPLINK_SLOT | NR_DOWNLINK_SLOT );
|
||||
}
|
||||
|
||||
#if 1 // Hardcoding, change later
|
||||
|
||||
if (nr_frame%2 == 0) {
|
||||
|
||||
|
||||
for(int symbol_count=0; symbol_count<NR_NUMBER_OF_SYMBOLS_PER_SLOT; symbol_count++) {
|
||||
if (cfg->tdd_table.max_tdd_periodicity_list[nr_tti].max_num_of_symbol_per_slot_list[symbol_count].slot_config.value==1) {
|
||||
check_slot++;
|
||||
@@ -331,7 +334,7 @@ int nr_slot_select(nfapi_nr_config_request_scf_t *cfg, int nr_frame, int nr_tti)
|
||||
}
|
||||
|
||||
check_slot = 0;
|
||||
|
||||
|
||||
for(int symbol_count=0; symbol_count<NR_NUMBER_OF_SYMBOLS_PER_SLOT; symbol_count++) {
|
||||
if (cfg->tdd_table.max_tdd_periodicity_list[nr_tti].max_num_of_symbol_per_slot_list[symbol_count].slot_config.value==0) {
|
||||
check_slot++;
|
||||
@@ -344,7 +347,8 @@ int nr_slot_select(nfapi_nr_config_request_scf_t *cfg, int nr_frame, int nr_tti)
|
||||
return (NR_MIXED_SLOT);
|
||||
}
|
||||
} else {
|
||||
for(int symbol_count=0; symbol_count<NR_NUMBER_OF_SYMBOLS_PER_SLOT; symbol_count++) {
|
||||
|
||||
for(int symbol_count=0; symbol_count<NR_NUMBER_OF_SYMBOLS_PER_SLOT; symbol_count++) {
|
||||
if (cfg->tdd_table.max_tdd_periodicity_list[((1<<mu) * NR_NUMBER_OF_SUBFRAMES_PER_FRAME) + nr_tti].max_num_of_symbol_per_slot_list[symbol_count].slot_config.value==1) {
|
||||
check_slot++;
|
||||
}
|
||||
@@ -355,7 +359,7 @@ int nr_slot_select(nfapi_nr_config_request_scf_t *cfg, int nr_frame, int nr_tti)
|
||||
}
|
||||
|
||||
check_slot = 0;
|
||||
|
||||
|
||||
for(int symbol_count=0; symbol_count<NR_NUMBER_OF_SYMBOLS_PER_SLOT; symbol_count++) {
|
||||
if (cfg->tdd_table.max_tdd_periodicity_list[((1<<mu) * NR_NUMBER_OF_SUBFRAMES_PER_FRAME) + nr_tti].max_num_of_symbol_per_slot_list[symbol_count].slot_config.value==0) {
|
||||
check_slot++;
|
||||
@@ -368,10 +372,6 @@ int nr_slot_select(nfapi_nr_config_request_scf_t *cfg, int nr_frame, int nr_tti)
|
||||
return (NR_MIXED_SLOT);
|
||||
}
|
||||
}
|
||||
#else
|
||||
return (NR_DOWNLINK_SLOT);
|
||||
#endif
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -164,7 +164,7 @@ void phy_procedures_gNB_TX(PHY_VARS_gNB *gNB,
|
||||
}
|
||||
|
||||
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_gNB_COMMON_TX,1);
|
||||
if (nfapi_mode == NFAPI_MONOLITHIC || nfapi_mode == NFAPI_MODE_PNF) {
|
||||
if (NFAPI_MODE == NFAPI_MONOLITHIC || NFAPI_MODE == NFAPI_MODE_PNF) {
|
||||
if ((!(frame%ssb_frame_periodicity))) // generate SSB only for given frames according to SSB periodicity
|
||||
nr_common_signal_procedures(gNB,frame, slot);
|
||||
}
|
||||
|
||||
@@ -9,4 +9,8 @@ int oai_nfapi_ul_tti_req(nfapi_nr_ul_tti_request_t *ul_tti_req){ return(0); }
|
||||
int32_t get_uldl_offset(int nr_bandP) { return(0); }
|
||||
NR_IF_Module_t *NR_IF_Module_init(int Mod_id) {return(NULL);}
|
||||
// int dummy_nr_ue_dl_indication(nr_downlink_indication_t *dl_info) { return(0); }
|
||||
// int dummy_nr_ue_ul_indication(nr_uplink_indication_t *ul_info) { return(0); }
|
||||
// int dummy_nr_ue_ul_indication(nr_uplink_indication_t *ul_info) { return(0); }
|
||||
nfapi_mode_t nfapi_mod;
|
||||
nfapi_mode_t nfapi_getmode(void) {
|
||||
return nfapi_mod;
|
||||
}
|
||||
@@ -47,7 +47,7 @@
|
||||
#include "OCG_vars.h"
|
||||
#include <openair2/LAYER2/MAC/mac_vars.h>
|
||||
#include <openair2/RRC/LTE/rrc_vars.h>
|
||||
#include "openair1/SIMULATION/NR_PHY/nr_dummy_functions.c"
|
||||
//#include "openair1/SIMULATION/NR_PHY/nr_dummy_functions.c"
|
||||
|
||||
|
||||
#define NR_PRACH_DEBUG 1
|
||||
@@ -71,6 +71,10 @@ int sl_ahead = 0;
|
||||
/* temporary dummy implem of get_softmodem_optmask, till basic simulators implemented as device */
|
||||
uint64_t get_softmodem_optmask(void) {return 0;}
|
||||
softmodem_params_t *get_softmodem_params(void) {return 0;}
|
||||
int oai_nfapi_dl_tti_req(nfapi_nr_dl_tti_request_t *dl_config_req) { return(0); }
|
||||
int oai_nfapi_tx_data_req(nfapi_nr_tx_data_request_t *tx_data_req){ return(0); }
|
||||
int oai_nfapi_ul_dci_req(nfapi_nr_ul_dci_request_t *ul_dci_req){ return(0); }
|
||||
int oai_nfapi_ul_tti_req(nfapi_nr_ul_tti_request_t *ul_tti_req){ return(0); }
|
||||
|
||||
void
|
||||
rrc_data_ind(
|
||||
|
||||
Reference in New Issue
Block a user