adding adjustable sf_ahead
This commit is contained in:
@@ -294,7 +294,7 @@ void RCconfig_NR_L1(void) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(strcmp(*(L1_ParamList.paramarray[j][L1_TRANSPORT_N_PREFERENCE_IDX].strptr), "local_mac") == 0) {
|
if(strcmp(*(L1_ParamList.paramarray[j][L1_TRANSPORT_N_PREFERENCE_IDX].strptr), "local_mac") == 0) {
|
||||||
sf_ahead = 2; // Need 4 subframe gap between RX and TX
|
//sf_ahead = 2; // Need 4 subframe gap between RX and TX
|
||||||
}else if (strcmp(*(L1_ParamList.paramarray[j][L1_TRANSPORT_N_PREFERENCE_IDX].strptr), "nfapi") == 0) {
|
}else if (strcmp(*(L1_ParamList.paramarray[j][L1_TRANSPORT_N_PREFERENCE_IDX].strptr), "nfapi") == 0) {
|
||||||
RC.gNB[j][0]->eth_params_n.local_if_name = strdup(*(L1_ParamList.paramarray[j][L1_LOCAL_N_IF_NAME_IDX].strptr));
|
RC.gNB[j][0]->eth_params_n.local_if_name = strdup(*(L1_ParamList.paramarray[j][L1_LOCAL_N_IF_NAME_IDX].strptr));
|
||||||
RC.gNB[j][0]->eth_params_n.my_addr = strdup(*(L1_ParamList.paramarray[j][L1_LOCAL_N_ADDRESS_IDX].strptr));
|
RC.gNB[j][0]->eth_params_n.my_addr = strdup(*(L1_ParamList.paramarray[j][L1_LOCAL_N_ADDRESS_IDX].strptr));
|
||||||
@@ -305,7 +305,7 @@ void RCconfig_NR_L1(void) {
|
|||||||
RC.gNB[j][0]->eth_params_n.remote_portd = *(L1_ParamList.paramarray[j][L1_REMOTE_N_PORTD_IDX].iptr);
|
RC.gNB[j][0]->eth_params_n.remote_portd = *(L1_ParamList.paramarray[j][L1_REMOTE_N_PORTD_IDX].iptr);
|
||||||
RC.gNB[j][0]->eth_params_n.transp_preference = ETH_UDP_MODE;
|
RC.gNB[j][0]->eth_params_n.transp_preference = ETH_UDP_MODE;
|
||||||
|
|
||||||
sf_ahead = 2; // Cannot cope with 4 subframes betweem RX and TX - set it to 2
|
//sf_ahead = 2; // Cannot cope with 4 subframes betweem RX and TX - set it to 2
|
||||||
|
|
||||||
RC.nb_nr_macrlc_inst = 1; // This is used by mac_top_init_gNB()
|
RC.nb_nr_macrlc_inst = 1; // This is used by mac_top_init_gNB()
|
||||||
|
|
||||||
@@ -404,7 +404,7 @@ void RCconfig_nr_macrlc() {
|
|||||||
RC.nrmac[j]->eth_params_s.remote_portd = *(MacRLC_ParamList.paramarray[j][MACRLC_REMOTE_S_PORTD_IDX].iptr);
|
RC.nrmac[j]->eth_params_s.remote_portd = *(MacRLC_ParamList.paramarray[j][MACRLC_REMOTE_S_PORTD_IDX].iptr);
|
||||||
RC.nrmac[j]->eth_params_s.transp_preference = ETH_UDP_MODE;
|
RC.nrmac[j]->eth_params_s.transp_preference = ETH_UDP_MODE;
|
||||||
|
|
||||||
sf_ahead = 2; // Cannot cope with 4 subframes betweem RX and TX - set it to 2
|
//sf_ahead = 2; // Cannot cope with 4 subframes betweem RX and TX - set it to 2
|
||||||
|
|
||||||
printf("**************** vnf_port:%d\n", RC.mac[j]->eth_params_s.my_portc);
|
printf("**************** vnf_port:%d\n", RC.mac[j]->eth_params_s.my_portc);
|
||||||
configure_nfapi_vnf(RC.nrmac[j]->eth_params_s.my_addr, RC.nrmac[j]->eth_params_s.my_portc);
|
configure_nfapi_vnf(RC.nrmac[j]->eth_params_s.my_addr, RC.nrmac[j]->eth_params_s.my_portc);
|
||||||
@@ -799,6 +799,10 @@ void RCconfig_NRRRC(MessageDef *msg_p, uint32_t i, gNB_RRC_INST *rrc) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
NRRRC_CONFIGURATION_REQ (msg_p).N_RB_DL[j]= N_RB_DL;
|
NRRRC_CONFIGURATION_REQ (msg_p).N_RB_DL[j]= N_RB_DL;
|
||||||
|
if(N_RB_DL == 217) sf_ahead = 2;
|
||||||
|
else if(N_RB_DL == 106) sf_ahead = 4;
|
||||||
|
else AssertFatal (0,"Failed to parse gNB configuration file %s, gnb %d unknown value \"%d\" for N_RB_DL choice: 106, 217 !\n",
|
||||||
|
RC.config_file_name, i, N_RB_DL);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
if ((N_RB_DL!=6) && (N_RB_DL!=15) && (N_RB_DL!=25) && (N_RB_DL!=50) && (N_RB_DL!=75) && (N_RB_DL!=100)) {
|
if ((N_RB_DL!=6) && (N_RB_DL!=15) && (N_RB_DL!=25) && (N_RB_DL!=50) && (N_RB_DL!=75) && (N_RB_DL!=100)) {
|
||||||
|
|||||||
@@ -848,10 +848,10 @@ void tx_rf(RU_t *ru) {
|
|||||||
for (i=0; i<ru->nb_tx; i++)
|
for (i=0; i<ru->nb_tx; i++)
|
||||||
txp[i] = (void*)&ru->common.txdata[i][(proc->subframe_tx*fp->samples_per_subframe)-sf_extension];
|
txp[i] = (void*)&ru->common.txdata[i][(proc->subframe_tx*fp->samples_per_subframe)-sf_extension];
|
||||||
|
|
||||||
if (proc->subframe_tx == 0){
|
/*if (proc->subframe_tx == 0){
|
||||||
write_output("txdataF_frame.m","txdataF_frame",&ru->common.txdataF_BF[i],fp->samples_per_subframe_wCP, 1, 1);
|
write_output("txdataF_frame.m","txdataF_frame",&ru->common.txdataF_BF[i],fp->samples_per_subframe_wCP, 1, 1);
|
||||||
write_output("txdata_frame.m","txdata_frame",&ru->common.txdata[i],fp->samples_per_subframe, 1, 1);
|
write_output("txdata_frame.m","txdata_frame",&ru->common.txdata[i],fp->samples_per_subframe, 1, 1);
|
||||||
}
|
}*/
|
||||||
|
|
||||||
VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME( VCD_SIGNAL_DUMPER_VARIABLES_TRX_TST, (proc->timestamp_tx-ru->openair0_cfg.tx_sample_advance)&0xffffffff );
|
VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME( VCD_SIGNAL_DUMPER_VARIABLES_TRX_TST, (proc->timestamp_tx-ru->openair0_cfg.tx_sample_advance)&0xffffffff );
|
||||||
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME( VCD_SIGNAL_DUMPER_FUNCTIONS_TRX_WRITE, 1 );
|
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME( VCD_SIGNAL_DUMPER_FUNCTIONS_TRX_WRITE, 1 );
|
||||||
|
|||||||
Reference in New Issue
Block a user