o-du/phy
Intel O-RAN/X-RAN Generated Doxygen Documentation
Data Structures | Public Types | Public Member Functions | Data Fields | Protected Attributes
xranLibWraper Class Reference

#include <xran_lib_wrap.hpp>

Collaboration diagram for xranLibWraper:
Collaboration graph

Data Structures

struct  xran_timer_ctx
 

Public Types

enum  SWXRANInterfaceTypeEnum {
  XRANFTHTX_OUT = 0, XRANFTHTX_PRB_MAP_OUT, XRANFTHTX_SEC_DESC_OUT, XRANFTHRX_IN,
  XRANFTHRX_PRB_MAP_IN, XRANFTHTX_SEC_DESC_IN, XRANFTHRACH_IN, MAX_SW_XRAN_INTERFACE_NUM
}
 
enum  nChBw {
  PHY_BW_5MHZ = 5, PHY_BW_10MHZ = 10, PHY_BW_15MHZ = 15, PHY_BW_20MHZ = 20,
  PHY_BW_25MHZ = 25, PHY_BW_30MHZ = 30, PHY_BW_40MHZ = 40, PHY_BW_50MHZ = 50,
  PHY_BW_60MHZ = 60, PHY_BW_70MHZ = 70, PHY_BW_80MHZ = 80, PHY_BW_90MHZ = 90,
  PHY_BW_100MHZ = 100, PHY_BW_200MHZ = 200, PHY_BW_400MHZ = 400
}
 

Public Member Functions

 xranLibWraper ()
 
 ~xranLibWraper ()
 
int SetUp ()
 
void TearDown ()
 
int Init (struct xran_fh_config *pCfg=nullptr)
 
void Cleanup ()
 
void Open (xran_ethdi_mbuf_send_fn send_cp, xran_ethdi_mbuf_send_fn send_up, void *fh_rx_callback, void *fh_rx_prach_callback)
 
void Close ()
 
int Start ()
 
int Stop ()
 
void update_tti ()
 
void update_symbol_index ()
 
int apply_cpenable (bool flag)
 
int get_slot_config (const std::string &cfgname, struct xran_frame_config *pCfg)
 
int get_num_rbs (uint32_t nNumerology, uint32_t nBandwidth, bool nSub6)
 
void * get_xranhandle ()
 
void * get_timer_ctx ()
 
int get_symbol_index ()
 
bool is_running ()
 
enum xran_category get_rucategory ()
 
int get_numerology ()
 
int get_duplextype ()
 
int get_num_cc ()
 
int get_num_eaxc ()
 
int get_num_dlrbs ()
 
int get_num_ulrbs ()
 
int get_num_antelmtrx ()
 
bool is_cpenable ()
 
bool is_prachenable ()
 
bool is_dynamicsection ()
 
void get_cfg_prach (struct xran_prach_config *pCfg)
 
void get_cfg_frame (struct xran_frame_config *pCfg)
 
void get_cfg_ru (struct xran_ru_config *pCfg)
 
void get_cfg_fh (struct xran_fh_config *pCfg)
 

Data Fields

const uint16_t nNumRbsPerSymF1 [3][13]
 
const uint16_t nNumRbsPerSymF2 [2][4]
 

Protected Attributes

char argv [25] = "unittest"
 
std::string m_dpdk_dev_up
 
std::string m_dpdk_dev_cp
 
std::string m_dpdk_bbdev
 
void * m_xranhandle
 
uint8_t m_du_mac [6] = { 0x00,0x11, 0x22, 0x33, 0x44, 0x66 }
 
uint8_t m_ru_mac [6] = { 0x00,0x11, 0x22, 0x33, 0x44, 0x55 }
 
bool m_bSub6
 
uint32_t m_nSlots = 10
 
struct xran_fh_config m_xranConf
 
struct xran_fh_init m_xranInit
 
struct xranLibWraper::xran_timer_ctx m_timer_ctx [MAX_NUM_OF_XRAN_CTX]
 
BbuIoBufCtrlStruct m_sFrontHaulTxBbuIoBufCtrl [XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
 
BbuIoBufCtrlStruct m_sFrontHaulTxPrbMapBbuIoBufCtrl [XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
 
BbuIoBufCtrlStruct m_sFrontHaulRxBbuIoBufCtrl [XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
 
BbuIoBufCtrlStruct m_sFrontHaulRxPrbMapBbuIoBufCtrl [XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
 
BbuIoBufCtrlStruct m_sFHPrachRxBbuIoBufCtrl [XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
 
struct xran_flat_buffer m_sFrontHaulTxBuffers [XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR][XRAN_NUM_OF_SYMBOL_PER_SLOT]
 
struct xran_flat_buffer m_sFrontHaulTxPrbMapBuffers [XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
 
struct xran_flat_buffer m_sFrontHaulRxBuffers [XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR][XRAN_NUM_OF_SYMBOL_PER_SLOT]
 
struct xran_flat_buffer m_sFrontHaulRxPrbMapBuffers [XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
 
struct xran_flat_buffer m_sFHPrachRxBuffers [XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR][XRAN_NUM_OF_SYMBOL_PER_SLOT]
 
void * m_nInstanceHandle [XRAN_PORTS_NUM][XRAN_MAX_SECTOR_NR]
 
uint32_t m_nBufPoolIndex [XRAN_MAX_SECTOR_NR][MAX_SW_XRAN_INTERFACE_NUM]
 
uint32_t m_nSW_ToFpga_FTH_TxBufferLen
 
uint32_t m_nFpgaToSW_FTH_RxBufferLen
 
int32_t m_nSectorIndex [XRAN_MAX_SECTOR_NR]
 
int iq_bfw_buffer_size_dl = 0
 
int iq_bfw_buffer_size_ul = 0
 
int16_t * p_tx_dl_bfw_buffer [MAX_ANT_CARRIER_SUPPORTED]
 
int32_t tx_dl_bfw_buffer_size [MAX_ANT_CARRIER_SUPPORTED]
 
int32_t tx_dl_bfw_buffer_position [MAX_ANT_CARRIER_SUPPORTED]
 
int16_t * p_tx_ul_bfw_buffer [MAX_ANT_CARRIER_SUPPORTED]
 
int32_t tx_ul_bfw_buffer_size [MAX_ANT_CARRIER_SUPPORTED]
 
int32_t tx_ul_bfw_buffer_position [MAX_ANT_CARRIER_SUPPORTED]
 

Detailed Description

Definition at line 66 of file xran_lib_wrap.hpp.

Member Enumeration Documentation

◆ nChBw

enum nChBw
Enumerator
PHY_BW_5MHZ 
PHY_BW_10MHZ 
PHY_BW_15MHZ 
PHY_BW_20MHZ 
PHY_BW_25MHZ 
PHY_BW_30MHZ 
PHY_BW_40MHZ 
PHY_BW_50MHZ 
PHY_BW_60MHZ 
PHY_BW_70MHZ 
PHY_BW_80MHZ 
PHY_BW_90MHZ 
PHY_BW_100MHZ 
PHY_BW_200MHZ 
PHY_BW_400MHZ 

Definition at line 81 of file xran_lib_wrap.hpp.

◆ SWXRANInterfaceTypeEnum

Enumerator
XRANFTHTX_OUT 
XRANFTHTX_PRB_MAP_OUT 
XRANFTHTX_SEC_DESC_OUT 
XRANFTHRX_IN 
XRANFTHRX_PRB_MAP_IN 
XRANFTHTX_SEC_DESC_IN 
XRANFTHRACH_IN 
MAX_SW_XRAN_INTERFACE_NUM 

Definition at line 69 of file xran_lib_wrap.hpp.

Constructor & Destructor Documentation

◆ xranLibWraper()

xranLibWraper ( )
inline

Definition at line 467 of file xran_lib_wrap.hpp.

Here is the call graph for this function:

◆ ~xranLibWraper()

~xranLibWraper ( )
inline

Definition at line 674 of file xran_lib_wrap.hpp.

Member Function Documentation

◆ apply_cpenable()

int apply_cpenable ( bool  flag)
inline

Definition at line 1024 of file xran_lib_wrap.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Cleanup()

void Cleanup ( )
inline

Definition at line 914 of file xran_lib_wrap.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Close()

void Close ( )
inline

Definition at line 984 of file xran_lib_wrap.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_cfg_fh()

void get_cfg_fh ( struct xran_fh_config pCfg)
inline

Definition at line 1148 of file xran_lib_wrap.hpp.

Here is the caller graph for this function:

◆ get_cfg_frame()

void get_cfg_frame ( struct xran_frame_config pCfg)
inline

Definition at line 1136 of file xran_lib_wrap.hpp.

◆ get_cfg_prach()

void get_cfg_prach ( struct xran_prach_config pCfg)
inline

Definition at line 1130 of file xran_lib_wrap.hpp.

◆ get_cfg_ru()

void get_cfg_ru ( struct xran_ru_config pCfg)
inline

Definition at line 1142 of file xran_lib_wrap.hpp.

◆ get_duplextype()

int get_duplextype ( )
inline

Definition at line 1119 of file xran_lib_wrap.hpp.

◆ get_num_antelmtrx()

int get_num_antelmtrx ( )
inline

Definition at line 1124 of file xran_lib_wrap.hpp.

Here is the caller graph for this function:

◆ get_num_cc()

int get_num_cc ( )
inline

Definition at line 1120 of file xran_lib_wrap.hpp.

Here is the caller graph for this function:

◆ get_num_dlrbs()

int get_num_dlrbs ( )
inline

Definition at line 1122 of file xran_lib_wrap.hpp.

Here is the caller graph for this function:

◆ get_num_eaxc()

int get_num_eaxc ( )
inline

Definition at line 1121 of file xran_lib_wrap.hpp.

Here is the caller graph for this function:

◆ get_num_rbs()

int get_num_rbs ( uint32_t  nNumerology,
uint32_t  nBandwidth,
bool  nSub6 
)
inline

Definition at line 1068 of file xran_lib_wrap.hpp.

Here is the caller graph for this function:

◆ get_num_ulrbs()

int get_num_ulrbs ( )
inline

Definition at line 1123 of file xran_lib_wrap.hpp.

Here is the caller graph for this function:

◆ get_numerology()

int get_numerology ( )
inline

Definition at line 1118 of file xran_lib_wrap.hpp.

Here is the caller graph for this function:

◆ get_rucategory()

enum xran_category get_rucategory ( )
inline

Definition at line 1116 of file xran_lib_wrap.hpp.

Here is the caller graph for this function:

◆ get_slot_config()

int get_slot_config ( const std::string &  cfgname,
struct xran_frame_config pCfg 
)
inline

Definition at line 1047 of file xran_lib_wrap.hpp.

Here is the caller graph for this function:

◆ get_symbol_index()

int get_symbol_index ( )
inline

Definition at line 1112 of file xran_lib_wrap.hpp.

Here is the caller graph for this function:

◆ get_timer_ctx()

void* get_timer_ctx ( )
inline

Definition at line 1110 of file xran_lib_wrap.hpp.

Here is the caller graph for this function:

◆ get_xranhandle()

void* get_xranhandle ( )
inline

Definition at line 1109 of file xran_lib_wrap.hpp.

Here is the caller graph for this function:

◆ Init()

int Init ( struct xran_fh_config pCfg = nullptr)
inline

Definition at line 740 of file xran_lib_wrap.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ is_cpenable()

bool is_cpenable ( )
inline

Definition at line 1126 of file xran_lib_wrap.hpp.

Here is the caller graph for this function:

◆ is_dynamicsection()

bool is_dynamicsection ( )
inline

Definition at line 1128 of file xran_lib_wrap.hpp.

◆ is_prachenable()

bool is_prachenable ( )
inline

Definition at line 1127 of file xran_lib_wrap.hpp.

◆ is_running()

bool is_running ( )
inline

Definition at line 1114 of file xran_lib_wrap.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Open()

void Open ( xran_ethdi_mbuf_send_fn  send_cp,
xran_ethdi_mbuf_send_fn  send_up,
void *  fh_rx_callback,
void *  fh_rx_prach_callback 
)
inline

Definition at line 936 of file xran_lib_wrap.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetUp()

int SetUp ( )
inline

Definition at line 678 of file xran_lib_wrap.hpp.

Here is the call graph for this function:

◆ Start()

int Start ( )
inline

Definition at line 990 of file xran_lib_wrap.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Stop()

int Stop ( )
inline

Definition at line 998 of file xran_lib_wrap.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ TearDown()

void TearDown ( )
inline

Definition at line 729 of file xran_lib_wrap.hpp.

Here is the call graph for this function:

◆ update_symbol_index()

void update_symbol_index ( )
inline

Definition at line 1012 of file xran_lib_wrap.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_tti()

void update_tti ( )
inline

Definition at line 1007 of file xran_lib_wrap.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

Field Documentation

◆ argv

char argv[25] = "unittest"
protected

Definition at line 109 of file xran_lib_wrap.hpp.

◆ iq_bfw_buffer_size_dl

int iq_bfw_buffer_size_dl = 0
protected

Definition at line 149 of file xran_lib_wrap.hpp.

◆ iq_bfw_buffer_size_ul

int iq_bfw_buffer_size_ul = 0
protected

Definition at line 150 of file xran_lib_wrap.hpp.

◆ m_bSub6

bool m_bSub6
protected

Definition at line 117 of file xran_lib_wrap.hpp.

◆ m_dpdk_bbdev

std::string m_dpdk_bbdev
protected

Definition at line 111 of file xran_lib_wrap.hpp.

◆ m_dpdk_dev_cp

std::string m_dpdk_dev_cp
protected

Definition at line 111 of file xran_lib_wrap.hpp.

◆ m_dpdk_dev_up

std::string m_dpdk_dev_up
protected

Definition at line 111 of file xran_lib_wrap.hpp.

◆ m_du_mac

uint8_t m_du_mac[6] = { 0x00,0x11, 0x22, 0x33, 0x44, 0x66 }
protected

Definition at line 115 of file xran_lib_wrap.hpp.

◆ m_nBufPoolIndex

uint32_t m_nBufPoolIndex[XRAN_MAX_SECTOR_NR][MAX_SW_XRAN_INTERFACE_NUM]
protected

Definition at line 142 of file xran_lib_wrap.hpp.

◆ m_nFpgaToSW_FTH_RxBufferLen

uint32_t m_nFpgaToSW_FTH_RxBufferLen
protected

Definition at line 145 of file xran_lib_wrap.hpp.

◆ m_nInstanceHandle

void* m_nInstanceHandle[XRAN_PORTS_NUM][XRAN_MAX_SECTOR_NR]
protected

Definition at line 141 of file xran_lib_wrap.hpp.

◆ m_nSectorIndex

int32_t m_nSectorIndex[XRAN_MAX_SECTOR_NR]
protected

Definition at line 147 of file xran_lib_wrap.hpp.

◆ m_nSlots

uint32_t m_nSlots = 10
protected

Definition at line 118 of file xran_lib_wrap.hpp.

◆ m_nSW_ToFpga_FTH_TxBufferLen

uint32_t m_nSW_ToFpga_FTH_TxBufferLen
protected

Definition at line 144 of file xran_lib_wrap.hpp.

◆ m_ru_mac

uint8_t m_ru_mac[6] = { 0x00,0x11, 0x22, 0x33, 0x44, 0x55 }
protected

Definition at line 116 of file xran_lib_wrap.hpp.

◆ m_sFHPrachRxBbuIoBufCtrl

Definition at line 132 of file xran_lib_wrap.hpp.

◆ m_sFHPrachRxBuffers

Definition at line 139 of file xran_lib_wrap.hpp.

◆ m_sFrontHaulRxBbuIoBufCtrl

Definition at line 130 of file xran_lib_wrap.hpp.

◆ m_sFrontHaulRxBuffers

Definition at line 137 of file xran_lib_wrap.hpp.

◆ m_sFrontHaulRxPrbMapBbuIoBufCtrl

BbuIoBufCtrlStruct m_sFrontHaulRxPrbMapBbuIoBufCtrl[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
protected

Definition at line 131 of file xran_lib_wrap.hpp.

◆ m_sFrontHaulRxPrbMapBuffers

struct xran_flat_buffer m_sFrontHaulRxPrbMapBuffers[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
protected

Definition at line 138 of file xran_lib_wrap.hpp.

◆ m_sFrontHaulTxBbuIoBufCtrl

Definition at line 128 of file xran_lib_wrap.hpp.

◆ m_sFrontHaulTxBuffers

Definition at line 135 of file xran_lib_wrap.hpp.

◆ m_sFrontHaulTxPrbMapBbuIoBufCtrl

BbuIoBufCtrlStruct m_sFrontHaulTxPrbMapBbuIoBufCtrl[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
protected

Definition at line 129 of file xran_lib_wrap.hpp.

◆ m_sFrontHaulTxPrbMapBuffers

struct xran_flat_buffer m_sFrontHaulTxPrbMapBuffers[XRAN_N_FE_BUF_LEN][XRAN_MAX_SECTOR_NR][XRAN_MAX_ANTENNA_NR]
protected

Definition at line 136 of file xran_lib_wrap.hpp.

◆ m_timer_ctx

struct xranLibWraper::xran_timer_ctx m_timer_ctx[MAX_NUM_OF_XRAN_CTX]
protected

◆ m_xranConf

struct xran_fh_config m_xranConf
protected

Definition at line 120 of file xran_lib_wrap.hpp.

◆ m_xranhandle

void* m_xranhandle
protected

Definition at line 113 of file xran_lib_wrap.hpp.

◆ m_xranInit

struct xran_fh_init m_xranInit
protected

Definition at line 121 of file xran_lib_wrap.hpp.

◆ nNumRbsPerSymF1

const uint16_t nNumRbsPerSymF1[3][13]
Initial value:
=
{
{ 25, 52, 79, 106, 133, 160, 216, 270, 0, 0, 0, 0, 0 },
{ 11, 24, 38, 51, 65, 78, 106, 133, 162, 0, 217, 245, 273 },
{ 0, 11, 18, 24, 31, 38, 51, 65, 79, 0, 107, 121, 135 }
}

Definition at line 91 of file xran_lib_wrap.hpp.

◆ nNumRbsPerSymF2

const uint16_t nNumRbsPerSymF2[2][4]
Initial value:
=
{
{ 66, 132, 264, 0 },
{ 32, 66, 132, 264 }
}

Definition at line 100 of file xran_lib_wrap.hpp.

◆ p_tx_dl_bfw_buffer

int16_t* p_tx_dl_bfw_buffer[MAX_ANT_CARRIER_SUPPORTED]
protected

Definition at line 153 of file xran_lib_wrap.hpp.

◆ p_tx_ul_bfw_buffer

int16_t* p_tx_ul_bfw_buffer[MAX_ANT_CARRIER_SUPPORTED]
protected

Definition at line 158 of file xran_lib_wrap.hpp.

◆ tx_dl_bfw_buffer_position

int32_t tx_dl_bfw_buffer_position[MAX_ANT_CARRIER_SUPPORTED]
protected

Definition at line 155 of file xran_lib_wrap.hpp.

◆ tx_dl_bfw_buffer_size

int32_t tx_dl_bfw_buffer_size[MAX_ANT_CARRIER_SUPPORTED]
protected

Definition at line 154 of file xran_lib_wrap.hpp.

◆ tx_ul_bfw_buffer_position

int32_t tx_ul_bfw_buffer_position[MAX_ANT_CARRIER_SUPPORTED]
protected

Definition at line 160 of file xran_lib_wrap.hpp.

◆ tx_ul_bfw_buffer_size

int32_t tx_ul_bfw_buffer_size[MAX_ANT_CARRIER_SUPPORTED]
protected

Definition at line 159 of file xran_lib_wrap.hpp.


The documentation for this class was generated from the following file: