Commit 9151e06f authored by Sofia Pison's avatar Sofia Pison Committed by rajeshwari.p

Progress in DL integration, not yet overwritting the TX shared buffer

parent 20be2dd3
...@@ -474,16 +474,18 @@ extern "C" ...@@ -474,16 +474,18 @@ extern "C"
int xran_fh_tx_send_slot(void *xranlib_, ru_info_t *ru, int frame, int slot, uint64_t timestamp){ int xran_fh_tx_send_slot(void *xranlib_, ru_info_t *ru, int frame, int slot, uint64_t timestamp){
xranLibWraper *xranlib = ((xranLibWraper *) xranlib_); xranLibWraper *xranlib = ((xranLibWraper *) xranlib_);
int tti = /*frame*SUBFRAMES_PER_SYSTEMFRAME*SLOTNUM_PER_SUBFRAME*/+slot; //commented out temporarily to check that compilation of oran 5g is working. int tti = /*frame*SUBFRAMES_PER_SYSTEMFRAME*SLOTNUM_PER_SUBFRAME+*/slot; //commented out temporarily to check that compilation of oran 5g is working.
int32_t flowId; int32_t flowId;
void *ptr = NULL; void *ptr = NULL;
int32_t *pos = NULL; int32_t *pos = NULL;
p_xran_dev_ctx_2 = xran_dev_get_ctx(); p_xran_dev_ctx_2 = xran_dev_get_ctx();
#if 0
if (p_xran_dev_ctx_2 != NULL){ if (p_xran_dev_ctx_2 != NULL){
printf("p_xran_dev_ctx_2=%d\n",p_xran_dev_ctx_2); printf("p_xran_dev_ctx_2=%d\n",p_xran_dev_ctx_2);
} }
#endif
int num_eaxc = xranlib->get_num_eaxc(); int num_eaxc = xranlib->get_num_eaxc();
int num_eaxc_ul = xranlib->get_num_eaxc_ul(); int num_eaxc_ul = xranlib->get_num_eaxc_ul();
...@@ -501,7 +503,7 @@ int xran_fh_tx_send_slot(void *xranlib_, ru_info_t *ru, int frame, int slot, uin ...@@ -501,7 +503,7 @@ int xran_fh_tx_send_slot(void *xranlib_, ru_info_t *ru, int frame, int slot, uin
nSectorNum = xranlib->get_num_cc(); nSectorNum = xranlib->get_num_cc();
int maxflowid = num_eaxc * (nSectorNum-1) + (xran_max_antenna_nr-1); int maxflowid = num_eaxc * (nSectorNum-1) + (xran_max_antenna_nr-1);
printf("the maximum flowID will be=%d\n",maxflowid); //printf("the maximum flowID will be=%d\n",maxflowid);
for(uint16_t cc_id=0; cc_id<1/*nSectorNum*/; cc_id++){ // OAI does not support multiple CC yet. for(uint16_t cc_id=0; cc_id<1/*nSectorNum*/; cc_id++){ // OAI does not support multiple CC yet.
for(uint8_t ant_id = 0; ant_id < xran_max_antenna_nr && ant_id<ru->nb_tx; ant_id++){ for(uint8_t ant_id = 0; ant_id < xran_max_antenna_nr && ant_id<ru->nb_tx; ant_id++){
......
...@@ -42,8 +42,25 @@ typedef struct { ...@@ -42,8 +42,25 @@ typedef struct {
int trx_oran_start(openair0_device *device) int trx_oran_start(openair0_device *device)
{ {
printf("ORAN: %s\n", __FUNCTION__); printf("ORAN: %s\n", __FUNCTION__);
#if 1
oran_eth_state_t *s = device->priv;
// Start ORAN
if ( start_oran(s->oran_priv) !=0 ){
printf("%s:%d:%s: Start ORAN failed ... Exit\n",
__FILE__, __LINE__, __FUNCTION__);
exit(1);
}else{
printf("Start ORAN. Done\n");
}
#endif
return 0; return 0;
} }
...@@ -51,14 +68,16 @@ void trx_oran_end(openair0_device *device) ...@@ -51,14 +68,16 @@ void trx_oran_end(openair0_device *device)
{ {
printf("ORAN: %s\n", __FUNCTION__); printf("ORAN: %s\n", __FUNCTION__);
oran_eth_state_t *s = device->priv; oran_eth_state_t *s = device->priv;
stop_oran(s); stop_oran(s->oran_priv);
close_oran(s); close_oran(s->oran_priv);
} }
int trx_oran_stop(openair0_device *device) int trx_oran_stop(openair0_device *device)
{ {
printf("ORAN: %s\n", __FUNCTION__); printf("ORAN: %s\n", __FUNCTION__);
oran_eth_state_t *s = device->priv;
stop_oran(s->oran_priv);
return(0); return(0);
} }
...@@ -158,18 +177,25 @@ int trx_oran_ctlrecv(openair0_device *device, void *msg, ssize_t msg_len) ...@@ -158,18 +177,25 @@ int trx_oran_ctlrecv(openair0_device *device, void *msg, ssize_t msg_len)
printf("ORAN: %s\n", __FUNCTION__); printf("ORAN: %s\n", __FUNCTION__);
if (s->last_msg == RAU_tick && s->capabilities_sent == 0) { if (s->last_msg == RAU_tick && s->capabilities_sent == 0) {
printf("CCCCC ORAN ctrlrcv RRU_tick received and send capabilities hard coded\n");
RRU_capabilities_t *cap; RRU_capabilities_t *cap;
rru_config_msg->type = RRU_capabilities; rru_config_msg->type = RRU_capabilities;
rru_config_msg->len = sizeof(RRU_CONFIG_msg_t)-MAX_RRU_CONFIG_SIZE+sizeof(RRU_capabilities_t); rru_config_msg->len = sizeof(RRU_CONFIG_msg_t)-MAX_RRU_CONFIG_SIZE+sizeof(RRU_capabilities_t);
// Fill RRU capabilities (see openair1/PHY/defs_RU.h)
// For now they are hard coded - try to retreive the params from openari device
cap = (RRU_capabilities_t*)&rru_config_msg->msg[0]; cap = (RRU_capabilities_t*)&rru_config_msg->msg[0];
cap->FH_fmt = OAI_IF4p5_only; cap->FH_fmt = OAI_IF4p5_only;
cap->num_bands = 1; cap->num_bands = 1;
cap->band_list[0] = 78; cap->band_list[0] = 78;
/* TODO: hardcoded to 1 for the moment, get the real value somehow... */ // cap->num_concurrent_bands = 1; component carriers
cap->nb_rx[0] = 1; //device->openair0_cfg->rx_num_channels; cap->nb_rx[0] = 1; //device->openair0_cfg->rx_num_channels;
cap->nb_tx[0] = 1; //device->openair0_cfg->tx_num_channels; cap->nb_tx[0] = 1; //device->openair0_cfg->tx_num_channels;
cap->max_pdschReferenceSignalPower[0] = -27; cap->max_pdschReferenceSignalPower[0] = -27;
cap->max_rxgain[0] = 90; cap->max_rxgain[0] = 90;
cap->N_RB_DL[0] = 106;
cap->N_RB_UL[0] = 106;
s->capabilities_sent = 1; s->capabilities_sent = 1;
...@@ -180,6 +206,7 @@ int trx_oran_ctlrecv(openair0_device *device, void *msg, ssize_t msg_len) ...@@ -180,6 +206,7 @@ int trx_oran_ctlrecv(openair0_device *device, void *msg, ssize_t msg_len)
rru_config_msg->type = RRU_config_ok; rru_config_msg->type = RRU_config_ok;
return 0; return 0;
} }
#if 0
if (s->last_msg == RRU_start) { if (s->last_msg == RRU_start) {
// Folllow the same steps as in the wrapper // Folllow the same steps as in the wrapper
printf("Oran RRU_start\n"); printf("Oran RRU_start\n");
...@@ -229,13 +256,16 @@ int trx_oran_ctlrecv(openair0_device *device, void *msg, ssize_t msg_len) ...@@ -229,13 +256,16 @@ int trx_oran_ctlrecv(openair0_device *device, void *msg, ssize_t msg_len)
printf("Start ORAN. Done\n"); printf("Start ORAN. Done\n");
} }
#if 0
// Once xran library and thread started compute the statistics // Once xran library and thread started compute the statistics
while(1){ while(1){
sleep(1); sleep(1);
compute_xran_statistics(s->oran_priv); compute_xran_statistics(s->oran_priv);
} }
#endif
} }
#endif
return 0; return 0;
} }
...@@ -243,16 +273,18 @@ void oran_fh_if4p5_south_in(RU_t *ru, ...@@ -243,16 +273,18 @@ void oran_fh_if4p5_south_in(RU_t *ru,
int *frame, int *frame,
int *slot) int *slot)
{ {
if(*frame==0 && *slot==0){
printf("XXX oran_fh_if4p5_south_in %d %d\n", *frame, *slot);
printf("XXX oran_fh_if4p5_south_in %d %d\n", *frame, *slot); sleep(1);
}
#if 0
oran_eth_state_t *s = ru->ifdevice.priv; oran_eth_state_t *s = ru->ifdevice.priv;
NR_DL_FRAME_PARMS *fp; NR_DL_FRAME_PARMS *fp;
int symbol; int symbol;
int32_t *rxdata; int32_t *rxdata;
int antenna; int antenna;
lock_ul_buffer(&s->buffers, *slot); // lock_ul_buffer(&s->buffers, *slot);
#if 1 #if 1
next: next:
while (!((s->buffers.ul_busy[0][*slot] == 0x3fff && while (!((s->buffers.ul_busy[0][*slot] == 0x3fff &&
...@@ -288,6 +320,7 @@ next: ...@@ -288,6 +320,7 @@ next:
if (*slot == 0 && symbol == 0) if (*slot == 0 && symbol == 0)
printf("rxdata in oran_fh_if4p5_south_in %p\n", &ru->common.rxdataF[antenna][0]); printf("rxdata in oran_fh_if4p5_south_in %p\n", &ru->common.rxdataF[antenna][0]);
#endif #endif
#if 1 #if 1
memcpy(rxdata + 2048 - 1272/2, memcpy(rxdata + 2048 - 1272/2,
&s->buffers.ul[antenna][*slot][symbol*1272*4], &s->buffers.ul[antenna][*slot][symbol*1272*4],
...@@ -299,10 +332,12 @@ printf("rxdata in oran_fh_if4p5_south_in %p\n", &ru->common.rxdataF[antenna][0]) ...@@ -299,10 +332,12 @@ printf("rxdata in oran_fh_if4p5_south_in %p\n", &ru->common.rxdataF[antenna][0])
} }
} }
#if 1
s->buffers.ul_busy[0][*slot] = 0; s->buffers.ul_busy[0][*slot] = 0;
s->buffers.ul_busy[1][*slot] = 0; s->buffers.ul_busy[1][*slot] = 0;
signal_ul_buffer(&s->buffers, *slot); signal_ul_buffer(&s->buffers, *slot);
unlock_ul_buffer(&s->buffers, *slot); unlock_ul_buffer(&s->buffers, *slot);
#endif
//printf("BENETEL: %s (f.sf %d.%d)\n", __FUNCTION__, *frame, *slot); //printf("BENETEL: %s (f.sf %d.%d)\n", __FUNCTION__, *frame, *slot);
...@@ -325,7 +360,7 @@ printf("rxdata in oran_fh_if4p5_south_in %p\n", &ru->common.rxdataF[antenna][0]) ...@@ -325,7 +360,7 @@ printf("rxdata in oran_fh_if4p5_south_in %p\n", &ru->common.rxdataF[antenna][0])
proc->tti_tx = (sl+sl_ahead)%20; proc->tti_tx = (sl+sl_ahead)%20;
proc->frame_tx = (sl>(19-sl_ahead)) ? (f+1)&1023 : f; proc->frame_tx = (sl>(19-sl_ahead)) ? (f+1)&1023 : f;
} }
#endif
} }
void oran_fh_if4p5_south_out(RU_t *ru, void oran_fh_if4p5_south_out(RU_t *ru,
...@@ -333,9 +368,17 @@ void oran_fh_if4p5_south_out(RU_t *ru, ...@@ -333,9 +368,17 @@ void oran_fh_if4p5_south_out(RU_t *ru,
int slot, int slot,
uint64_t timestamp) uint64_t timestamp)
{ {
openair0_device *device = &ru->ifdevice;
oran_eth_state_t *s = device->priv;
ru_info_t ru_info;
printf("XXX oran_fh_if4p5_south_out %d %d %ld\n", frame, slot, timestamp); ru_info.nb_tx = ru->nb_tx;
ru_info.txdataF_BF = ru->common.txdataF_BF;
int ret = xran_fh_tx_send_slot(s->oran_priv, &ru_info, frame, slot, timestamp);
//printf("XXX oran_fh_if4p5_south_out %d %d %ld\n", frame, slot, timestamp);
#if 0
//printf("Sofia-Romain exit south out\n");
//exit(-1);
oran_eth_state_t *s = ru->ifdevice.priv; oran_eth_state_t *s = ru->ifdevice.priv;
NR_DL_FRAME_PARMS *fp; NR_DL_FRAME_PARMS *fp;
int symbol; int symbol;
...@@ -382,6 +425,7 @@ printf("XXX oran_fh_if4p5_south_out %d %d %ld\n", frame, slot, timestamp); ...@@ -382,6 +425,7 @@ printf("XXX oran_fh_if4p5_south_out %d %d %ld\n", frame, slot, timestamp);
s->buffers.dl_busy[0][slot] = 0x3fff; s->buffers.dl_busy[0][slot] = 0x3fff;
s->buffers.dl_busy[1][slot] = 0x3fff; s->buffers.dl_busy[1][slot] = 0x3fff;
unlock_dl_buffer(&s->buffers, slot); unlock_dl_buffer(&s->buffers, slot);
#endif
} }
void *get_internal_parameter(char *name) void *get_internal_parameter(char *name)
...@@ -438,8 +482,11 @@ int transport_init(openair0_device *device, ...@@ -438,8 +482,11 @@ int transport_init(openair0_device *device,
eth->last_msg = (rru_config_msg_type_t)-1; eth->last_msg = (rru_config_msg_type_t)-1;
#if 0
init_buffers(&eth->buffers); init_buffers(&eth->buffers);
#endif
#if 1
oran_eth_state_t *s = eth; oran_eth_state_t *s = eth;
printf("ORAN: %s\n", __FUNCTION__); printf("ORAN: %s\n", __FUNCTION__);
...@@ -457,8 +504,8 @@ int transport_init(openair0_device *device, ...@@ -457,8 +504,8 @@ int transport_init(openair0_device *device,
} }
// Load the IQ samples from file // Load the IQ samples from file
load_iq_from_file(s->oran_priv); //load_iq_from_file(s->oran_priv);
printf("Load IQ from file. Done\n"); //printf("Load IQ from file. Done\n");
// Register physide callbacks // Register physide callbacks
register_physide_callbacks(s->oran_priv); register_physide_callbacks(s->oran_priv);
...@@ -473,21 +520,15 @@ int transport_init(openair0_device *device, ...@@ -473,21 +520,15 @@ int transport_init(openair0_device *device,
printf("Init Oran. Done\n"); printf("Init Oran. Done\n");
// Copy the loaded IQ to the xran buffer fro the tx // Copy the loaded IQ to the xran buffer fro the tx
xran_fh_tx_send_buffer(s->oran_priv); //xran_fh_tx_send_buffer(s->oran_priv);
printf("ORAN FH send tx buffer filled in with loaded IQs. Done\n"); //printf("ORAN FH send tx buffer filled in with loaded IQs. Done\n");
// Open ORAN // Open ORAN
open_oran(s->oran_priv); open_oran(s->oran_priv);
printf("xran_open. Done\n"); printf("xran_open. Done\n");
// Start ORAN #endif
if ( start_oran(s->oran_priv) !=0 ){
printf("%s:%d:%s: Start ORAN failed ... Exit\n",
__FILE__, __LINE__, __FUNCTION__);
exit(1);
}else{
printf("Start ORAN. Done\n");
}
return 0; return 0;
} }
...@@ -233,7 +233,7 @@ private: ...@@ -233,7 +233,7 @@ private:
std::cout << "Sucess xran_mm_init" << std::endl; std::cout << "Sucess xran_mm_init" << std::endl;
/* Init Memory */ /* Init Memory */
printf("Sofia wrapper.hpp: Init memory *** XRANFTHTX_OUT ***\n"); printf("wrapper.hpp: Init memory *** XRANFTHTX_OUT ***\n");
for(i = 0; i<nSectorNum; i++) { for(i = 0; i<nSectorNum; i++) {
eInterfaceType = XRANFTHTX_OUT; eInterfaceType = XRANFTHTX_OUT;
printf("Call xran_bm_init %d\n",i); printf("Call xran_bm_init %d\n",i);
...@@ -276,7 +276,7 @@ private: ...@@ -276,7 +276,7 @@ private:
} }
/* C-plane DL */ /* C-plane DL */
printf("Sofia wrapper.hpp: Init memory *** XRANFTHTX_SEC_DESC_OUT ***\n"); printf("wrapper.hpp: Init memory *** XRANFTHTX_SEC_DESC_OUT ***\n");
eInterfaceType = XRANFTHTX_SEC_DESC_OUT; eInterfaceType = XRANFTHTX_SEC_DESC_OUT;
status = xran_bm_init(m_nInstanceHandle[0][i], status = xran_bm_init(m_nInstanceHandle[0][i],
&m_nBufPoolIndex[m_nSectorIndex[i]][eInterfaceType], &m_nBufPoolIndex[m_nSectorIndex[i]][eInterfaceType],
...@@ -285,7 +285,7 @@ private: ...@@ -285,7 +285,7 @@ private:
std::cout << __LINE__ << " Failed at xran_bm_init, status " << status << std::endl; std::cout << __LINE__ << " Failed at xran_bm_init, status " << status << std::endl;
return (-1); return (-1);
} }
printf("Sofia wrapper.hpp: Init memory *** XRANFTHTX_PRB_MAP_OUT ***\n"); printf("wrapper.hpp: Init memory *** XRANFTHTX_PRB_MAP_OUT ***\n");
eInterfaceType = XRANFTHTX_PRB_MAP_OUT; eInterfaceType = XRANFTHTX_PRB_MAP_OUT;
status = xran_bm_init(m_nInstanceHandle[0][i], status = xran_bm_init(m_nInstanceHandle[0][i],
&m_nBufPoolIndex[m_nSectorIndex[i]][eInterfaceType], &m_nBufPoolIndex[m_nSectorIndex[i]][eInterfaceType],
...@@ -335,7 +335,7 @@ private: ...@@ -335,7 +335,7 @@ private:
} }
for(i = 0; i<nSectorNum; i++) { for(i = 0; i<nSectorNum; i++) {
printf("Sofia wrapper.hpp: Init memory *** XRANFTHRX_IN ***\n"); printf("wrapper.hpp: Init memory *** XRANFTHRX_IN ***\n");
eInterfaceType = XRANFTHRX_IN; eInterfaceType = XRANFTHRX_IN;
status = xran_bm_init(m_nInstanceHandle[0][i], status = xran_bm_init(m_nInstanceHandle[0][i],
&m_nBufPoolIndex[m_nSectorIndex[i]][eInterfaceType], &m_nBufPoolIndex[m_nSectorIndex[i]][eInterfaceType],
...@@ -373,7 +373,7 @@ private: ...@@ -373,7 +373,7 @@ private:
} }
} }
} }
printf("Sofia wrapper.hpp: Init memory *** XRANFTHTX_SEC_DESC_IN ***\n"); printf("wrapper.hpp: Init memory *** XRANFTHTX_SEC_DESC_IN ***\n");
eInterfaceType = XRANFTHTX_SEC_DESC_IN; eInterfaceType = XRANFTHTX_SEC_DESC_IN;
status = xran_bm_init(m_nInstanceHandle[0][i], status = xran_bm_init(m_nInstanceHandle[0][i],
&m_nBufPoolIndex[m_nSectorIndex[i]][eInterfaceType], &m_nBufPoolIndex[m_nSectorIndex[i]][eInterfaceType],
...@@ -382,7 +382,7 @@ private: ...@@ -382,7 +382,7 @@ private:
std::cout << __LINE__ << " Failed at xran_bm_init, status " << status << std::endl; std::cout << __LINE__ << " Failed at xran_bm_init, status " << status << std::endl;
return (-1); return (-1);
} }
printf("Sofia wrapper.hpp: Init memory *** XRANFTHRX_PRB_MAP_IN ***\n"); printf("wrapper.hpp: Init memory *** XRANFTHRX_PRB_MAP_IN ***\n");
eInterfaceType = XRANFTHRX_PRB_MAP_IN; eInterfaceType = XRANFTHRX_PRB_MAP_IN;
status = xran_bm_init(m_nInstanceHandle[0][i], status = xran_bm_init(m_nInstanceHandle[0][i],
&m_nBufPoolIndex[m_nSectorIndex[i]][eInterfaceType], &m_nBufPoolIndex[m_nSectorIndex[i]][eInterfaceType],
...@@ -433,7 +433,7 @@ private: ...@@ -433,7 +433,7 @@ private:
} }
for(i = 0; i<nSectorNum; i++) { for(i = 0; i<nSectorNum; i++) {
printf("Sofia wrapper.hpp: Init memory *** XRANFTHRACH_IN ***\n"); printf("wrapper.hpp: Init memory *** XRANFTHRACH_IN ***\n");
eInterfaceType = XRANFTHRACH_IN; eInterfaceType = XRANFTHRACH_IN;
status = xran_bm_init(m_nInstanceHandle[0][i], status = xran_bm_init(m_nInstanceHandle[0][i],
&m_nBufPoolIndex[m_nSectorIndex[i]][eInterfaceType], &m_nBufPoolIndex[m_nSectorIndex[i]][eInterfaceType],
...@@ -479,7 +479,7 @@ private: ...@@ -479,7 +479,7 @@ private:
/* add SRS rx buffer */ /* add SRS rx buffer */
for(i = 0; i<nSectorNum && xran_max_ant_array_elm_nr; i++) for(i = 0; i<nSectorNum && xran_max_ant_array_elm_nr; i++)
{ {
printf("Sofia wrapper.hpp: Init memory *** XRANSRS_IN ***\n"); printf("wrapper.hpp: Init memory *** XRANSRS_IN ***\n");
eInterfaceType = XRANSRS_IN; eInterfaceType = XRANSRS_IN;
status = xran_bm_init(m_nInstanceHandle[0][i],&m_nBufPoolIndex[m_nSectorIndex[i]][eInterfaceType], status = xran_bm_init(m_nInstanceHandle[0][i],&m_nBufPoolIndex[m_nSectorIndex[i]][eInterfaceType],
XRAN_N_FE_BUF_LEN*xran_max_ant_array_elm_nr*XRAN_MAX_NUM_OF_SRS_SYMBOL_PER_SLOT, m_nSW_ToFpga_FTH_TxBufferLen); XRAN_N_FE_BUF_LEN*xran_max_ant_array_elm_nr*XRAN_MAX_NUM_OF_SRS_SYMBOL_PER_SLOT, m_nSW_ToFpga_FTH_TxBufferLen);
...@@ -545,7 +545,7 @@ public: ...@@ -545,7 +545,7 @@ public:
m_xranInit.io_cfg.dpdk_dev[XRAN_UP_VF] = "0000:b3:02.0"; m_xranInit.io_cfg.dpdk_dev[XRAN_UP_VF] = "0000:b3:02.0";
m_xranInit.io_cfg.dpdk_dev[XRAN_CP_VF] = "0000:b3:02.1"; m_xranInit.io_cfg.dpdk_dev[XRAN_CP_VF] = "0000:b3:02.1";
printf("Sofia: m_xranInit.io_cfg.dpdk_dev[%d] =%s, m_xranInit.io_cfg.dpdk_dev[%d]=%s\n",XRAN_UP_VF,m_xranInit.io_cfg.dpdk_dev[XRAN_UP_VF],XRAN_CP_VF,m_xranInit.io_cfg.dpdk_dev[XRAN_CP_VF]); printf("wrapper.hpp: m_xranInit.io_cfg.dpdk_dev[%d] =%s, m_xranInit.io_cfg.dpdk_dev[%d]=%s\n",XRAN_UP_VF,m_xranInit.io_cfg.dpdk_dev[XRAN_UP_VF],XRAN_CP_VF,m_xranInit.io_cfg.dpdk_dev[XRAN_CP_VF]);
m_xranInit.io_cfg.core = get_globalcfg<int>(XRAN_UT_KEY_GLOBALCFG_IO, "core"); m_xranInit.io_cfg.core = get_globalcfg<int>(XRAN_UT_KEY_GLOBALCFG_IO, "core");
m_xranInit.io_cfg.system_core = get_globalcfg<int>(XRAN_UT_KEY_GLOBALCFG_IO, "system_core"); m_xranInit.io_cfg.system_core = get_globalcfg<int>(XRAN_UT_KEY_GLOBALCFG_IO, "system_core");
...@@ -794,7 +794,7 @@ public: ...@@ -794,7 +794,7 @@ public:
sizeof(struct xran_ecpri_hdr) + sizeof(struct xran_ecpri_hdr) +
sizeof(struct radio_app_common_hdr) + sizeof(struct radio_app_common_hdr) +
sizeof(struct data_section_hdr)); sizeof(struct data_section_hdr));
printf("Sofia wrapper.hpp: nFpgaToSW_FTH_RxBufferLen=%d , nSW_ToFpga_FTH_TxBufferLen=%d\n",m_nFpgaToSW_FTH_RxBufferLen,m_nSW_ToFpga_FTH_TxBufferLen); printf("wrapper.hpp: nFpgaToSW_FTH_RxBufferLen=%d , nSW_ToFpga_FTH_TxBufferLen=%d\n",m_nFpgaToSW_FTH_RxBufferLen,m_nSW_ToFpga_FTH_TxBufferLen);
if(init_memory() < 0) { if(init_memory() < 0) {
std::cout << "Fatal Error on Initialization !!!" << std::endl; std::cout << "Fatal Error on Initialization !!!" << std::endl;
...@@ -899,7 +899,8 @@ printf("Sofia wrapper.hpp: nFpgaToSW_FTH_RxBufferLen=%d , nSW_ToFpga_FTH_TxBuffe ...@@ -899,7 +899,8 @@ printf("Sofia wrapper.hpp: nFpgaToSW_FTH_RxBufferLen=%d , nSW_ToFpga_FTH_TxBuffe
pRbMap->prbMap[0].nStartSymb = 0; pRbMap->prbMap[0].nStartSymb = 0;
pRbMap->prbMap[0].numSymb = 14; pRbMap->prbMap[0].numSymb = 14;
pRbMap->prbMap[0].nBeamIndex = 0; pRbMap->prbMap[0].nBeamIndex = 0;
pRbMap->prbMap[0].compMethod = XRAN_COMPMETHOD_NONE; pRbMap->prbMap[0].compMethod = XRAN_COMPMETHOD_NONE;//BLKFLOAT; // Modify according to the target compression.
pRbMap->prbMap[0].iqWidth = 14; // Modify according to the target compression.
if(get_rucategory() == XRAN_CATEGORY_A) { if(get_rucategory() == XRAN_CATEGORY_A) {
pRbMap->prbMap[0].BeamFormingType = XRAN_BEAM_ID_BASED; pRbMap->prbMap[0].BeamFormingType = XRAN_BEAM_ID_BASED;
......
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