o-du/phy
Intel O-RAN/X-RAN Generated Doxygen Documentation
common.h
Go to the documentation of this file.
1 /******************************************************************************
2 *
3 * Copyright (c) 2019 Intel.
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 *
17 *******************************************************************************/
18 
19 #ifndef _XRAN_APP_COMMON_H_
20 #define _XRAN_APP_COMMON_H_
21 
22 #include <stdio.h>
23 #include <unistd.h>
24 
25 #include "xran_fh_o_du.h"
26 #include "xran_pkt_up.h"
27 
28 #include <rte_common.h>
29 #include <rte_mbuf.h>
30 
31 #define VERSIONX "#DIRTY#"
32 
33 #define APP_O_DU 0
34 #define APP_O_RU 1
35 
37 {
40 };
41 
43 {
47 };
48 
49 #define N_SC_PER_PRB 12
50 #define N_SYM_PER_SLOT 14
51 #define MAX_ANT_CARRIER_SUPPORTED (XRAN_MAX_SECTOR_NR*XRAN_MAX_ANTENNA_NR)
52 #define MAX_ANT_CARRIER_SUPPORTED_CAT_B (XRAN_MAX_SECTOR_NR*XRAN_MAX_ANT_ARRAY_ELM_NR)
53 
54 #define SUBFRAME_DURATION_US 1000
55 //#define SLOTNUM_PER_SUBFRAME 8
56 
57 #define SUBFRAMES_PER_SYSTEMFRAME 10
58 #define IQ_PLAYBACK_BUFFER_BYTES (XRAN_NUM_OF_SLOT_IN_TDD_LOOP*N_SYM_PER_SLOT*XRAN_MAX_PRBS*N_SC_PER_PRB*4L)
59 /* PRACH data samples are 32 bits wide, 16bits for I and 16bits for Q. Each packet contains 839 samples for long sequence or 144*14 (max) for short sequence. The payload length is 3356 octets.*/
60 #define PRACH_PLAYBACK_BUFFER_BYTES (144*14*4L)
61 
62 #ifdef _DEBUG
63 #define iAssert(p) if(!(p)){fprintf(stderr,\
64  "Assertion failed: %s, file %s, line %d, val %d\n",\
65  #p, __FILE__, __LINE__, p);exit(-1);}
66 #else /* _DEBUG */
67 #define iAssert(p)
68 #endif /* _DEBUG */
69 
72 
73 extern int iq_bfw_buffer_size_dl;
74 extern int iq_bfw_buffer_size_ul;
75 
76 extern int iq_srs_buffer_size_ul;
77 
78 extern uint8_t numCCPorts;
79 /* Number of antennas supported by front-end */
80 
81 extern uint8_t num_eAxc;
82 /* Number of antennas supported by front-end */
86 
90 
94 
95 /* Number of antennas supported by front-end */
99 
103 
107 
108 extern int16_t *p_tx_buffer[MAX_ANT_CARRIER_SUPPORTED];
110 
111 extern int16_t *p_rx_buffer[MAX_ANT_CARRIER_SUPPORTED];
113 
114 /* beamforming weights for UL (O-DU) */
118 
119 /* beamforming weights for UL (O-DU) */
123 
124 /* beamforming weights for UL (O-RU) */
128 
129 /* beamforming weights for UL (O-RU) */
133 
134 void sys_save_buf_to_file_txt(char *filename, char *bufname, unsigned char *pBuffer, unsigned int size, unsigned int buffers_num);
135 void sys_save_buf_to_file(char *filename, char *bufname, unsigned char *pBuffer, unsigned int size, unsigned int buffers_num);
136 int sys_load_file_to_buff(char *filename, char *bufname, unsigned char *pBuffer, unsigned int size, unsigned int buffers_num);
137 uint32_t app_xran_get_scs(uint8_t nMu);
138 uint16_t app_xran_get_num_rbs(uint32_t nNumerology, uint32_t nBandwidth, uint32_t nAbsFrePointA);
139 uint32_t app_xran_cal_nrarfcn(uint32_t nCenterFreq);
140 int32_t app_xran_set_slot_type(uint32_t nPhyInstanceId, uint32_t nFrameDuplexType,
141  uint32_t nTddPeriod, struct xran_slot_config *psSlotConfig);
142 uint32_t app_xran_get_tti_interval(uint8_t nMu);
143 
144 
145 
146 #endif /*_XRAN_APP_COMMON_H_*/
void sys_save_buf_to_file_txt(char *filename, char *bufname, unsigned char *pBuffer, unsigned int size, unsigned int buffers_num)
Definition: common.c:635
nRChBwOptions
Definition: common.h:42
#define MAX_ANT_CARRIER_SUPPORTED
Definition: common.h:51
uint32_t app_xran_get_tti_interval(uint8_t nMu)
Definition: common.c:168
int16_t * p_rx_buffer[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:77
uint32_t app_xran_get_scs(uint8_t nMu)
Definition: common.c:182
#define XRAN_MAX_ANT_ARRAY_ELM_NR
Definition: xran_fh_o_du.h:118
int32_t rx_dl_bfw_buffer_size[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:92
int iq_bfw_buffer_size_ul
Definition: common.c:40
int iq_playback_buffer_size_dl
Definition: common.c:36
int16_t * p_rx_dl_bfw_buffer[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:91
int32_t rx_buffer_size[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:78
#define XRAN_MAX_SECTOR_NR
Definition: xran_fh_o_du.h:110
int32_t tx_play_buffer_position[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:52
int16_t * p_tx_dl_bfw_buffer[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:81
int sys_load_file_to_buff(char *filename, char *bufname, unsigned char *pBuffer, unsigned int size, unsigned int buffers_num)
Definition: common.c:584
int32_t tx_ul_bfw_buffer_position[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:88
int32_t tx_play_buffer_size[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:51
int32_t srs_log_buffer_size[XRAN_MAX_SECTOR_NR *XRAN_MAX_ANT_ARRAY_ELM_NR]
Definition: common.c:71
uint32_t app_xran_cal_nrarfcn(uint32_t nCenterFreq)
Definition: common.c:338
int16_t * p_tx_buffer[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:74
void sys_save_buf_to_file(char *filename, char *bufname, unsigned char *pBuffer, unsigned int size, unsigned int buffers_num)
Definition: common.c:550
int32_t prach_log_buffer_size[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:67
int16_t * p_srs_log_buffer[XRAN_MAX_SECTOR_NR *XRAN_MAX_ANT_ARRAY_ELM_NR]
Definition: common.c:70
int32_t rx_ul_bfw_buffer_size[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:97
int32_t rx_log_buffer_position[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:64
int32_t rx_ul_bfw_buffer_position[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:98
int32_t rx_log_buffer_size[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:63
int32_t tx_srs_play_buffer_position[XRAN_MAX_SECTOR_NR *XRAN_MAX_ANT_ARRAY_ELM_NR]
Definition: common.c:60
int iq_srs_buffer_size_ul
Definition: common.c:42
uint16_t app_xran_get_num_rbs(uint32_t nNumerology, uint32_t nBandwidth, uint32_t nAbsFrePointA)
Definition: common.c:213
int32_t tx_srs_play_buffer_size[XRAN_MAX_SECTOR_NR *XRAN_MAX_ANT_ARRAY_ELM_NR]
Definition: common.c:59
int32_t rx_dl_bfw_buffer_position[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:93
int16_t * p_tx_prach_play_buffer[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:54
int16_t * p_tx_srs_play_buffer[XRAN_MAX_SECTOR_NR *XRAN_MAX_ANT_ARRAY_ELM_NR]
Definition: common.c:58
int32_t tx_dl_bfw_buffer_size[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:82
int32_t tx_prach_play_buffer_size[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:55
uint8_t num_eAxc
Definition: common.c:47
int16_t * p_tx_play_buffer[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:50
int32_t app_xran_set_slot_type(uint32_t nPhyInstanceId, uint32_t nFrameDuplexType, uint32_t nTddPeriod, struct xran_slot_config *psSlotConfig)
Definition: common.c:393
int16_t * p_prach_log_buffer[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:66
app_state
Definition: common.h:36
This file provides public interface to xRAN Front Haul layer implementation as defined in the ORAN-WG...
int16_t * p_tx_ul_bfw_buffer[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:86
int32_t tx_buffer_size[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:75
Definitions and support functions to process XRAN packet.
int32_t tx_ul_bfw_buffer_size[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:87
int iq_bfw_buffer_size_dl
Definition: common.c:39
int iq_playback_buffer_size_ul
Definition: common.c:37
int32_t tx_dl_bfw_buffer_position[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:83
int16_t * p_rx_ul_bfw_buffer[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:96
int16_t * p_rx_log_buffer[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:62
int32_t tx_prach_play_buffer_position[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:56
uint8_t numCCPorts
Definition: common.c:44
int32_t prach_log_buffer_position[MAX_ANT_CARRIER_SUPPORTED]
Definition: common.c:68
int32_t srs_log_buffer_position[XRAN_MAX_SECTOR_NR *XRAN_MAX_ANT_ARRAY_ELM_NR]
Definition: common.c:72