Commit c0a0de3e authored by Jaroslava Fiedlerova's avatar Jaroslava Fiedlerova

Merge remote-tracking branch 'origin/remove-unused-code' into integration_2025_w04 (!3215)

Remove unused code
parents 03420b11 0fd51305
...@@ -997,7 +997,6 @@ INPUT = \ ...@@ -997,7 +997,6 @@ INPUT = \
@CMAKE_CURRENT_SOURCE_DIR@/../executables/softmodem-common.h \ @CMAKE_CURRENT_SOURCE_DIR@/../executables/softmodem-common.h \
@CMAKE_CURRENT_SOURCE_DIR@/../executables/nr-softmodem.c \ @CMAKE_CURRENT_SOURCE_DIR@/../executables/nr-softmodem.c \
@CMAKE_CURRENT_SOURCE_DIR@/../executables/nr-gnb.c \ @CMAKE_CURRENT_SOURCE_DIR@/../executables/nr-gnb.c \
@CMAKE_CURRENT_SOURCE_DIR@/../executables/rt_profiling.h \
@CMAKE_CURRENT_SOURCE_DIR@/../executables/nr-uesoftmodem.h \ @CMAKE_CURRENT_SOURCE_DIR@/../executables/nr-uesoftmodem.h \
@CMAKE_CURRENT_SOURCE_DIR@/../executables/nr-uesoftmodem.c \ @CMAKE_CURRENT_SOURCE_DIR@/../executables/nr-uesoftmodem.c \
@CMAKE_CURRENT_SOURCE_DIR@/../executables/lte-softmodem.h \ @CMAKE_CURRENT_SOURCE_DIR@/../executables/lte-softmodem.h \
......
...@@ -568,7 +568,7 @@ int wakeup_rxtx(PHY_VARS_eNB *eNB, ...@@ -568,7 +568,7 @@ int wakeup_rxtx(PHY_VARS_eNB *eNB,
LTE_DL_FRAME_PARMS *fp = &eNB->frame_parms; LTE_DL_FRAME_PARMS *fp = &eNB->frame_parms;
int ret; int ret;
LOG_D(PHY,"ENTERED wakeup_rxtx, %d.%d\n",ru_proc->frame_rx,ru_proc->tti_rx); LOG_D(PHY,"ENTERED wakeup_rxtx, %d.%d\n",ru_proc->frame_rx,ru_proc->tti_rx);
// wake up TX for subframe n+sl_ahead // wake up TX for subframe n+sf_ahead
// lock the TX mutex and make sure the thread is ready // lock the TX mutex and make sure the thread is ready
AssertFatal((ret=pthread_mutex_lock(&L1_proc->mutex)) == 0,"mutex_lock returns %d\n", ret); AssertFatal((ret=pthread_mutex_lock(&L1_proc->mutex)) == 0,"mutex_lock returns %d\n", ret);
......
...@@ -36,7 +36,6 @@ ...@@ -36,7 +36,6 @@
#include "assertions.h" #include "assertions.h"
#include <common/utils/LOG/log.h> #include <common/utils/LOG/log.h>
#include <common/utils/system.h> #include <common/utils/system.h>
#include "rt_profiling.h"
#include "PHY/types.h" #include "PHY/types.h"
...@@ -91,12 +90,6 @@ static void tx_func(processingData_L1tx_t *info) ...@@ -91,12 +90,6 @@ static void tx_func(processingData_L1tx_t *info)
int slot_tx = info->slot; int slot_tx = info->slot;
int frame_rx = info->frame_rx; int frame_rx = info->frame_rx;
int slot_rx = info->slot_rx; int slot_rx = info->slot_rx;
int64_t absslot_tx = info->timestamp_tx / info->gNB->frame_parms.get_samples_per_slot(slot_tx, &info->gNB->frame_parms);
int64_t absslot_rx = absslot_tx - info->gNB->RU_list[0]->sl_ahead;
if (absslot_rx < 0) {
LOG_W(NR_PHY, "Slot ahead %d is larger than absslot_tx %ld. Cannot start TX yet.\n", info->gNB->RU_list[0]->sl_ahead, absslot_tx);
return;
}
LOG_D(NR_PHY, "%d.%d running tx_func\n", frame_tx, slot_tx); LOG_D(NR_PHY, "%d.%d running tx_func\n", frame_tx, slot_tx);
PHY_VARS_gNB *gNB = info->gNB; PHY_VARS_gNB *gNB = info->gNB;
module_id_t module_id = gNB->Mod_id; module_id_t module_id = gNB->Mod_id;
...@@ -134,8 +127,6 @@ static void tx_func(processingData_L1tx_t *info) ...@@ -134,8 +127,6 @@ static void tx_func(processingData_L1tx_t *info)
if (tx_slot_type == NR_DOWNLINK_SLOT || tx_slot_type == NR_MIXED_SLOT || get_softmodem_params()->continuous_tx) { if (tx_slot_type == NR_DOWNLINK_SLOT || tx_slot_type == NR_MIXED_SLOT || get_softmodem_params()->continuous_tx) {
start_meas(&info->gNB->phy_proc_tx); start_meas(&info->gNB->phy_proc_tx);
phy_procedures_gNB_TX(info, frame_tx, slot_tx, 1); phy_procedures_gNB_TX(info, frame_tx, slot_tx, 1);
const int rt_prof_idx = absslot_rx % RT_PROF_DEPTH;
clock_gettime(CLOCK_MONOTONIC, &info->gNB->rt_L1_profiling.return_L1_TX[rt_prof_idx]);
PHY_VARS_gNB *gNB = info->gNB; PHY_VARS_gNB *gNB = info->gNB;
processingData_RU_t syncMsgRU; processingData_RU_t syncMsgRU;
...@@ -187,15 +178,6 @@ static void rx_func(processingData_L1_t *info) ...@@ -187,15 +178,6 @@ static void rx_func(processingData_L1_t *info)
int frame_rx = info->frame_rx; int frame_rx = info->frame_rx;
int slot_rx = info->slot_rx; int slot_rx = info->slot_rx;
nfapi_nr_config_request_scf_t *cfg = &gNB->gNB_config; nfapi_nr_config_request_scf_t *cfg = &gNB->gNB_config;
int cumul_samples = gNB->frame_parms.get_samples_per_slot(0, &gNB->frame_parms);
int i = 1;
for (; i < gNB->frame_parms.slots_per_subframe / 2; i++)
cumul_samples += gNB->frame_parms.get_samples_per_slot(i, &gNB->frame_parms);
int samples = cumul_samples / i;
int64_t absslot_tx = info->timestamp_tx / samples;
int64_t absslot_rx = absslot_tx - gNB->RU_list[0]->sl_ahead;
int rt_prof_idx = absslot_rx % RT_PROF_DEPTH;
clock_gettime(CLOCK_MONOTONIC, &info->gNB->rt_L1_profiling.start_L1_RX[rt_prof_idx]);
// ******************************************************************* // *******************************************************************
...@@ -253,7 +235,6 @@ static void rx_func(processingData_L1_t *info) ...@@ -253,7 +235,6 @@ static void rx_func(processingData_L1_t *info)
#endif #endif
} }
clock_gettime(CLOCK_MONOTONIC, &info->gNB->rt_L1_profiling.return_L1_RX[rt_prof_idx]);
} }
static size_t dump_L1_meas_stats(PHY_VARS_gNB *gNB, RU_t *ru, char *output, size_t outputlen) { static size_t dump_L1_meas_stats(PHY_VARS_gNB *gNB, RU_t *ru, char *output, size_t outputlen) {
......
...@@ -33,7 +33,6 @@ ...@@ -33,7 +33,6 @@
#include "common/utils/assertions.h" #include "common/utils/assertions.h"
#include "common/utils/system.h" #include "common/utils/system.h"
#include "common/ran_context.h" #include "common/ran_context.h"
#include "rt_profiling.h"
#include "radio/COMMON/common_lib.h" #include "radio/COMMON/common_lib.h"
#include "radio/ETHERNET/ethernet_lib.h" #include "radio/ETHERNET/ethernet_lib.h"
...@@ -69,7 +68,6 @@ static int DEFRUTPCORES[] = {-1,-1,-1,-1}; ...@@ -69,7 +68,6 @@ static int DEFRUTPCORES[] = {-1,-1,-1,-1};
#include <nfapi/oai_integration/vendor_ext.h> #include <nfapi/oai_integration/vendor_ext.h>
#include "executables/nr-softmodem-common.h" #include "executables/nr-softmodem-common.h"
int sl_ahead;
static void NRRCconfig_RU(configmodule_interface_t *cfg); static void NRRCconfig_RU(configmodule_interface_t *cfg);
/*************************************************************/ /*************************************************************/
...@@ -1038,15 +1036,6 @@ void ru_tx_func(void *param) ...@@ -1038,15 +1036,6 @@ void ru_tx_func(void *param)
int print_frame = 8; int print_frame = 8;
char filename[40]; char filename[40];
int cumul_samples = fp->get_samples_per_slot(0, fp);
int i = 1;
for (; i < fp->slots_per_subframe / 2; i++)
cumul_samples += fp->get_samples_per_slot(i, fp);
int samples = cumul_samples / i;
int64_t absslot_tx = info->timestamp_tx / samples;
int64_t absslot_rx = absslot_tx - ru->sl_ahead;
int rt_prof_idx = absslot_rx % RT_PROF_DEPTH;
clock_gettime(CLOCK_MONOTONIC,&ru->rt_ru_profiling.start_RU_TX[rt_prof_idx]);
// do TX front-end processing if needed (precoding and/or IDFTs) // do TX front-end processing if needed (precoding and/or IDFTs)
if (ru->feptx_prec) if (ru->feptx_prec)
ru->feptx_prec(ru,frame_tx,slot_tx); ru->feptx_prec(ru,frame_tx,slot_tx);
...@@ -1093,11 +1082,6 @@ void ru_tx_func(void *param) ...@@ -1093,11 +1082,6 @@ void ru_tx_func(void *param)
}//for (i=0; i<ru->nb_tx; i++) }//for (i=0; i<ru->nb_tx; i++)
}//if(frame_tx == print_frame) }//if(frame_tx == print_frame)
}//else emulate_rf }//else emulate_rf
clock_gettime(CLOCK_MONOTONIC,&ru->rt_ru_profiling.return_RU_TX[rt_prof_idx]);
struct timespec *t0=&ru->rt_ru_profiling.start_RU_TX[rt_prof_idx];
struct timespec *t1=&ru->rt_ru_profiling.return_RU_TX[rt_prof_idx];
LOG_D(PHY,"rt_prof_idx %d : RU_TX time %d\n",rt_prof_idx,(int)(1e9 * (t1->tv_sec - t0->tv_sec) + (t1->tv_nsec-t0->tv_nsec)));
} }
void *ru_thread(void *param) void *ru_thread(void *param)
...@@ -1273,9 +1257,6 @@ void *ru_thread(void *param) ...@@ -1273,9 +1257,6 @@ void *ru_thread(void *param)
proc->timestamp_tx += fp->get_samples_per_slot(i % fp->slots_per_frame, fp); proc->timestamp_tx += fp->get_samples_per_slot(i % fp->slots_per_frame, fp);
proc->tti_tx = (proc->tti_rx + ru->sl_ahead) % fp->slots_per_frame; proc->tti_tx = (proc->tti_rx + ru->sl_ahead) % fp->slots_per_frame;
proc->frame_tx = proc->tti_rx > proc->tti_tx ? (proc->frame_rx + 1) & 1023 : proc->frame_rx; proc->frame_tx = proc->tti_rx > proc->tti_tx ? (proc->frame_rx + 1) & 1023 : proc->frame_rx;
int64_t absslot_rx = proc->timestamp_rx/fp->get_samples_per_slot(proc->tti_rx,fp);
int rt_prof_idx = absslot_rx % RT_PROF_DEPTH;
clock_gettime(CLOCK_MONOTONIC,&ru->rt_ru_profiling.return_RU_south_in[rt_prof_idx]);
LOG_D(PHY,"AFTER fh_south_in - SFN/SL:%d%d RU->proc[RX:%d.%d TX:%d.%d] RC.gNB[0]:[RX:%d%d TX(SFN):%d]\n", LOG_D(PHY,"AFTER fh_south_in - SFN/SL:%d%d RU->proc[RX:%d.%d TX:%d.%d] RC.gNB[0]:[RX:%d%d TX(SFN):%d]\n",
frame,slot, frame,slot,
proc->frame_rx,proc->tti_rx, proc->frame_rx,proc->tti_rx,
...@@ -1321,7 +1302,6 @@ void *ru_thread(void *param) ...@@ -1321,7 +1302,6 @@ void *ru_thread(void *param)
rx_tti_busy[proc->tti_rx % RU_RX_SLOT_DEPTH] = true; rx_tti_busy[proc->tti_rx % RU_RX_SLOT_DEPTH] = true;
ru->feprx(ru,proc->tti_rx); ru->feprx(ru,proc->tti_rx);
LOG_D(NR_PHY, "Setting %d.%d (%d) to busy\n", proc->frame_rx, proc->tti_rx, proc->tti_rx % RU_RX_SLOT_DEPTH); LOG_D(NR_PHY, "Setting %d.%d (%d) to busy\n", proc->frame_rx, proc->tti_rx, proc->tti_rx % RU_RX_SLOT_DEPTH);
clock_gettime(CLOCK_MONOTONIC,&ru->rt_ru_profiling.return_RU_feprx[rt_prof_idx]);
//LOG_M("rxdata.m","rxs",ru->common.rxdata[0],1228800,1,1); //LOG_M("rxdata.m","rxs",ru->common.rxdata[0],1228800,1,1);
LOG_D(PHY,"RU proc: frame_rx = %d, tti_rx = %d\n", proc->frame_rx, proc->tti_rx); LOG_D(PHY,"RU proc: frame_rx = %d, tti_rx = %d\n", proc->frame_rx, proc->tti_rx);
gNBscopeCopy(RC.gNB[0], gNBscopeCopy(RC.gNB[0],
...@@ -1352,15 +1332,10 @@ void *ru_thread(void *param) ...@@ -1352,15 +1332,10 @@ void *ru_thread(void *param)
proc->frame_rx, proc->frame_rx,
proc->tti_rx); proc->tti_rx);
} }
clock_gettime(CLOCK_MONOTONIC,&ru->rt_ru_profiling.return_RU_prachrx[rt_prof_idx]);
free_nr_ru_prach_entry(ru,prach_id); free_nr_ru_prach_entry(ru,prach_id);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_RU_PRACH_RX, 0); VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_RU_PRACH_RX, 0);
} // end if (prach_id > 0) } // end if (prach_id > 0)
} // end if (ru->feprx) } // end if (ru->feprx)
else {
memset(&ru->rt_ru_profiling.return_RU_feprx[rt_prof_idx],0,sizeof(struct timespec));
memset(&ru->rt_ru_profiling.return_RU_prachrx[rt_prof_idx],0,sizeof(struct timespec));
}
} // end if (slot_type == NR_UPLINK_SLOT || slot_type == NR_MIXED_SLOT) { } // end if (slot_type == NR_UPLINK_SLOT || slot_type == NR_MIXED_SLOT) {
#endif #endif
......
...@@ -99,7 +99,6 @@ nrUE_params_t nrUE_params = {0}; ...@@ -99,7 +99,6 @@ nrUE_params_t nrUE_params = {0};
pthread_cond_t nfapi_sync_cond; pthread_cond_t nfapi_sync_cond;
pthread_mutex_t nfapi_sync_mutex; pthread_mutex_t nfapi_sync_mutex;
int nfapi_sync_var=-1; //!< protected by mutex \ref nfapi_sync_mutex int nfapi_sync_var=-1; //!< protected by mutex \ref nfapi_sync_mutex
int sf_ahead = 6; //??? value ???
pthread_cond_t sync_cond; pthread_cond_t sync_cond;
pthread_mutex_t sync_mutex; pthread_mutex_t sync_mutex;
int sync_var=-1; //!< protected by mutex \ref sync_mutex. int sync_var=-1; //!< protected by mutex \ref sync_mutex.
......
/*
* Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The OpenAirInterface Software Alliance licenses this file to You under
* the OAI Public License, Version 1.1 (the "License"); you may not use this file
* except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.openairinterface.org/?page_id=698
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*-------------------------------------------------------------------------------
* For more information about the OpenAirInterface (OAI) Software Alliance:
* contact@openairinterface.org
*/
/*! \file rt_profiling.h
* \brief Definitions for proflling real-time scheduling
* \author
* \date 2022
* \version 0.1
* \company Eurecom
* \email:
* \note
* \warning
*/
#ifndef TIME_PROFILING_H
#define TIME_PROFILING_H
#ifdef __cplusplus
extern "C"
{
#endif
// depth of trace in slots
#define RT_PROF_DEPTH 100
typedef struct {
int64_t absslot_rx[RT_PROF_DEPTH];
struct timespec return_RU_south_in[RT_PROF_DEPTH];
struct timespec return_RU_feprx[RT_PROF_DEPTH];
struct timespec return_RU_prachrx[RT_PROF_DEPTH];
struct timespec return_RU_pushL1[RT_PROF_DEPTH];
struct timespec start_RU_TX[RT_PROF_DEPTH];
struct timespec return_RU_TX[RT_PROF_DEPTH];
} rt_ru_profiling_t;
typedef struct {
int64_t absslot_ux[RT_PROF_DEPTH];
struct timespec start_L1_RX[RT_PROF_DEPTH];
struct timespec return_L1_RX[RT_PROF_DEPTH];
struct timespec start_L1_TX[RT_PROF_DEPTH];
struct timespec return_L1_TX[RT_PROF_DEPTH];
struct timespec return_L1_prachrx[RT_PROF_DEPTH];
struct timespec return_L1_puschL1[RT_PROF_DEPTH];
} rt_L1_profiling_t;
#ifdef __cplusplus
}
#endif
#endif
...@@ -352,7 +352,6 @@ void set_softmodem_sighandler(void); ...@@ -352,7 +352,6 @@ void set_softmodem_sighandler(void);
extern uint64_t downlink_frequency[MAX_NUM_CCs][4]; extern uint64_t downlink_frequency[MAX_NUM_CCs][4];
extern int32_t uplink_frequency_offset[MAX_NUM_CCs][4]; extern int32_t uplink_frequency_offset[MAX_NUM_CCs][4];
extern int usrp_tx_thread; extern int usrp_tx_thread;
extern int sl_ahead;
extern int sf_ahead; extern int sf_ahead;
extern int oai_exit; extern int oai_exit;
......
...@@ -177,8 +177,6 @@ static int nrLDPC_prepare_TB_encoding(nrLDPC_slot_encoding_parameters_t *nrLDPC_ ...@@ -177,8 +177,6 @@ static int nrLDPC_prepare_TB_encoding(nrLDPC_slot_encoding_parameters_t *nrLDPC_
impp.toutput = nrLDPC_slot_encoding_parameters->toutput; impp.toutput = nrLDPC_slot_encoding_parameters->toutput;
impp.Kb = nrLDPC_TB_encoding_parameters->Kb; impp.Kb = nrLDPC_TB_encoding_parameters->Kb;
impp.Zc = nrLDPC_TB_encoding_parameters->Z; impp.Zc = nrLDPC_TB_encoding_parameters->Z;
NR_DL_gNB_HARQ_t harq;
impp.harq = &harq;
impp.BG = nrLDPC_TB_encoding_parameters->BG; impp.BG = nrLDPC_TB_encoding_parameters->BG;
impp.output = nrLDPC_TB_encoding_parameters->segments->output; impp.output = nrLDPC_TB_encoding_parameters->segments->output;
impp.K = nrLDPC_TB_encoding_parameters->K; impp.K = nrLDPC_TB_encoding_parameters->K;
......
...@@ -66,7 +66,6 @@ typedef struct { ...@@ -66,7 +66,6 @@ typedef struct {
uint32_t Zc; uint32_t Zc;
/// Number of "Filler" bits /// Number of "Filler" bits
uint32_t F; uint32_t F;
void *harq;
/// Encoder BG /// Encoder BG
uint8_t BG; uint8_t BG;
/// Interleaver outputs /// Interleaver outputs
......
...@@ -39,7 +39,6 @@ ...@@ -39,7 +39,6 @@
#include "time_meas.h" #include "time_meas.h"
#include "defs_common.h" #include "defs_common.h"
#include "nfapi_nr_interface_scf.h" #include "nfapi_nr_interface_scf.h"
#include <executables/rt_profiling.h>
#include "common/utils/threadPool/task_ans.h" #include "common/utils/threadPool/task_ans.h"
#include "common/utils/threadPool/thread-pool.h" #include "common/utils/threadPool/thread-pool.h"
...@@ -663,8 +662,6 @@ typedef struct RU_t_s { ...@@ -663,8 +662,6 @@ typedef struct RU_t_s {
int tpcores[16]; int tpcores[16];
/// number of cores for RU ThreadPool /// number of cores for RU ThreadPool
int num_tpcores; int num_tpcores;
/// structure for analyzing high-level RT measurements
rt_ru_profiling_t rt_ru_profiling;
void* scopeData; void* scopeData;
} RU_t; } RU_t;
......
...@@ -43,7 +43,6 @@ ...@@ -43,7 +43,6 @@
#include "PHY/CODING/nrLDPC_coding/nrLDPC_coding_interface.h" #include "PHY/CODING/nrLDPC_coding/nrLDPC_coding_interface.h"
#include "PHY/CODING/nrLDPC_extern.h" #include "PHY/CODING/nrLDPC_extern.h"
#include "PHY/CODING/nrLDPC_decoder/nrLDPC_types.h" #include "PHY/CODING/nrLDPC_decoder/nrLDPC_types.h"
#include "executables/rt_profiling.h"
#include "nfapi_nr_interface_scf.h" #include "nfapi_nr_interface_scf.h"
#include "openair2/NR_PHY_INTERFACE/NR_IF_Module.h" #include "openair2/NR_PHY_INTERFACE/NR_IF_Module.h"
...@@ -560,8 +559,6 @@ typedef struct PHY_VARS_gNB_s { ...@@ -560,8 +559,6 @@ typedef struct PHY_VARS_gNB_s {
int L1_tx_thread_core; int L1_tx_thread_core;
struct processingData_L1tx *msgDataTx; struct processingData_L1tx *msgDataTx;
void *scopeData; void *scopeData;
/// structure for analyzing high-level RT measurements
rt_L1_profiling_t rt_L1_profiling;
} PHY_VARS_gNB; } PHY_VARS_gNB;
struct puschSymbolReqId { struct puschSymbolReqId {
......
...@@ -627,8 +627,6 @@ typedef struct nr_rxtx_thread_data_s { ...@@ -627,8 +627,6 @@ typedef struct nr_rxtx_thread_data_s {
PHY_VARS_NR_UE *UE; PHY_VARS_NR_UE *UE;
int writeBlockSize; int writeBlockSize;
nr_phy_data_t phy_data; nr_phy_data_t phy_data;
int tx_wait_for_dlsch;
int rx_offset;
} nr_rxtx_thread_data_t; } nr_rxtx_thread_data_t;
typedef struct LDPCDecode_ue_s { typedef struct LDPCDecode_ue_s {
......
...@@ -107,7 +107,6 @@ int32_t uplink_frequency_offset[MAX_NUM_CCs][4]; ...@@ -107,7 +107,6 @@ int32_t uplink_frequency_offset[MAX_NUM_CCs][4];
double cpuf; double cpuf;
char *uecap_file; char *uecap_file;
int sl_ahead = 0;
//uint8_t nfapi_mode = 0; //uint8_t nfapi_mode = 0;
uint64_t downlink_frequency[MAX_NUM_CCs][4]; uint64_t downlink_frequency[MAX_NUM_CCs][4];
THREAD_STRUCT thread_struct; THREAD_STRUCT thread_struct;
......
...@@ -83,7 +83,6 @@ openair0_config_t openair0_cfg[MAX_CARDS]; ...@@ -83,7 +83,6 @@ openair0_config_t openair0_cfg[MAX_CARDS];
//uint8_t nfapi_mode=0; //uint8_t nfapi_mode=0;
uint64_t downlink_frequency[MAX_NUM_CCs][4]; uint64_t downlink_frequency[MAX_NUM_CCs][4];
int32_t uplink_frequency_offset[MAX_NUM_CCs][4]; int32_t uplink_frequency_offset[MAX_NUM_CCs][4];
int sl_ahead = 0;
uint32_t N_RB_DL = 106; uint32_t N_RB_DL = 106;
NR_IF_Module_t *NR_IF_Module_init(int Mod_id) { return (NULL); } NR_IF_Module_t *NR_IF_Module_init(int Mod_id) { return (NULL); }
......
...@@ -106,9 +106,6 @@ RAN_CONTEXT_t RC; ...@@ -106,9 +106,6 @@ RAN_CONTEXT_t RC;
char *uecap_file; char *uecap_file;
int32_t uplink_frequency_offset[MAX_NUM_CCs][4]; int32_t uplink_frequency_offset[MAX_NUM_CCs][4];
int sf_ahead = 4;
int slot_ahead=6 ;
int sl_ahead = 0;
double cpuf; double cpuf;
//uint8_t nfapi_mode = 0; //uint8_t nfapi_mode = 0;
uint64_t downlink_frequency[MAX_NUM_CCs][4]; uint64_t downlink_frequency[MAX_NUM_CCs][4];
......
...@@ -257,7 +257,6 @@ printf("rxdata in benetel_fh_if4p5_south_in %p\n", &ru->common.rxdataF[antenna][ ...@@ -257,7 +257,6 @@ printf("rxdata in benetel_fh_if4p5_south_in %p\n", &ru->common.rxdataF[antenna][
//printf("BENETEL: %s (f.sf %d.%d)\n", __FUNCTION__, *frame, *slot); //printf("BENETEL: %s (f.sf %d.%d)\n", __FUNCTION__, *frame, *slot);
RU_proc_t *proc = &ru->proc; RU_proc_t *proc = &ru->proc;
extern int sl_ahead;
int f = *frame; int f = *frame;
int sl = *slot; int sl = *slot;
...@@ -272,8 +271,8 @@ printf("rxdata in benetel_fh_if4p5_south_in %p\n", &ru->common.rxdataF[antenna][ ...@@ -272,8 +271,8 @@ printf("rxdata in benetel_fh_if4p5_south_in %p\n", &ru->common.rxdataF[antenna][
if (get_nprocs()<=4) { if (get_nprocs()<=4) {
// why? what if there are more? // why? what if there are more?
proc->tti_tx = (sl+sl_ahead)%20; proc->tti_tx = (sl+ru->sl_ahead)%20;
proc->frame_tx = (sl>(19-sl_ahead)) ? (f+1)&1023 : f; proc->frame_tx = (sl>(19-ru->sl_ahead)) ? (f+1)&1023 : f;
} }
} }
......
...@@ -203,7 +203,6 @@ void oran_fh_if4p5_south_in(RU_t *ru, int *frame, int *slot) ...@@ -203,7 +203,6 @@ void oran_fh_if4p5_south_in(RU_t *ru, int *frame, int *slot)
ru_info.prach_buf = ru->prach_rxsigF[0]; // index: [prach_oca][ant_id] ru_info.prach_buf = ru->prach_rxsigF[0]; // index: [prach_oca][ant_id]
RU_proc_t *proc = &ru->proc; RU_proc_t *proc = &ru->proc;
extern int sl_ahead;
int f, sl; int f, sl;
LOG_D(PHY, "Read rxdataF %p,%p\n", ru_info.rxdataF[0], ru_info.rxdataF[1]); LOG_D(PHY, "Read rxdataF %p,%p\n", ru_info.rxdataF[0], ru_info.rxdataF[1]);
start_meas(&ru->rx_fhaul); start_meas(&ru->rx_fhaul);
...@@ -217,8 +216,8 @@ void oran_fh_if4p5_south_in(RU_t *ru, int *frame, int *slot) ...@@ -217,8 +216,8 @@ void oran_fh_if4p5_south_in(RU_t *ru, int *frame, int *slot)
int slots_per_frame = 10 << (ru->openair0_cfg.nr_scs_for_raster); int slots_per_frame = 10 << (ru->openair0_cfg.nr_scs_for_raster);
proc->tti_rx = sl; proc->tti_rx = sl;
proc->frame_rx = f; proc->frame_rx = f;
proc->tti_tx = (sl + sl_ahead) % slots_per_frame; proc->tti_tx = (sl + ru->sl_ahead) % slots_per_frame;
proc->frame_tx = (sl > (slots_per_frame - 1 - sl_ahead)) ? (f + 1) & 1023 : f; proc->frame_tx = (sl > (slots_per_frame - 1 - ru->sl_ahead)) ? (f + 1) & 1023 : f;
if (proc->first_rx == 0) { if (proc->first_rx == 0) {
if (proc->tti_rx != *slot) { if (proc->tti_rx != *slot) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment