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
zzha zzha
OpenXG-RAN
Commits
6a120cf2
Commit
6a120cf2
authored
Jul 22, 2016
by
Sandeep Kumar
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fixes for reading cc_synch
parent
41f04233
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
27 additions
and
22 deletions
+27
-22
openair1/PHY/defs.h
openair1/PHY/defs.h
+0
-8
openair2/ENB_APP/enb_config.c
openair2/ENB_APP/enb_config.c
+26
-14
openair2/ENB_APP/enb_config.h
openair2/ENB_APP/enb_config.h
+1
-0
No files found.
openair1/PHY/defs.h
View file @
6a120cf2
...
@@ -170,7 +170,6 @@ typedef enum {
...
@@ -170,7 +170,6 @@ typedef enum {
synch_to_other
// synch to another source (timer, other CC_id)
synch_to_other
// synch to another source (timer, other CC_id)
}
eNB_timing_t
;
}
eNB_timing_t
;
typedef
struct
UE_SCAN_INFO_s
{
typedef
struct
UE_SCAN_INFO_s
{
/// 10 best amplitudes (linear) for each pss signals
/// 10 best amplitudes (linear) for each pss signals
int32_t
amp
[
3
][
10
];
int32_t
amp
[
3
][
10
];
...
@@ -800,11 +799,4 @@ typedef struct {
...
@@ -800,11 +799,4 @@ typedef struct {
#include "SIMULATION/ETH_TRANSPORT/defs.h"
#include "SIMULATION/ETH_TRANSPORT/defs.h"
#endif //OPENAIR_LTE
#endif //OPENAIR_LTE
#endif // __PHY_DEFS__H__
#endif // __PHY_DEFS__H__
openair2/ENB_APP/enb_config.c
View file @
6a120cf2
...
@@ -74,7 +74,8 @@
...
@@ -74,7 +74,8 @@
#define ENB_CONFIG_STRING_COMPONENT_CARRIERS "component_carriers"
#define ENB_CONFIG_STRING_COMPONENT_CARRIERS "component_carriers"
#define ENB_CONFIG_STRING_CC_NODE_FUNCTION "node_function"
#define ENB_CONFIG_STRING_CC_NODE_FUNCTION "node_function"
#define ENB_CONFIG_STRING_CC_NODE_TIMING "node_timing"
#define ENB_CONFIG_STRING_CC_NODE_TIMING "node_timing"
#define ENB_CONFIG_STRING_CC_NODE_SYNCH_REF "node_synch_ref"
#define ENB_CONFIG_STRING_FRAME_TYPE "frame_type"
#define ENB_CONFIG_STRING_FRAME_TYPE "frame_type"
#define ENB_CONFIG_STRING_TDD_CONFIG "tdd_config"
#define ENB_CONFIG_STRING_TDD_CONFIG "tdd_config"
...
@@ -303,25 +304,26 @@ void enb_config_display(void)
...
@@ -303,25 +304,26 @@ void enb_config_display(void)
printf
(
"
\t
iq_txshift :
\t
%d:
\n
"
,
enb_properties
.
properties
[
i
]
->
rrh_gw_config
[
j
].
iq_txshift
);
printf
(
"
\t
iq_txshift :
\t
%d:
\n
"
,
enb_properties
.
properties
[
i
]
->
rrh_gw_config
[
j
].
iq_txshift
);
printf
(
"
\t
transport :
\t
%s Ethernet:
\n
"
,(
enb_properties
.
properties
[
i
]
->
rrh_gw_config
[
j
].
raw
==
1
)
?
"RAW"
:
(
enb_properties
.
properties
[
i
]
->
rrh_gw_config
[
j
].
rawif4
==
1
)
?
"RAW_IF4"
:
(
enb_properties
.
properties
[
i
]
->
rrh_gw_config
[
j
].
udpif4
==
1
)
?
"UDP_IF4"
:
(
enb_properties
.
properties
[
i
]
->
rrh_gw_config
[
j
].
rawif5_mobipass
==
1
)
?
"RAW_IF5_MOBIPASS"
:
"UDP"
);
printf
(
"
\t
transport :
\t
%s Ethernet:
\n
"
,(
enb_properties
.
properties
[
i
]
->
rrh_gw_config
[
j
].
raw
==
1
)
?
"RAW"
:
(
enb_properties
.
properties
[
i
]
->
rrh_gw_config
[
j
].
rawif4
==
1
)
?
"RAW_IF4"
:
(
enb_properties
.
properties
[
i
]
->
rrh_gw_config
[
j
].
udpif4
==
1
)
?
"UDP_IF4"
:
(
enb_properties
.
properties
[
i
]
->
rrh_gw_config
[
j
].
rawif5_mobipass
==
1
)
?
"RAW_IF5_MOBIPASS"
:
"UDP"
);
if
(
enb_properties
.
properties
[
i
]
->
rrh_gw_config
[
j
].
exmimo
==
1
)
{
if
(
enb_properties
.
properties
[
i
]
->
rrh_gw_config
[
j
].
exmimo
==
1
)
{
printf
(
"
\t
RF target :
\t
EXMIMO:
\n
\n
"
);
printf
(
"
\t
RF target :
\t
EXMIMO:
\n
"
);
}
else
if
(
enb_properties
.
properties
[
i
]
->
rrh_gw_config
[
j
].
usrp_b200
==
1
)
{
}
else
if
(
enb_properties
.
properties
[
i
]
->
rrh_gw_config
[
j
].
usrp_b200
==
1
)
{
printf
(
"
\t
RF target :
\t
USRP_B200:
\n
\n
"
);
printf
(
"
\t
RF target :
\t
USRP_B200:
\n
"
);
}
else
if
(
enb_properties
.
properties
[
i
]
->
rrh_gw_config
[
j
].
usrp_x300
==
1
)
{
}
else
if
(
enb_properties
.
properties
[
i
]
->
rrh_gw_config
[
j
].
usrp_x300
==
1
)
{
printf
(
"
\t
RF target :
\t
USRP_X300:
\n
\n
"
);
printf
(
"
\t
RF target :
\t
USRP_X300:
\n
"
);
}
else
if
(
enb_properties
.
properties
[
i
]
->
rrh_gw_config
[
j
].
bladerf
==
1
)
{
}
else
if
(
enb_properties
.
properties
[
i
]
->
rrh_gw_config
[
j
].
bladerf
==
1
)
{
printf
(
"
\t
RF target :
\t
BLADERF:
\n
\n
"
);
printf
(
"
\t
RF target :
\t
BLADERF:
\n
"
);
}
else
if
(
enb_properties
.
properties
[
i
]
->
rrh_gw_config
[
j
].
lmssdr
==
1
)
{
}
else
if
(
enb_properties
.
properties
[
i
]
->
rrh_gw_config
[
j
].
lmssdr
==
1
)
{
printf
(
"
\t
RF target :
\t
LMSSDR:
\n
\n
"
);
printf
(
"
\t
RF target :
\t
LMSSDR:
\n
"
);
}
else
{
}
else
{
printf
(
"
\t
RF target :
\t
NONE:
\n
\n
"
);
printf
(
"
\t
RF target :
\t
NONE:
\n
"
);
}
}
}
}
}
}
for
(
j
=
0
;
j
<
enb_properties
.
properties
[
i
]
->
nb_cc
;
j
++
)
{
for
(
j
=
0
;
j
<
enb_properties
.
properties
[
i
]
->
nb_cc
;
j
++
)
{
// CC_ID node function/timing
// 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
(
"
\n\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
node_timing for CC %d:
\t
%d:
\n
"
,
j
,
enb_properties
.
properties
[
i
]
->
cc_node_timing
[
j
]);
printf
(
"
\t
node_synch_ref for CC %d:
\t
%d:
\n
"
,
j
,
enb_properties
.
properties
[
i
]
->
cc_node_synch_ref
[
j
]);
printf
(
"
\t
eutra band for CC %d:
\t
%"
PRId16
":
\n
"
,
j
,
enb_properties
.
properties
[
i
]
->
eutra_band
[
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
downlink freq for CC %d:
\t
%"
PRIu64
":
\n
"
,
j
,
enb_properties
.
properties
[
i
]
->
downlink_frequency
[
j
]);
...
@@ -416,17 +418,17 @@ void enb_config_display(void)
...
@@ -416,17 +418,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_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_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_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
\n
"
,
j
,
enb_properties
.
properties
[
i
]
->
ue_TimersAndConstants_n311
[
j
]);
printf
(
"
\t
ue_TimersAndConstants_n311 for CC %d:
\t
%ld:
\n
"
,
j
,
enb_properties
.
properties
[
i
]
->
ue_TimersAndConstants_n311
[
j
]);
}
}
for
(
j
=
0
;
j
<
enb_properties
.
properties
[
i
]
->
num_otg_elements
;
j
++
)
{
for
(
j
=
0
;
j
<
enb_properties
.
properties
[
i
]
->
num_otg_elements
;
j
++
)
{
printf
(
"
\t
OTG Destination UE ID:
\t
%"
PRIu16
,
enb_properties
.
properties
[
i
]
->
otg_ue_id
[
j
]);
printf
(
"
\
n\
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 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
OTG Background Traffic:
\t
%s
\n
"
,
(
enb_properties
.
properties
[
i
]
->
otg_bg_traffic
[
j
]
==
1
)
?
"Enabled"
:
"Disabled"
);
}
}
printf
(
"
\t
Global log level:
\t
%s
\n
"
,
map_int_to_str
(
log_level_names
,
enb_properties
.
properties
[
i
]
->
glog_level
));
printf
(
"
\
n\
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
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
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
));
printf
(
"
\t
MAC log level:
\t
%s
\n
"
,
map_int_to_str
(
log_level_names
,
enb_properties
.
properties
[
i
]
->
mac_log_level
));
...
@@ -521,6 +523,7 @@ const Enb_properties_array_t *enb_config_init(char* lib_config_file_name_pP)
...
@@ -521,6 +523,7 @@ const Enb_properties_array_t *enb_config_init(char* lib_config_file_name_pP)
const
char
*
cc_node_function
=
NULL
;
const
char
*
cc_node_function
=
NULL
;
const
char
*
cc_node_timing
=
NULL
;
const
char
*
cc_node_timing
=
NULL
;
int
cc_node_synch_ref
=
0
;
const
char
*
cell_type
=
NULL
;
const
char
*
cell_type
=
NULL
;
const
char
*
tac
=
0
;
const
char
*
tac
=
0
;
...
@@ -800,6 +803,7 @@ const Enb_properties_array_t *enb_config_init(char* lib_config_file_name_pP)
...
@@ -800,6 +803,7 @@ const Enb_properties_array_t *enb_config_init(char* lib_config_file_name_pP)
//printf("Component carrier %d\n",component_carrier);
//printf("Component carrier %d\n",component_carrier);
if
(
!
(
config_setting_lookup_string
(
component_carrier
,
ENB_CONFIG_STRING_CC_NODE_FUNCTION
,
&
cc_node_function
)
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_CC_NODE_TIMING
,
&
cc_node_timing
)
&&
config_setting_lookup_int
(
component_carrier
,
ENB_CONFIG_STRING_CC_NODE_SYNCH_REF
,
&
cc_node_synch_ref
)
&&
config_setting_lookup_string
(
component_carrier
,
ENB_CONFIG_STRING_FRAME_TYPE
,
&
frame_type
)
&&
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
,
&
tdd_config
)
&&
config_setting_lookup_int
(
component_carrier
,
ENB_CONFIG_STRING_TDD_CONFIG_S
,
&
tdd_config_s
)
&&
config_setting_lookup_int
(
component_carrier
,
ENB_CONFIG_STRING_TDD_CONFIG_S
,
&
tdd_config_s
)
...
@@ -894,9 +898,9 @@ const Enb_properties_array_t *enb_config_init(char* lib_config_file_name_pP)
...
@@ -894,9 +898,9 @@ const Enb_properties_array_t *enb_config_init(char* lib_config_file_name_pP)
lib_config_file_name_pP
,
i
,
cc_node_function
);
lib_config_file_name_pP
,
i
,
cc_node_function
);
}
}
if
(
strcmp
(
cc_node_timing
,
"
SYNCH_TO_DEVICE
"
)
==
0
)
{
if
(
strcmp
(
cc_node_timing
,
"
synch_to_ext_device
"
)
==
0
)
{
enb_properties
.
properties
[
enb_properties_index
]
->
cc_node_timing
[
j
]
=
synch_to_ext_device
;
enb_properties
.
properties
[
enb_properties_index
]
->
cc_node_timing
[
j
]
=
synch_to_ext_device
;
}
else
if
(
strcmp
(
cc_node_timing
,
"
SYNCH_TO_OTHER
"
)
==
0
)
{
}
else
if
(
strcmp
(
cc_node_timing
,
"
synch_to_other
"
)
==
0
)
{
enb_properties
.
properties
[
enb_properties_index
]
->
cc_node_timing
[
j
]
=
synch_to_other
;
enb_properties
.
properties
[
enb_properties_index
]
->
cc_node_timing
[
j
]
=
synch_to_other
;
}
else
{
}
else
{
AssertError
(
0
,
parse_errors
++
,
AssertError
(
0
,
parse_errors
++
,
...
@@ -904,6 +908,14 @@ const Enb_properties_array_t *enb_config_init(char* lib_config_file_name_pP)
...
@@ -904,6 +908,14 @@ const Enb_properties_array_t *enb_config_init(char* lib_config_file_name_pP)
lib_config_file_name_pP
,
i
,
cc_node_timing
);
lib_config_file_name_pP
,
i
,
cc_node_timing
);
}
}
if
((
cc_node_synch_ref
>=
-
1
)
&&
(
cc_node_synch_ref
<
num_component_carriers
))
{
enb_properties
.
properties
[
enb_properties_index
]
->
cc_node_synch_ref
[
j
]
=
(
int16_t
)
cc_node_synch_ref
;
}
else
{
AssertError
(
0
,
parse_errors
++
,
"Failed to parse eNB configuration file %s, enb %d unknown value
\"
%d
\"
for node_synch_ref choice: valid CC_id or -1 !
\n
"
,
lib_config_file_name_pP
,
i
,
cc_node_synch_ref
);
}
enb_properties
.
properties
[
enb_properties_index
]
->
tdd_config
[
j
]
=
tdd_config
;
enb_properties
.
properties
[
enb_properties_index
]
->
tdd_config
[
j
]
=
tdd_config
;
AssertError
(
tdd_config
<=
TDD_Config__subframeAssignment_sa6
,
parse_errors
++
,
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)!"
,
"Failed to parse eNB configuration file %s, enb %d illegal tdd_config %d (should be 0-%d)!"
,
...
...
openair2/ENB_APP/enb_config.h
View file @
6a120cf2
...
@@ -132,6 +132,7 @@ typedef struct Enb_properties_s {
...
@@ -132,6 +132,7 @@ typedef struct Enb_properties_s {
int16_t
nb_cc
;
int16_t
nb_cc
;
eNB_func_t
cc_node_function
[
1
+
MAX_NUM_CCs
];
eNB_func_t
cc_node_function
[
1
+
MAX_NUM_CCs
];
eNB_timing_t
cc_node_timing
[
1
+
MAX_NUM_CCs
];
eNB_timing_t
cc_node_timing
[
1
+
MAX_NUM_CCs
];
int16_t
cc_node_synch_ref
[
1
+
MAX_NUM_CCs
];
lte_frame_type_t
frame_type
[
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
[
1
+
MAX_NUM_CCs
];
uint8_t
tdd_config_s
[
1
+
MAX_NUM_CCs
];
uint8_t
tdd_config_s
[
1
+
MAX_NUM_CCs
];
...
...
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