Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-RAN
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
spbro
OpenXG-RAN
Commits
bbe47d6f
Commit
bbe47d6f
authored
8 years ago
by
Sandeep Kumar
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
some additions to config files, needs merge
parent
fa4cfad5
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
53 additions
and
7 deletions
+53
-7
openair1/PHY/defs.h
openair1/PHY/defs.h
+5
-0
openair2/ENB_APP/enb_config.c
openair2/ENB_APP/enb_config.c
+45
-6
openair2/ENB_APP/enb_config.h
openair2/ENB_APP/enb_config.h
+3
-1
No files found.
openair1/PHY/defs.h
View file @
bbe47d6f
...
...
@@ -164,6 +164,11 @@ typedef enum {
NGFI_RRU_IF4
,
// NGFI_RRU (NGFI remote radio-unit, currently split at common - ue_specific interface, IF4)
NGFI_RCC_IF4
// NGFI_RCC (NGFI radio cloud center, currently split at common - ue_specific interface, IF4)
}
eNB_func_t
;
typedef
enum
{
synch_to_device
=
0
,
synch_to_other
}
eNB_timing_t
;
typedef
struct
UE_SCAN_INFO_s
{
/// 10 best amplitudes (linear) for each pss signals
...
...
This diff is collapsed.
Click to expand it.
openair2/ENB_APP/enb_config.c
View file @
bbe47d6f
...
...
@@ -73,6 +73,9 @@
#define ENB_CONFIG_STRING_COMPONENT_CARRIERS "component_carriers"
#define ENB_CONFIG_STRING_CC_NODE_FUNCTION "node_function"
#define ENB_CONFIG_STRING_CC_NODE_TIMING "node_timing"
#define ENB_CONFIG_STRING_FRAME_TYPE "frame_type"
#define ENB_CONFIG_STRING_TDD_CONFIG "tdd_config"
#define ENB_CONFIG_STRING_TDD_CONFIG_S "tdd_config_s"
...
...
@@ -316,6 +319,10 @@ void enb_config_display(void)
}
for
(
j
=
0
;
j
<
enb_properties
.
properties
[
i
]
->
nb_cc
;
j
++
)
{
// CC_ID node function/timing
printf
(
"
\t
node_function for CC %d:
\t
%d:
\n
"
,
j
,
enb_properties
.
properties
[
i
]
->
cc_node_function
[
j
]);
printf
(
"
\t
node_timing for CC %d:
\t
%d:
\n
"
,
j
,
enb_properties
.
properties
[
i
]
->
cc_node_timing
[
j
]);
printf
(
"
\t
eutra band for CC %d:
\t
%"
PRId16
":
\n
"
,
j
,
enb_properties
.
properties
[
i
]
->
eutra_band
[
j
]);
printf
(
"
\t
downlink freq for CC %d:
\t
%"
PRIu64
":
\n
"
,
j
,
enb_properties
.
properties
[
i
]
->
downlink_frequency
[
j
]);
printf
(
"
\t
uplink freq offset for CC %d:
\t
%"
PRId32
":
\n
"
,
j
,
enb_properties
.
properties
[
i
]
->
uplink_frequency_offset
[
j
]);
...
...
@@ -324,7 +331,7 @@ void enb_config_display(void)
printf
(
"
\t
N_RB_DL for CC %d:
\t
%"
PRId16
":
\n
"
,
j
,
enb_properties
.
properties
[
i
]
->
N_RB_DL
[
j
]);
printf
(
"
\t
nb_antennas_tx for CC %d:
\t
%d:
\n
"
,
j
,
enb_properties
.
properties
[
i
]
->
nb_antennas_tx
[
j
]);
printf
(
"
\t
nb_antennas_rx for CC %d:
\t
%d:
\n
"
,
j
,
enb_properties
.
properties
[
i
]
->
nb_antennas_rx
[
j
]);
// RACH-Config
printf
(
"
\t
rach_numberOfRA_Preambles for CC %d:
\t
%ld:
\n
"
,
j
,
enb_properties
.
properties
[
i
]
->
rach_numberOfRA_Preambles
[
j
]);
printf
(
"
\t
rach_preamblesGroupAConfig for CC %d:
\t
%d:
\n
"
,
j
,
enb_properties
.
properties
[
i
]
->
rach_preamblesGroupAConfig
[
j
]);
...
...
@@ -409,17 +416,17 @@ void enb_config_display(void)
printf
(
"
\t
ue_TimersAndConstants_t310 for CC %d:
\t
%ld:
\n
"
,
j
,
enb_properties
.
properties
[
i
]
->
ue_TimersAndConstants_t310
[
j
]);
printf
(
"
\t
ue_TimersAndConstants_n310 for CC %d:
\t
%ld:
\n
"
,
j
,
enb_properties
.
properties
[
i
]
->
ue_TimersAndConstants_n310
[
j
]);
printf
(
"
\t
ue_TimersAndConstants_t311 for CC %d:
\t
%ld:
\n
"
,
j
,
enb_properties
.
properties
[
i
]
->
ue_TimersAndConstants_t311
[
j
]);
printf
(
"
\t
ue_TimersAndConstants_n311 for CC %d:
\t
%ld:
\n
"
,
j
,
enb_properties
.
properties
[
i
]
->
ue_TimersAndConstants_n311
[
j
]);
printf
(
"
\t
ue_TimersAndConstants_n311 for CC %d:
\t
%ld:
\n
\n
"
,
j
,
enb_properties
.
properties
[
i
]
->
ue_TimersAndConstants_n311
[
j
]);
}
for
(
j
=
0
;
j
<
enb_properties
.
properties
[
i
]
->
num_otg_elements
;
j
++
)
{
printf
(
"
\
n\
t
OTG Destination UE ID:
\t
%"
PRIu16
,
enb_properties
.
properties
[
i
]
->
otg_ue_id
[
j
]);
printf
(
"
\t
OTG Destination UE ID:
\t
%"
PRIu16
,
enb_properties
.
properties
[
i
]
->
otg_ue_id
[
j
]);
printf
(
"
\n\t
OTG App Type:
\t
%"
PRIu8
,
enb_properties
.
properties
[
i
]
->
otg_app_type
[
j
]);
printf
(
"
\n\t
OTG Background Traffic:
\t
%s
\n
"
,
(
enb_properties
.
properties
[
i
]
->
otg_bg_traffic
[
j
]
==
1
)
?
"Enabled"
:
"Disabled"
);
}
printf
(
"
\
n\
t
Global log level:
\t
%s
\n
"
,
map_int_to_str
(
log_level_names
,
enb_properties
.
properties
[
i
]
->
glog_level
));
printf
(
"
\t
Global log level:
\t
%s
\n
"
,
map_int_to_str
(
log_level_names
,
enb_properties
.
properties
[
i
]
->
glog_level
));
printf
(
"
\t
HW log level:
\t
%s
\n
"
,
map_int_to_str
(
log_level_names
,
enb_properties
.
properties
[
i
]
->
hw_log_level
));
printf
(
"
\t
PHY log level:
\t
%s
\n
"
,
map_int_to_str
(
log_level_names
,
enb_properties
.
properties
[
i
]
->
phy_log_level
));
printf
(
"
\t
MAC log level:
\t
%s
\n
"
,
map_int_to_str
(
log_level_names
,
enb_properties
.
properties
[
i
]
->
mac_log_level
));
...
...
@@ -511,6 +518,10 @@ const Enb_properties_array_t *enb_config_init(char* lib_config_file_name_pP)
int
j
=
0
;
int
parse_errors
=
0
;
libconfig_int
enb_id
=
0
;
const
char
*
cc_node_function
=
NULL
;
const
char
*
cc_node_timing
=
NULL
;
const
char
*
cell_type
=
NULL
;
const
char
*
tac
=
0
;
const
char
*
enb_name
=
NULL
;
...
...
@@ -787,7 +798,9 @@ const Enb_properties_array_t *enb_config_init(char* lib_config_file_name_pP)
component_carrier
=
config_setting_get_elem
(
setting_component_carriers
,
j
);
//printf("Component carrier %d\n",component_carrier);
if
(
!
(
config_setting_lookup_string
(
component_carrier
,
ENB_CONFIG_STRING_FRAME_TYPE
,
&
frame_type
)
if
(
!
(
config_setting_lookup_string
(
component_carrier
,
ENB_CONFIG_STRING_CC_NODE_FUNCTION
,
&
cc_node_function
)
&&
config_setting_lookup_string
(
component_carrier
,
ENB_CONFIG_STRING_CC_NODE_TIMING
,
&
cc_node_timing
)
&&
config_setting_lookup_string
(
component_carrier
,
ENB_CONFIG_STRING_FRAME_TYPE
,
&
frame_type
)
&&
config_setting_lookup_int
(
component_carrier
,
ENB_CONFIG_STRING_TDD_CONFIG
,
&
tdd_config
)
&&
config_setting_lookup_int
(
component_carrier
,
ENB_CONFIG_STRING_TDD_CONFIG_S
,
&
tdd_config_s
)
&&
config_setting_lookup_string
(
component_carrier
,
ENB_CONFIG_STRING_PREFIX_TYPE
,
&
prefix_type
)
...
...
@@ -865,6 +878,32 @@ const Enb_properties_array_t *enb_config_init(char* lib_config_file_name_pP)
enb_properties
.
properties
[
enb_properties_index
]
->
nb_cc
++
;
if
(
strcmp
(
cc_node_function
,
"eNodeB_3GPP"
)
==
0
)
{
enb_properties
.
properties
[
enb_properties_index
]
->
cc_node_function
[
j
]
=
eNodeB_3GPP
;
}
else
if
(
strcmp
(
cc_node_function
,
"eNodeB_3GPP_BBU"
)
==
0
)
{
enb_properties
.
properties
[
enb_properties_index
]
->
cc_node_function
[
j
]
=
eNodeB_3GPP_BBU
;
}
else
if
(
strcmp
(
cc_node_function
,
"NGFI_RCC_IF4"
)
==
0
)
{
enb_properties
.
properties
[
enb_properties_index
]
->
cc_node_function
[
j
]
=
NGFI_RCC_IF4
;
}
else
if
(
strcmp
(
cc_node_function
,
"NGFI_RRU_IF4"
)
==
0
)
{
enb_properties
.
properties
[
enb_properties_index
]
->
cc_node_function
[
j
]
=
NGFI_RRU_IF4
;
}
else
if
(
strcmp
(
cc_node_function
,
"NGFI_RRU_IF5"
)
==
0
)
{
enb_properties
.
properties
[
enb_properties_index
]
->
cc_node_function
[
j
]
=
NGFI_RRU_IF5
;
}
else
{
AssertError
(
0
,
parse_errors
++
,
"Failed to parse eNB configuration file %s, enb %d unknown value
\"
%s
\"
for node_function choice: eNodeB_3GPP or eNodeB_3GPP_BBU or NGFI_IF4_RCC or NGFI_IF4_RRU or NGFI_IF5_RRU !
\n
"
,
lib_config_file_name_pP
,
i
,
cc_node_function
);
}
if
(
strcmp
(
cc_node_timing
,
"SYNCH_TO_DEVICE"
)
==
0
)
{
enb_properties
.
properties
[
enb_properties_index
]
->
cc_node_timing
[
j
]
=
synch_to_device
;
}
else
if
(
strcmp
(
cc_node_timing
,
"SYNCH_TO_OTHER"
)
==
0
)
{
enb_properties
.
properties
[
enb_properties_index
]
->
cc_node_timing
[
j
]
=
synch_to_other
;
}
else
{
AssertError
(
0
,
parse_errors
++
,
"Failed to parse eNB configuration file %s, enb %d unknown value
\"
%s
\"
for node_function choice: SYNCH_TO_DEVICE or SYNCH_TO_OTHER !
\n
"
,
lib_config_file_name_pP
,
i
,
cc_node_timing
);
}
enb_properties
.
properties
[
enb_properties_index
]
->
tdd_config
[
j
]
=
tdd_config
;
AssertError
(
tdd_config
<=
TDD_Config__subframeAssignment_sa6
,
parse_errors
++
,
"Failed to parse eNB configuration file %s, enb %d illegal tdd_config %d (should be 0-%d)!"
,
...
...
@@ -888,7 +927,7 @@ const Enb_properties_array_t *enb_config_init(char* lib_config_file_name_pP)
"Failed to parse eNB configuration file %s, enb %d unknown value
\"
%s
\"
for prefix_type choice: NORMAL or EXTENDED !
\n
"
,
lib_config_file_name_pP
,
i
,
prefix_type
);
}
enb_properties
.
properties
[
enb_properties_index
]
->
eutra_band
[
j
]
=
eutra_band
;
enb_properties
.
properties
[
enb_properties_index
]
->
downlink_frequency
[
j
]
=
(
uint32_t
)
downlink_frequency
;
enb_properties
.
properties
[
enb_properties_index
]
->
uplink_frequency_offset
[
j
]
=
(
unsigned
int
)
uplink_frequency_offset
;
...
...
This diff is collapsed.
Click to expand it.
openair2/ENB_APP/enb_config.h
View file @
bbe47d6f
...
...
@@ -45,6 +45,7 @@
#include "platform_types.h"
#include "platform_constants.h"
#include "PHY/impl_defs_lte.h"
#include "PHY/defs.h"
#include "s1ap_messages_types.h"
#ifdef CMAKER
#include "SystemInformationBlockType2.h"
...
...
@@ -129,6 +130,8 @@ typedef struct Enb_properties_s {
/* Physical parameters */
int16_t
nb_cc
;
eNB_func_t
cc_node_function
[
1
+
MAX_NUM_CCs
];
eNB_timing_t
cc_node_timing
[
1
+
MAX_NUM_CCs
];
lte_frame_type_t
frame_type
[
1
+
MAX_NUM_CCs
];
uint8_t
tdd_config
[
1
+
MAX_NUM_CCs
];
uint8_t
tdd_config_s
[
1
+
MAX_NUM_CCs
];
...
...
@@ -202,7 +205,6 @@ typedef struct Enb_properties_s {
long
ue_TimersAndConstants_n310
[
1
+
MAX_NUM_CCs
];
long
ue_TimersAndConstants_n311
[
1
+
MAX_NUM_CCs
];
long
srb1_timer_poll_retransmit
;
long
srb1_timer_reordering
;
long
srb1_timer_status_prohibit
;
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment