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
alex037yang
OpenXG-RAN
Commits
d6b6cb91
Commit
d6b6cb91
authored
Jun 28, 2017
by
Michele Paffetti
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
commit before merge with nick
parent
32aa59e0
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
126 additions
and
98 deletions
+126
-98
openair1/PHY/LTE_TRANSPORT/dci_tools_nb_iot.c
openair1/PHY/LTE_TRANSPORT/dci_tools_nb_iot.c
+1
-1
openair1/SCHED/IF_Module_L1_primitives_nb_iot.c
openair1/SCHED/IF_Module_L1_primitives_nb_iot.c
+7
-7
openair2/PHY_INTERFACE/IF_Module_nb_iot.h
openair2/PHY_INTERFACE/IF_Module_nb_iot.h
+14
-8
openair2/RRC/LITE/L2_interface_nb_iot.c
openair2/RRC/LITE/L2_interface_nb_iot.c
+101
-81
openair2/RRC/LITE/vars_nb_iot.c
openair2/RRC/LITE/vars_nb_iot.c
+1
-1
targets/SIMU/USER/init_lte.c
targets/SIMU/USER/init_lte.c
+2
-0
No files found.
openair1/PHY/LTE_TRANSPORT/dci_tools_nb_iot.c
View file @
d6b6cb91
openair1/SCHED/IF_Module_L1_primitives_nb_iot.c
View file @
d6b6cb91
...
@@ -16,10 +16,10 @@ void PHY_config_req(PHY_Config_t* config_INFO){
...
@@ -16,10 +16,10 @@ void PHY_config_req(PHY_Config_t* config_INFO){
NB_phy_config_mib_eNB
(
config_INFO
->
mod_id
,
NB_phy_config_mib_eNB
(
config_INFO
->
mod_id
,
config_INFO
->
CC_id
,
config_INFO
->
CC_id
,
config_INFO
->
frequency_band_indicator
,
config_INFO
->
frequency_band_indicator
,
config_INFO
->
sch_config
.
physical_cell_id
.
value
,
config_INFO
->
cfg
->
sch_config
.
physical_cell_id
.
value
,
config_INFO
->
subframe_config
.
dl_cyclic_prefix_type
.
value
,
config_INFO
->
cfg
->
subframe_config
.
dl_cyclic_prefix_type
.
value
,
config_INFO
->
subframe_config
.
ul_cyclic_prefix_type
.
value
,
config_INFO
->
cfg
->
subframe_config
.
ul_cyclic_prefix_type
.
value
,
config_INFO
->
rf_config
.
tx_antenna_ports
.
value
,
config_INFO
->
cfg
->
rf_config
.
tx_antenna_ports
.
value
,
config_INFO
->
dl_CarrierFreq
,
config_INFO
->
dl_CarrierFreq
,
config_INFO
->
ul_CarrierFreq
);
config_INFO
->
ul_CarrierFreq
);
}
}
...
@@ -29,9 +29,9 @@ void PHY_config_req(PHY_Config_t* config_INFO){
...
@@ -29,9 +29,9 @@ void PHY_config_req(PHY_Config_t* config_INFO){
//Common Configuration included in SIB2-NB
//Common Configuration included in SIB2-NB
NB_phy_config_sib2_eNB
(
config_INFO
->
mod_id
,
NB_phy_config_sib2_eNB
(
config_INFO
->
mod_id
,
config_INFO
->
CC_id
,
config_INFO
->
CC_id
,
&
config_INFO
->
nb_iot_config
,
// FIXME to be evaluated is should be passed a pointer
&
config_INFO
->
cfg
->
nb_iot_config
,
// FIXME to be evaluated is should be passed a pointer
&
config_INFO
->
rf_config
,
&
config_INFO
->
cfg
->
rf_config
,
&
config_INFO
->
uplink_reference_signal_config
,
&
config_INFO
->
cfg
->
uplink_reference_signal_config
,
&
config_INFO
->
extra_phy_parms
&
config_INFO
->
extra_phy_parms
);
);
}
}
...
...
openair2/PHY_INTERFACE/IF_Module_nb_iot.h
View file @
d6b6cb91
...
@@ -77,14 +77,20 @@ typedef struct{
...
@@ -77,14 +77,20 @@ typedef struct{
uint32_t
ul_CarrierFreq
;
uint32_t
ul_CarrierFreq
;
/*FAPI style config. parameters*/
/*FAPI style config. parameters
*
nfapi_uplink_reference_signal_config_t
uplink_reference_signal_config
;
* useful config message contents:
nfapi_subframe_config_t
subframe_config
;
* -nfapi_uplink_reference_signal_config_t uplink_reference_signal_config
nfapi_rf_config_t
rf_config
;
* -nfapi_subframe_config_t subframe_config;
nfapi_sch_config_t
sch_config
;
* -nfapi_rf_config_t rf_config;
nfapi_nb_iot_config_t
nb_iot_config
;
* -nfapi_sch_config_t sch_config;
nfapi_l23_config_t
l23_config
;
* -nfapi_nb_iot_config_t nb_iot_config;
* -nfapi_l23_config_t l23_config;
*
* */
//XXX where allocate memory??
nfapi_config_request_t
*
cfg
;
/*Dedicated configuration -->not supported by FAPI
/*Dedicated configuration -->not supported by FAPI
* In OAI at least are needed when we manage the phy_procedures_eNB_TX in which we call the phy_config_dedicated_eNB_step2
* In OAI at least are needed when we manage the phy_procedures_eNB_TX in which we call the phy_config_dedicated_eNB_step2
...
...
openair2/RRC/LITE/L2_interface_nb_iot.c
View file @
d6b6cb91
...
@@ -125,6 +125,11 @@ extern void (*rlc_rrc_data_conf)(
...
@@ -125,6 +125,11 @@ extern void (*rlc_rrc_data_conf)(
/*---------------------------------RRC-MAC-----------------------------------*/
/*---------------------------------RRC-MAC-----------------------------------*/
/*
* This function is used to configured MAC and PHY layer. In the latter case, we first do a mapping of OAI params to the FAPI-like once
* by filling the PHY_COnfig structure
*/
//defined in MAC/config.c
//defined in MAC/config.c
//FIXME: this function has no implication in terms of logical channel configuration for MAC
//FIXME: this function has no implication in terms of logical channel configuration for MAC
int
NB_rrc_mac_config_req_eNB
(
int
NB_rrc_mac_config_req_eNB
(
...
@@ -155,7 +160,7 @@ int NB_rrc_mac_config_req_eNB(
...
@@ -155,7 +160,7 @@ int NB_rrc_mac_config_req_eNB(
)
)
{
{
/*to review with the Raymond implementation*/
/*
XXX
to review with the Raymond implementation*/
int
UE_id
=
-
1
;
int
UE_id
=
-
1
;
...
@@ -173,7 +178,9 @@ int NB_rrc_mac_config_req_eNB(
...
@@ -173,7 +178,9 @@ int NB_rrc_mac_config_req_eNB(
config_INFO
->
CC_id
=
CC_idP
;
config_INFO
->
CC_id
=
CC_idP
;
if
(
mib_NB
!=
NULL
)
{
if
(
mib_NB
!=
NULL
)
{
//if(eNB_mac_inst == NULL) l2_init_eNB(); //TODO MP: to be included in the MAC/main.c
//if(eNB_mac_inst == NULL) l2_init_eNB(); //TODO MP: to be included in the MAC/main.c
...
@@ -205,14 +212,18 @@ int NB_rrc_mac_config_req_eNB(
...
@@ -205,14 +212,18 @@ int NB_rrc_mac_config_req_eNB(
* 2)Call the PHY_config_req for trigger the NB_phy_config_mib_eNB()
* 2)Call the PHY_config_req for trigger the NB_phy_config_mib_eNB()
*/
*/
//XXX where rymond allocate memory for cfg??
if
(
config_INFO
->
cfg
==
NULL
)
LOG_E
(
MAC
,
"NB_rrc_mac_config_req_eNB: trying to configure PHY but no config.request message in config_INFO is allocated
\n
"
);
config_INFO
->
get_MIB
=
1
;
config_INFO
->
get_MIB
=
1
;
config_INFO
->
rnti
=
rntiP
;
config_INFO
->
rnti
=
rntiP
;
config_INFO
->
frequency_band_indicator
=
(
uint8_t
)
eutra_band
;
// guarda raimon
config_INFO
->
frequency_band_indicator
=
(
uint8_t
)
eutra_band
;
// guarda raimon
config_INFO
->
sch_config
.
physical_cell_id
.
value
=
physCellId
;
config_INFO
->
cfg
->
sch_config
.
physical_cell_id
.
value
=
physCellId
;
config_INFO
->
subframe_config
.
dl_cyclic_prefix_type
.
value
=
Ncp
;
config_INFO
->
cfg
->
subframe_config
.
dl_cyclic_prefix_type
.
value
=
Ncp
;
config_INFO
->
subframe_config
.
ul_cyclic_prefix_type
.
value
=
Ncp_UL
;
config_INFO
->
cfg
->
subframe_config
.
ul_cyclic_prefix_type
.
value
=
Ncp_UL
;
config_INFO
->
rf_config
.
tx_antenna_ports
.
value
=
p_eNB
;
config_INFO
->
cfg
->
rf_config
.
tx_antenna_ports
.
value
=
p_eNB
;
config_INFO
->
rf_config
.
rx_antenna_ports
.
value
=
p_rx_eNB
;
config_INFO
->
cfg
->
rf_config
.
rx_antenna_ports
.
value
=
p_rx_eNB
;
config_INFO
->
dl_CarrierFreq
=
dl_CarrierFreq
;
//guarda raymond is in rf_config
config_INFO
->
dl_CarrierFreq
=
dl_CarrierFreq
;
//guarda raymond is in rf_config
config_INFO
->
ul_CarrierFreq
=
ul_CarrierFreq
;
//guarda raymond
config_INFO
->
ul_CarrierFreq
=
ul_CarrierFreq
;
//guarda raymond
...
@@ -221,44 +232,44 @@ int NB_rrc_mac_config_req_eNB(
...
@@ -221,44 +232,44 @@ int NB_rrc_mac_config_req_eNB(
{
{
//FAPI specs pag 135
//FAPI specs pag 135
case
MasterInformationBlock_NB__operationModeInfo_r13_PR_inband_SamePCI_r13
:
case
MasterInformationBlock_NB__operationModeInfo_r13_PR_inband_SamePCI_r13
:
config_INFO
->
nb_iot_config
.
operating_mode
.
value
=
0
;
config_INFO
->
cfg
->
nb_iot_config
.
operating_mode
.
value
=
0
;
config_INFO
->
nb_iot_config
.
prb_index
.
value
=
mib_NB
->
message
.
operationModeInfo_r13
.
choice
.
inband_SamePCI_r13
.
eutra_CRS_SequenceInfo_r13
;
//see TS 36.213 ch 16.0
config_INFO
->
cfg
->
nb_iot_config
.
prb_index
.
value
=
mib_NB
->
message
.
operationModeInfo_r13
.
choice
.
inband_SamePCI_r13
.
eutra_CRS_SequenceInfo_r13
;
//see TS 36.213 ch 16.0
config_INFO
->
nb_iot_config
.
assumed_crs_aps
.
value
=
-
1
;
//is not defined so we put a negative value
config_INFO
->
cfg
->
nb_iot_config
.
assumed_crs_aps
.
value
=
-
1
;
//is not defined so we put a negative value
if
(
eutraControlRegionSize
==
NULL
)
if
(
eutraControlRegionSize
==
NULL
)
LOG_E
(
RRC
,
"NB_rrc_mac_config_req_eNB: operation mode is in-band but eutraControlRegionSize is not defined"
);
LOG_E
(
RRC
,
"NB_rrc_mac_config_req_eNB: operation mode is in-band but eutraControlRegionSize is not defined"
);
else
else
config_INFO
->
nb_iot_config
.
control_region_size
.
value
=
*
eutraControlRegionSize
;
config_INFO
->
cfg
->
nb_iot_config
.
control_region_size
.
value
=
*
eutraControlRegionSize
;
break
;
break
;
case
MasterInformationBlock_NB__operationModeInfo_r13_PR_inband_DifferentPCI_r13
:
case
MasterInformationBlock_NB__operationModeInfo_r13_PR_inband_DifferentPCI_r13
:
config_INFO
->
nb_iot_config
.
operating_mode
.
value
=
1
;
config_INFO
->
cfg
->
nb_iot_config
.
operating_mode
.
value
=
1
;
//XXX problem: fapi think to define also eutra_CRS_sequenceInfo also for in band with different PCI but the problem is that we don-t have it
//XXX problem: fapi think to define also eutra_CRS_sequenceInfo also for in band with different PCI but the problem is that we don-t have it
//config_INFO->nb_iot_config.prb_index.value = mib_NB->message.operationModeInfo_r13.choice.inband_DifferentPCI_r13 XXX (see FAPI specs pag 135)
//config_INFO->nb_iot_config.prb_index.value = mib_NB->message.operationModeInfo_r13.choice.inband_DifferentPCI_r13 XXX (see FAPI specs pag 135)
config_INFO
->
nb_iot_config
.
assumed_crs_aps
.
value
=
mib_NB
->
message
.
operationModeInfo_r13
.
choice
.
inband_DifferentPCI_r13
.
eutra_NumCRS_Ports_r13
;
config_INFO
->
cfg
->
nb_iot_config
.
assumed_crs_aps
.
value
=
mib_NB
->
message
.
operationModeInfo_r13
.
choice
.
inband_DifferentPCI_r13
.
eutra_NumCRS_Ports_r13
;
if
(
eutraControlRegionSize
==
NULL
)
if
(
eutraControlRegionSize
==
NULL
)
LOG_E
(
RRC
,
"NB_rrc_mac_config_req_eNB: operation mode is in-band but eutraControlRegionSize is not defined"
);
LOG_E
(
RRC
,
"NB_rrc_mac_config_req_eNB: operation mode is in-band but eutraControlRegionSize is not defined"
);
else
else
config_INFO
->
nb_iot_config
.
control_region_size
.
value
=
*
eutraControlRegionSize
;
config_INFO
->
cfg
->
nb_iot_config
.
control_region_size
.
value
=
*
eutraControlRegionSize
;
break
;
break
;
case
MasterInformationBlock_NB__operationModeInfo_r13_PR_guardband_r13
:
case
MasterInformationBlock_NB__operationModeInfo_r13_PR_guardband_r13
:
config_INFO
->
nb_iot_config
.
operating_mode
.
value
=
2
;
config_INFO
->
cfg
->
nb_iot_config
.
operating_mode
.
value
=
2
;
//XXX problem: fapi think to define also eutra_CRS_sequenceInfo also for in band with different PCI but the problem is that we don-t have it
//XXX problem: fapi think to define also eutra_CRS_sequenceInfo also for in band with different PCI but the problem is that we don-t have it
//config_INFO->nb_iot_config.prb_index = mib_NB->message.operationModeInfo_r13.choice.guardband_r13; XXX (see FAPI specs pag 135)
//config_INFO->nb_iot_config.prb_index = mib_NB->message.operationModeInfo_r13.choice.guardband_r13; XXX (see FAPI specs pag 135)
config_INFO
->
nb_iot_config
.
control_region_size
.
value
=
-
1
;
//should not being defined so we put a negative value
config_INFO
->
cfg
->
nb_iot_config
.
control_region_size
.
value
=
-
1
;
//should not being defined so we put a negative value
config_INFO
->
nb_iot_config
.
assumed_crs_aps
.
value
=
-
1
;
//is not defined so we put a negative value
config_INFO
->
cfg
->
nb_iot_config
.
assumed_crs_aps
.
value
=
-
1
;
//is not defined so we put a negative value
break
;
break
;
case
MasterInformationBlock_NB__operationModeInfo_r13_PR_standalone_r13
:
case
MasterInformationBlock_NB__operationModeInfo_r13_PR_standalone_r13
:
config_INFO
->
nb_iot_config
.
operating_mode
.
value
=
3
;
config_INFO
->
cfg
->
nb_iot_config
.
operating_mode
.
value
=
3
;
config_INFO
->
nb_iot_config
.
prb_index
.
value
=
-
1
;
// is not defined for this case (put a negative value)
config_INFO
->
cfg
->
nb_iot_config
.
prb_index
.
value
=
-
1
;
// is not defined for this case (put a negative value)
config_INFO
->
nb_iot_config
.
control_region_size
.
value
=
-
1
;
//is not defined so we put a negative value
config_INFO
->
cfg
->
nb_iot_config
.
control_region_size
.
value
=
-
1
;
//is not defined so we put a negative value
config_INFO
->
nb_iot_config
.
assumed_crs_aps
.
value
=
-
1
;
//is not defined so we put a negative value
config_INFO
->
cfg
->
nb_iot_config
.
assumed_crs_aps
.
value
=
-
1
;
//is not defined so we put a negative value
break
;
break
;
default:
default:
LOG_E
(
RRC
,
"NB_rrc_mac_config_req_eNB: NB-IoT operating Mode (MIB-NB) not valid
\n
"
);
LOG_E
(
RRC
,
"NB_rrc_mac_config_req_eNB: NB-IoT operating Mode (MIB-NB) not valid
\n
"
);
...
@@ -275,6 +286,8 @@ int NB_rrc_mac_config_req_eNB(
...
@@ -275,6 +286,8 @@ int NB_rrc_mac_config_req_eNB(
if
(
radioResourceConfigCommon
!=
NULL
)
{
if
(
radioResourceConfigCommon
!=
NULL
)
{
if
(
config_INFO
->
cfg
==
NULL
)
LOG_E
(
MAC
,
"NB_rrc_mac_config_req_eNB: trying to configure PHY but no config.request message in config_INFO is allocated
\n
"
);
config_INFO
->
get_COMMON
=
1
;
config_INFO
->
get_COMMON
=
1
;
LOG_I
(
MAC
,
"[CONFIG]SIB2/3-NB radioResourceConfigCommon Contents (partial)
\n
"
);
LOG_I
(
MAC
,
"[CONFIG]SIB2/3-NB radioResourceConfigCommon Contents (partial)
\n
"
);
...
@@ -302,9 +315,9 @@ int NB_rrc_mac_config_req_eNB(
...
@@ -302,9 +315,9 @@ int NB_rrc_mac_config_req_eNB(
NPRACH_Parameters_NB_r13_t
*
nprach_parameter
;
NPRACH_Parameters_NB_r13_t
*
nprach_parameter
;
config_INFO
->
nb_iot_config
.
nprach_config_0_enabled
.
value
=
0
;
config_INFO
->
cfg
->
nb_iot_config
.
nprach_config_0_enabled
.
value
=
0
;
config_INFO
->
nb_iot_config
.
nprach_config_1_enabled
.
value
=
0
;
config_INFO
->
cfg
->
nb_iot_config
.
nprach_config_1_enabled
.
value
=
0
;
config_INFO
->
nb_iot_config
.
nprach_config_2_enabled
.
value
=
0
;
config_INFO
->
cfg
->
nb_iot_config
.
nprach_config_2_enabled
.
value
=
0
;
switch
(
radioResourceConfigCommon
->
nprach_Config_r13
.
nprach_ParametersList_r13
.
list
.
size
)
switch
(
radioResourceConfigCommon
->
nprach_Config_r13
.
nprach_ParametersList_r13
.
list
.
size
)
{
{
...
@@ -312,13 +325,13 @@ int NB_rrc_mac_config_req_eNB(
...
@@ -312,13 +325,13 @@ int NB_rrc_mac_config_req_eNB(
break
;
break
;
case
1
:
case
1
:
nprach_parameter
=
radioResourceConfigCommon
->
nprach_Config_r13
.
nprach_ParametersList_r13
.
list
.
array
[
0
];
nprach_parameter
=
radioResourceConfigCommon
->
nprach_Config_r13
.
nprach_ParametersList_r13
.
list
.
array
[
0
];
config_INFO
->
nb_iot_config
.
nprach_config_0_enabled
.
value
=
1
;
config_INFO
->
cfg
->
nb_iot_config
.
nprach_config_0_enabled
.
value
=
1
;
config_INFO
->
nb_iot_config
.
nprach_config_0_cp_length
.
value
=
radioResourceConfigCommon
->
nprach_Config_r13
.
nprach_CP_Length_r13
;
config_INFO
->
cfg
->
nb_iot_config
.
nprach_config_0_cp_length
.
value
=
radioResourceConfigCommon
->
nprach_Config_r13
.
nprach_CP_Length_r13
;
config_INFO
->
nb_iot_config
.
nprach_config_0_sf_periodicity
.
value
=
nprach_parameter
->
nprach_Periodicity_r13
;
config_INFO
->
cfg
->
nb_iot_config
.
nprach_config_0_sf_periodicity
.
value
=
nprach_parameter
->
nprach_Periodicity_r13
;
config_INFO
->
nb_iot_config
.
nprach_config_0_start_time
.
value
=
nprach_parameter
->
nprach_StartTime_r13
;
config_INFO
->
cfg
->
nb_iot_config
.
nprach_config_0_start_time
.
value
=
nprach_parameter
->
nprach_StartTime_r13
;
config_INFO
->
nb_iot_config
.
nprach_config_0_subcarrier_offset
.
value
=
nprach_parameter
->
nprach_SubcarrierOffset_r13
;
config_INFO
->
cfg
->
nb_iot_config
.
nprach_config_0_subcarrier_offset
.
value
=
nprach_parameter
->
nprach_SubcarrierOffset_r13
;
config_INFO
->
nb_iot_config
.
nprach_config_0_number_of_subcarriers
.
value
=
nprach_parameter
->
nprach_NumSubcarriers_r13
;
config_INFO
->
cfg
->
nb_iot_config
.
nprach_config_0_number_of_subcarriers
.
value
=
nprach_parameter
->
nprach_NumSubcarriers_r13
;
config_INFO
->
nb_iot_config
.
nprach_config_0_number_of_repetitions_per_attempt
.
value
=
nprach_parameter
->
numRepetitionsPerPreambleAttempt_r13
;
config_INFO
->
cfg
->
nb_iot_config
.
nprach_config_0_number_of_repetitions_per_attempt
.
value
=
nprach_parameter
->
numRepetitionsPerPreambleAttempt_r13
;
//MP: missed configuration for FAPI-style structure (I have added on my own byt maybe are not needed)
//MP: missed configuration for FAPI-style structure (I have added on my own byt maybe are not needed)
config_INFO
->
extra_phy_parms
.
nprach_config_0_subcarrier_MSG3_range_start
=
nprach_parameter
->
nprach_SubcarrierMSG3_RangeStart_r13
;
config_INFO
->
extra_phy_parms
.
nprach_config_0_subcarrier_MSG3_range_start
=
nprach_parameter
->
nprach_SubcarrierMSG3_RangeStart_r13
;
config_INFO
->
extra_phy_parms
.
nprach_config_0_max_num_preamble_attempt_CE
=
nprach_parameter
->
maxNumPreambleAttemptCE_r13
;
config_INFO
->
extra_phy_parms
.
nprach_config_0_max_num_preamble_attempt_CE
=
nprach_parameter
->
maxNumPreambleAttemptCE_r13
;
...
@@ -330,13 +343,13 @@ int NB_rrc_mac_config_req_eNB(
...
@@ -330,13 +343,13 @@ int NB_rrc_mac_config_req_eNB(
break
;
break
;
case
2
:
case
2
:
nprach_parameter
=
radioResourceConfigCommon
->
nprach_Config_r13
.
nprach_ParametersList_r13
.
list
.
array
[
0
];
nprach_parameter
=
radioResourceConfigCommon
->
nprach_Config_r13
.
nprach_ParametersList_r13
.
list
.
array
[
0
];
config_INFO
->
nb_iot_config
.
nprach_config_0_enabled
.
value
=
1
;
config_INFO
->
cfg
->
nb_iot_config
.
nprach_config_0_enabled
.
value
=
1
;
config_INFO
->
nb_iot_config
.
nprach_config_0_cp_length
.
value
=
radioResourceConfigCommon
->
nprach_Config_r13
.
nprach_CP_Length_r13
;
config_INFO
->
cfg
->
nb_iot_config
.
nprach_config_0_cp_length
.
value
=
radioResourceConfigCommon
->
nprach_Config_r13
.
nprach_CP_Length_r13
;
config_INFO
->
nb_iot_config
.
nprach_config_0_sf_periodicity
.
value
=
nprach_parameter
->
nprach_Periodicity_r13
;
config_INFO
->
cfg
->
nb_iot_config
.
nprach_config_0_sf_periodicity
.
value
=
nprach_parameter
->
nprach_Periodicity_r13
;
config_INFO
->
nb_iot_config
.
nprach_config_0_start_time
.
value
=
nprach_parameter
->
nprach_StartTime_r13
;
config_INFO
->
cfg
->
nb_iot_config
.
nprach_config_0_start_time
.
value
=
nprach_parameter
->
nprach_StartTime_r13
;
config_INFO
->
nb_iot_config
.
nprach_config_0_subcarrier_offset
.
value
=
nprach_parameter
->
nprach_SubcarrierOffset_r13
;
config_INFO
->
cfg
->
nb_iot_config
.
nprach_config_0_subcarrier_offset
.
value
=
nprach_parameter
->
nprach_SubcarrierOffset_r13
;
config_INFO
->
nb_iot_config
.
nprach_config_0_number_of_subcarriers
.
value
=
nprach_parameter
->
nprach_NumSubcarriers_r13
;
config_INFO
->
cfg
->
nb_iot_config
.
nprach_config_0_number_of_subcarriers
.
value
=
nprach_parameter
->
nprach_NumSubcarriers_r13
;
config_INFO
->
nb_iot_config
.
nprach_config_0_number_of_repetitions_per_attempt
.
value
=
nprach_parameter
->
numRepetitionsPerPreambleAttempt_r13
;
config_INFO
->
cfg
->
nb_iot_config
.
nprach_config_0_number_of_repetitions_per_attempt
.
value
=
nprach_parameter
->
numRepetitionsPerPreambleAttempt_r13
;
//MP: missed configuration for FAPI-style structure (I have added on my own byt maybe are not needed)
//MP: missed configuration for FAPI-style structure (I have added on my own byt maybe are not needed)
config_INFO
->
extra_phy_parms
.
nprach_config_0_subcarrier_MSG3_range_start
=
nprach_parameter
->
nprach_SubcarrierMSG3_RangeStart_r13
;
config_INFO
->
extra_phy_parms
.
nprach_config_0_subcarrier_MSG3_range_start
=
nprach_parameter
->
nprach_SubcarrierMSG3_RangeStart_r13
;
config_INFO
->
extra_phy_parms
.
nprach_config_0_max_num_preamble_attempt_CE
=
nprach_parameter
->
maxNumPreambleAttemptCE_r13
;
config_INFO
->
extra_phy_parms
.
nprach_config_0_max_num_preamble_attempt_CE
=
nprach_parameter
->
maxNumPreambleAttemptCE_r13
;
...
@@ -347,13 +360,13 @@ int NB_rrc_mac_config_req_eNB(
...
@@ -347,13 +360,13 @@ int NB_rrc_mac_config_req_eNB(
nprach_parameter
=
radioResourceConfigCommon
->
nprach_Config_r13
.
nprach_ParametersList_r13
.
list
.
array
[
1
];
nprach_parameter
=
radioResourceConfigCommon
->
nprach_Config_r13
.
nprach_ParametersList_r13
.
list
.
array
[
1
];
config_INFO
->
nb_iot_config
.
nprach_config_1_enabled
.
value
=
1
;
config_INFO
->
cfg
->
nb_iot_config
.
nprach_config_1_enabled
.
value
=
1
;
config_INFO
->
nb_iot_config
.
nprach_config_1_cp_length
.
value
=
radioResourceConfigCommon
->
nprach_Config_r13
.
nprach_CP_Length_r13
;
config_INFO
->
cfg
->
nb_iot_config
.
nprach_config_1_cp_length
.
value
=
radioResourceConfigCommon
->
nprach_Config_r13
.
nprach_CP_Length_r13
;
config_INFO
->
nb_iot_config
.
nprach_config_1_sf_periodicity
.
value
=
nprach_parameter
->
nprach_Periodicity_r13
;
config_INFO
->
cfg
->
nb_iot_config
.
nprach_config_1_sf_periodicity
.
value
=
nprach_parameter
->
nprach_Periodicity_r13
;
config_INFO
->
nb_iot_config
.
nprach_config_1_start_time
.
value
=
nprach_parameter
->
nprach_StartTime_r13
;
config_INFO
->
cfg
->
nb_iot_config
.
nprach_config_1_start_time
.
value
=
nprach_parameter
->
nprach_StartTime_r13
;
config_INFO
->
nb_iot_config
.
nprach_config_1_subcarrier_offset
.
value
=
nprach_parameter
->
nprach_SubcarrierOffset_r13
;
config_INFO
->
cfg
->
nb_iot_config
.
nprach_config_1_subcarrier_offset
.
value
=
nprach_parameter
->
nprach_SubcarrierOffset_r13
;
config_INFO
->
nb_iot_config
.
nprach_config_1_number_of_subcarriers
.
value
=
nprach_parameter
->
nprach_NumSubcarriers_r13
;
config_INFO
->
cfg
->
nb_iot_config
.
nprach_config_1_number_of_subcarriers
.
value
=
nprach_parameter
->
nprach_NumSubcarriers_r13
;
config_INFO
->
nb_iot_config
.
nprach_config_1_number_of_repetitions_per_attempt
.
value
=
nprach_parameter
->
numRepetitionsPerPreambleAttempt_r13
;
config_INFO
->
cfg
->
nb_iot_config
.
nprach_config_1_number_of_repetitions_per_attempt
.
value
=
nprach_parameter
->
numRepetitionsPerPreambleAttempt_r13
;
//MP: missed configuration for FAPI-style structure (I have added on my own byt maybe are not needed)
//MP: missed configuration for FAPI-style structure (I have added on my own byt maybe are not needed)
config_INFO
->
extra_phy_parms
.
nprach_config_1_subcarrier_MSG3_range_start
=
nprach_parameter
->
nprach_SubcarrierMSG3_RangeStart_r13
;
config_INFO
->
extra_phy_parms
.
nprach_config_1_subcarrier_MSG3_range_start
=
nprach_parameter
->
nprach_SubcarrierMSG3_RangeStart_r13
;
config_INFO
->
extra_phy_parms
.
nprach_config_1_max_num_preamble_attempt_CE
=
nprach_parameter
->
maxNumPreambleAttemptCE_r13
;
config_INFO
->
extra_phy_parms
.
nprach_config_1_max_num_preamble_attempt_CE
=
nprach_parameter
->
maxNumPreambleAttemptCE_r13
;
...
@@ -364,13 +377,13 @@ int NB_rrc_mac_config_req_eNB(
...
@@ -364,13 +377,13 @@ int NB_rrc_mac_config_req_eNB(
break
;
break
;
case
3
:
case
3
:
nprach_parameter
=
radioResourceConfigCommon
->
nprach_Config_r13
.
nprach_ParametersList_r13
.
list
.
array
[
0
];
nprach_parameter
=
radioResourceConfigCommon
->
nprach_Config_r13
.
nprach_ParametersList_r13
.
list
.
array
[
0
];
config_INFO
->
nb_iot_config
.
nprach_config_0_enabled
.
value
=
1
;
config_INFO
->
cfg
->
nb_iot_config
.
nprach_config_0_enabled
.
value
=
1
;
config_INFO
->
nb_iot_config
.
nprach_config_0_cp_length
.
value
=
radioResourceConfigCommon
->
nprach_Config_r13
.
nprach_CP_Length_r13
;
config_INFO
->
cfg
->
nb_iot_config
.
nprach_config_0_cp_length
.
value
=
radioResourceConfigCommon
->
nprach_Config_r13
.
nprach_CP_Length_r13
;
config_INFO
->
nb_iot_config
.
nprach_config_0_sf_periodicity
.
value
=
nprach_parameter
->
nprach_Periodicity_r13
;
config_INFO
->
cfg
->
nb_iot_config
.
nprach_config_0_sf_periodicity
.
value
=
nprach_parameter
->
nprach_Periodicity_r13
;
config_INFO
->
nb_iot_config
.
nprach_config_0_start_time
.
value
=
nprach_parameter
->
nprach_StartTime_r13
;
config_INFO
->
cfg
->
nb_iot_config
.
nprach_config_0_start_time
.
value
=
nprach_parameter
->
nprach_StartTime_r13
;
config_INFO
->
nb_iot_config
.
nprach_config_0_subcarrier_offset
.
value
=
nprach_parameter
->
nprach_SubcarrierOffset_r13
;
config_INFO
->
cfg
->
nb_iot_config
.
nprach_config_0_subcarrier_offset
.
value
=
nprach_parameter
->
nprach_SubcarrierOffset_r13
;
config_INFO
->
nb_iot_config
.
nprach_config_0_number_of_subcarriers
.
value
=
nprach_parameter
->
nprach_NumSubcarriers_r13
;
config_INFO
->
cfg
->
nb_iot_config
.
nprach_config_0_number_of_subcarriers
.
value
=
nprach_parameter
->
nprach_NumSubcarriers_r13
;
config_INFO
->
nb_iot_config
.
nprach_config_0_number_of_repetitions_per_attempt
.
value
=
nprach_parameter
->
numRepetitionsPerPreambleAttempt_r13
;
config_INFO
->
cfg
->
nb_iot_config
.
nprach_config_0_number_of_repetitions_per_attempt
.
value
=
nprach_parameter
->
numRepetitionsPerPreambleAttempt_r13
;
//MP: missed configuration for FAPI-style structure (I have added on my own byt maybe are not needed)
//MP: missed configuration for FAPI-style structure (I have added on my own byt maybe are not needed)
config_INFO
->
extra_phy_parms
.
nprach_config_0_subcarrier_MSG3_range_start
=
nprach_parameter
->
nprach_SubcarrierMSG3_RangeStart_r13
;
config_INFO
->
extra_phy_parms
.
nprach_config_0_subcarrier_MSG3_range_start
=
nprach_parameter
->
nprach_SubcarrierMSG3_RangeStart_r13
;
config_INFO
->
extra_phy_parms
.
nprach_config_0_max_num_preamble_attempt_CE
=
nprach_parameter
->
maxNumPreambleAttemptCE_r13
;
config_INFO
->
extra_phy_parms
.
nprach_config_0_max_num_preamble_attempt_CE
=
nprach_parameter
->
maxNumPreambleAttemptCE_r13
;
...
@@ -381,13 +394,13 @@ int NB_rrc_mac_config_req_eNB(
...
@@ -381,13 +394,13 @@ int NB_rrc_mac_config_req_eNB(
nprach_parameter
=
radioResourceConfigCommon
->
nprach_Config_r13
.
nprach_ParametersList_r13
.
list
.
array
[
1
];
nprach_parameter
=
radioResourceConfigCommon
->
nprach_Config_r13
.
nprach_ParametersList_r13
.
list
.
array
[
1
];
config_INFO
->
nb_iot_config
.
nprach_config_1_enabled
.
value
=
1
;
config_INFO
->
cfg
->
nb_iot_config
.
nprach_config_1_enabled
.
value
=
1
;
config_INFO
->
nb_iot_config
.
nprach_config_1_cp_length
.
value
=
radioResourceConfigCommon
->
nprach_Config_r13
.
nprach_CP_Length_r13
;
config_INFO
->
cfg
->
nb_iot_config
.
nprach_config_1_cp_length
.
value
=
radioResourceConfigCommon
->
nprach_Config_r13
.
nprach_CP_Length_r13
;
config_INFO
->
nb_iot_config
.
nprach_config_1_sf_periodicity
.
value
=
nprach_parameter
->
nprach_Periodicity_r13
;
config_INFO
->
cfg
->
nb_iot_config
.
nprach_config_1_sf_periodicity
.
value
=
nprach_parameter
->
nprach_Periodicity_r13
;
config_INFO
->
nb_iot_config
.
nprach_config_1_start_time
.
value
=
nprach_parameter
->
nprach_StartTime_r13
;
config_INFO
->
cfg
->
nb_iot_config
.
nprach_config_1_start_time
.
value
=
nprach_parameter
->
nprach_StartTime_r13
;
config_INFO
->
nb_iot_config
.
nprach_config_1_subcarrier_offset
.
value
=
nprach_parameter
->
nprach_SubcarrierOffset_r13
;
config_INFO
->
cfg
->
nb_iot_config
.
nprach_config_1_subcarrier_offset
.
value
=
nprach_parameter
->
nprach_SubcarrierOffset_r13
;
config_INFO
->
nb_iot_config
.
nprach_config_1_number_of_subcarriers
.
value
=
nprach_parameter
->
nprach_NumSubcarriers_r13
;
config_INFO
->
cfg
->
nb_iot_config
.
nprach_config_1_number_of_subcarriers
.
value
=
nprach_parameter
->
nprach_NumSubcarriers_r13
;
config_INFO
->
nb_iot_config
.
nprach_config_1_number_of_repetitions_per_attempt
.
value
=
nprach_parameter
->
numRepetitionsPerPreambleAttempt_r13
;
config_INFO
->
cfg
->
nb_iot_config
.
nprach_config_1_number_of_repetitions_per_attempt
.
value
=
nprach_parameter
->
numRepetitionsPerPreambleAttempt_r13
;
//MP: missed configuration for FAPI-style structure (I have added on my own byt maybe are not needed)
//MP: missed configuration for FAPI-style structure (I have added on my own byt maybe are not needed)
config_INFO
->
extra_phy_parms
.
nprach_config_1_subcarrier_MSG3_range_start
=
nprach_parameter
->
nprach_SubcarrierMSG3_RangeStart_r13
;
config_INFO
->
extra_phy_parms
.
nprach_config_1_subcarrier_MSG3_range_start
=
nprach_parameter
->
nprach_SubcarrierMSG3_RangeStart_r13
;
config_INFO
->
extra_phy_parms
.
nprach_config_1_max_num_preamble_attempt_CE
=
nprach_parameter
->
maxNumPreambleAttemptCE_r13
;
config_INFO
->
extra_phy_parms
.
nprach_config_1_max_num_preamble_attempt_CE
=
nprach_parameter
->
maxNumPreambleAttemptCE_r13
;
...
@@ -398,13 +411,13 @@ int NB_rrc_mac_config_req_eNB(
...
@@ -398,13 +411,13 @@ int NB_rrc_mac_config_req_eNB(
nprach_parameter
=
radioResourceConfigCommon
->
nprach_Config_r13
.
nprach_ParametersList_r13
.
list
.
array
[
2
];
nprach_parameter
=
radioResourceConfigCommon
->
nprach_Config_r13
.
nprach_ParametersList_r13
.
list
.
array
[
2
];
config_INFO
->
nb_iot_config
.
nprach_config_2_enabled
.
value
=
1
;
config_INFO
->
cfg
->
nb_iot_config
.
nprach_config_2_enabled
.
value
=
1
;
config_INFO
->
nb_iot_config
.
nprach_config_2_cp_length
.
value
=
radioResourceConfigCommon
->
nprach_Config_r13
.
nprach_CP_Length_r13
;
config_INFO
->
cfg
->
nb_iot_config
.
nprach_config_2_cp_length
.
value
=
radioResourceConfigCommon
->
nprach_Config_r13
.
nprach_CP_Length_r13
;
config_INFO
->
nb_iot_config
.
nprach_config_2_sf_periodicity
.
value
=
nprach_parameter
->
nprach_Periodicity_r13
;
config_INFO
->
cfg
->
nb_iot_config
.
nprach_config_2_sf_periodicity
.
value
=
nprach_parameter
->
nprach_Periodicity_r13
;
config_INFO
->
nb_iot_config
.
nprach_config_2_start_time
.
value
=
nprach_parameter
->
nprach_StartTime_r13
;
config_INFO
->
cfg
->
nb_iot_config
.
nprach_config_2_start_time
.
value
=
nprach_parameter
->
nprach_StartTime_r13
;
config_INFO
->
nb_iot_config
.
nprach_config_2_subcarrier_offset
.
value
=
nprach_parameter
->
nprach_SubcarrierOffset_r13
;
config_INFO
->
cfg
->
nb_iot_config
.
nprach_config_2_subcarrier_offset
.
value
=
nprach_parameter
->
nprach_SubcarrierOffset_r13
;
config_INFO
->
nb_iot_config
.
nprach_config_2_number_of_subcarriers
.
value
=
nprach_parameter
->
nprach_NumSubcarriers_r13
;
config_INFO
->
cfg
->
nb_iot_config
.
nprach_config_2_number_of_subcarriers
.
value
=
nprach_parameter
->
nprach_NumSubcarriers_r13
;
config_INFO
->
nb_iot_config
.
nprach_config_2_number_of_repetitions_per_attempt
.
value
=
nprach_parameter
->
numRepetitionsPerPreambleAttempt_r13
;
config_INFO
->
cfg
->
nb_iot_config
.
nprach_config_2_number_of_repetitions_per_attempt
.
value
=
nprach_parameter
->
numRepetitionsPerPreambleAttempt_r13
;
//MP: missed configuration for FAPI-style structure (I have added on my own byt maybe are not needed)
//MP: missed configuration for FAPI-style structure (I have added on my own byt maybe are not needed)
config_INFO
->
extra_phy_parms
.
nprach_config_2_subcarrier_MSG3_range_start
=
nprach_parameter
->
nprach_SubcarrierMSG3_RangeStart_r13
;
config_INFO
->
extra_phy_parms
.
nprach_config_2_subcarrier_MSG3_range_start
=
nprach_parameter
->
nprach_SubcarrierMSG3_RangeStart_r13
;
config_INFO
->
extra_phy_parms
.
nprach_config_2_max_num_preamble_attempt_CE
=
nprach_parameter
->
maxNumPreambleAttemptCE_r13
;
config_INFO
->
extra_phy_parms
.
nprach_config_2_max_num_preamble_attempt_CE
=
nprach_parameter
->
maxNumPreambleAttemptCE_r13
;
...
@@ -423,7 +436,7 @@ int NB_rrc_mac_config_req_eNB(
...
@@ -423,7 +436,7 @@ int NB_rrc_mac_config_req_eNB(
/*NPDSCH ConfigCommon*/
/*NPDSCH ConfigCommon*/
//FIXME: MP: FAPI specs define a range of value [0-255]==[0db - 63.75db] with 0.25db step -- corrispondence in 3GPP specs???
//FIXME: MP: FAPI specs define a range of value [0-255]==[0db - 63.75db] with 0.25db step -- corrispondence in 3GPP specs???
config_INFO
->
rf_config
.
reference_signal_power
.
value
=
radioResourceConfigCommon
->
npdsch_ConfigCommon_r13
.
nrs_Power_r13
;
config_INFO
->
cfg
->
rf_config
.
reference_signal_power
.
value
=
radioResourceConfigCommon
->
npdsch_ConfigCommon_r13
.
nrs_Power_r13
;
/*NPUSCH ConfigCommon*/
/*NPUSCH ConfigCommon*/
...
@@ -435,26 +448,26 @@ int NB_rrc_mac_config_req_eNB(
...
@@ -435,26 +448,26 @@ int NB_rrc_mac_config_req_eNB(
{
{
/* OPTIONAL */
/* OPTIONAL */
if
(
radioResourceConfigCommon
->
npusch_ConfigCommon_r13
.
dmrs_Config_r13
->
threeTone_BaseSequence_r13
!=
NULL
)
if
(
radioResourceConfigCommon
->
npusch_ConfigCommon_r13
.
dmrs_Config_r13
->
threeTone_BaseSequence_r13
!=
NULL
)
config_INFO
->
nb_iot_config
.
three_tone_base_sequence
.
value
=
*
(
radioResourceConfigCommon
->
npusch_ConfigCommon_r13
.
dmrs_Config_r13
->
threeTone_BaseSequence_r13
);
config_INFO
->
cfg
->
nb_iot_config
.
three_tone_base_sequence
.
value
=
*
(
radioResourceConfigCommon
->
npusch_ConfigCommon_r13
.
dmrs_Config_r13
->
threeTone_BaseSequence_r13
);
/* OPTIONAL */
/* OPTIONAL */
if
(
radioResourceConfigCommon
->
npusch_ConfigCommon_r13
.
dmrs_Config_r13
->
sixTone_BaseSequence_r13
!=
NULL
)
if
(
radioResourceConfigCommon
->
npusch_ConfigCommon_r13
.
dmrs_Config_r13
->
sixTone_BaseSequence_r13
!=
NULL
)
config_INFO
->
nb_iot_config
.
six_tone_base_sequence
.
value
=
*
(
radioResourceConfigCommon
->
npusch_ConfigCommon_r13
.
dmrs_Config_r13
->
sixTone_BaseSequence_r13
);
config_INFO
->
cfg
->
nb_iot_config
.
six_tone_base_sequence
.
value
=
*
(
radioResourceConfigCommon
->
npusch_ConfigCommon_r13
.
dmrs_Config_r13
->
sixTone_BaseSequence_r13
);
/* OPTIONAL */
/* OPTIONAL */
if
(
radioResourceConfigCommon
->
npusch_ConfigCommon_r13
.
dmrs_Config_r13
->
twelveTone_BaseSequence_r13
!=
NULL
)
if
(
radioResourceConfigCommon
->
npusch_ConfigCommon_r13
.
dmrs_Config_r13
->
twelveTone_BaseSequence_r13
!=
NULL
)
config_INFO
->
nb_iot_config
.
twelve_tone_base_sequence
.
value
=
*
(
radioResourceConfigCommon
->
npusch_ConfigCommon_r13
.
dmrs_Config_r13
->
twelveTone_BaseSequence_r13
);
config_INFO
->
cfg
->
nb_iot_config
.
twelve_tone_base_sequence
.
value
=
*
(
radioResourceConfigCommon
->
npusch_ConfigCommon_r13
.
dmrs_Config_r13
->
twelveTone_BaseSequence_r13
);
config_INFO
->
nb_iot_config
.
three_tone_cyclic_shift
.
value
=
radioResourceConfigCommon
->
npusch_ConfigCommon_r13
.
dmrs_Config_r13
->
threeTone_CyclicShift_r13
;
config_INFO
->
cfg
->
nb_iot_config
.
three_tone_cyclic_shift
.
value
=
radioResourceConfigCommon
->
npusch_ConfigCommon_r13
.
dmrs_Config_r13
->
threeTone_CyclicShift_r13
;
config_INFO
->
nb_iot_config
.
six_tone_cyclic_shift
.
value
=
radioResourceConfigCommon
->
npusch_ConfigCommon_r13
.
dmrs_Config_r13
->
sixTone_CyclicShift_r13
;
config_INFO
->
cfg
->
nb_iot_config
.
six_tone_cyclic_shift
.
value
=
radioResourceConfigCommon
->
npusch_ConfigCommon_r13
.
dmrs_Config_r13
->
sixTone_CyclicShift_r13
;
}
}
//NOTE: MP: FAPI specs for UL RS Configurations seems to be targeted for LTE and not for NB-IoT
//NOTE: MP: FAPI specs for UL RS Configurations seems to be targeted for LTE and not for NB-IoT
if
(
radioResourceConfigCommon
->
npusch_ConfigCommon_r13
.
ul_ReferenceSignalsNPUSCH_r13
.
groupHoppingEnabled_r13
==
TRUE
)
if
(
radioResourceConfigCommon
->
npusch_ConfigCommon_r13
.
ul_ReferenceSignalsNPUSCH_r13
.
groupHoppingEnabled_r13
==
TRUE
)
config_INFO
->
uplink_reference_signal_config
.
uplink_rs_hopping
.
value
=
1
;
//RS_GROUP_HOPPING (FAPI specs pag 127)
config_INFO
->
cfg
->
uplink_reference_signal_config
.
uplink_rs_hopping
.
value
=
1
;
//RS_GROUP_HOPPING (FAPI specs pag 127)
else
else
config_INFO
->
uplink_reference_signal_config
.
uplink_rs_hopping
.
value
=
0
;
//RS_NO_HOPPING
config_INFO
->
cfg
->
uplink_reference_signal_config
.
uplink_rs_hopping
.
value
=
0
;
//RS_NO_HOPPING
config_INFO
->
uplink_reference_signal_config
.
group_assignment
.
value
=
radioResourceConfigCommon
->
npusch_ConfigCommon_r13
.
ul_ReferenceSignalsNPUSCH_r13
.
groupAssignmentNPUSCH_r13
;
config_INFO
->
cfg
->
uplink_reference_signal_config
.
group_assignment
.
value
=
radioResourceConfigCommon
->
npusch_ConfigCommon_r13
.
ul_ReferenceSignalsNPUSCH_r13
.
groupAssignmentNPUSCH_r13
;
//Some missed parameters are in UL_CONFIG.request message (P7) in FAPI specs. and not configured through P5 procedure
//Some missed parameters are in UL_CONFIG.request message (P7) in FAPI specs. and not configured through P5 procedure
//ack_NACK_NumRepetitions_Msg4_r13
//ack_NACK_NumRepetitions_Msg4_r13
...
@@ -463,13 +476,13 @@ int NB_rrc_mac_config_req_eNB(
...
@@ -463,13 +476,13 @@ int NB_rrc_mac_config_req_eNB(
/*DL GAP config */
/*DL GAP config */
if
(
radioResourceConfigCommon
->
dl_Gap_r13
!=
NULL
)
/* OPTIONAL */
if
(
radioResourceConfigCommon
->
dl_Gap_r13
!=
NULL
)
/* OPTIONAL */
{
{
config_INFO
->
nb_iot_config
.
dl_gap_config_enable
.
value
=
1
;
config_INFO
->
cfg
->
nb_iot_config
.
dl_gap_config_enable
.
value
=
1
;
config_INFO
->
nb_iot_config
.
dl_gap_threshold
.
value
=
radioResourceConfigCommon
->
dl_Gap_r13
->
dl_GapThreshold_r13
;
config_INFO
->
cfg
->
nb_iot_config
.
dl_gap_threshold
.
value
=
radioResourceConfigCommon
->
dl_Gap_r13
->
dl_GapThreshold_r13
;
config_INFO
->
nb_iot_config
.
dl_gap_duration_coefficient
.
value
=
radioResourceConfigCommon
->
dl_Gap_r13
->
dl_GapDurationCoeff_r13
;
config_INFO
->
cfg
->
nb_iot_config
.
dl_gap_duration_coefficient
.
value
=
radioResourceConfigCommon
->
dl_Gap_r13
->
dl_GapDurationCoeff_r13
;
config_INFO
->
nb_iot_config
.
dl_gap_periodicity
.
value
=
radioResourceConfigCommon
->
dl_Gap_r13
->
dl_GapPeriodicity_r13
;
config_INFO
->
cfg
->
nb_iot_config
.
dl_gap_periodicity
.
value
=
radioResourceConfigCommon
->
dl_Gap_r13
->
dl_GapPeriodicity_r13
;
}
}
else
else
config_INFO
->
nb_iot_config
.
dl_gap_config_enable
.
value
=
0
;
config_INFO
->
cfg
->
nb_iot_config
.
dl_gap_config_enable
.
value
=
0
;
/*UL Power Control ConfigCommon*/
/*UL Power Control ConfigCommon*/
...
@@ -496,6 +509,10 @@ int NB_rrc_mac_config_req_eNB(
...
@@ -496,6 +509,10 @@ int NB_rrc_mac_config_req_eNB(
}
}
if
(
logicalChannelConfig
!=
NULL
)
{
if
(
logicalChannelConfig
!=
NULL
)
{
if
(
config_INFO
->
cfg
==
NULL
)
LOG_E
(
MAC
,
"NB_rrc_mac_config_req_eNB: trying to configure PHY but no config.request message in config_INFO is allocated
\n
"
);
if
(
UE_id
==
-
1
)
{
if
(
UE_id
==
-
1
)
{
LOG_E
(
MAC
,
"%s:%d:%s: ERROR, UE_id == -1
\n
"
,
__FILE__
,
__LINE__
,
__FUNCTION__
);
LOG_E
(
MAC
,
"%s:%d:%s: ERROR, UE_id == -1
\n
"
,
__FILE__
,
__LINE__
,
__FUNCTION__
);
}
else
{
}
else
{
...
@@ -507,6 +524,9 @@ int NB_rrc_mac_config_req_eNB(
...
@@ -507,6 +524,9 @@ int NB_rrc_mac_config_req_eNB(
if
(
physicalConfigDedicated
!=
NULL
)
{
if
(
physicalConfigDedicated
!=
NULL
)
{
if
(
config_INFO
->
cfg
==
NULL
)
LOG_E
(
MAC
,
"NB_rrc_mac_config_req_eNB: trying to configure PHY but no config.request message in config_INFO is allocated
\n
"
);
if
(
UE_id
==
-
1
)
if
(
UE_id
==
-
1
)
LOG_E
(
MAC
,
"%s:%d:%s: ERROR, UE_id == -1
\n
"
,
__FILE__
,
__LINE__
,
__FUNCTION__
);
LOG_E
(
MAC
,
"%s:%d:%s: ERROR, UE_id == -1
\n
"
,
__FILE__
,
__LINE__
,
__FUNCTION__
);
else
else
...
@@ -848,7 +868,7 @@ int8_t NB_mac_rrc_data_req_eNB(
...
@@ -848,7 +868,7 @@ int8_t NB_mac_rrc_data_req_eNB(
LOG_T
(
RRC
,
"
\n
"
);
LOG_T
(
RRC
,
"
\n
"
);
#endif
#endif
return
(
eNB_rrc_inst_NB
[
Mod_idP
].
carrier
[
CC_id
].
sizeof_MIB_NB
);
return
(
eNB_rrc_inst_NB
[
Mod_idP
].
carrier
[
CC_id
].
sizeof_MIB_NB
);
//exit from the function
}
}
//Requesting for SI Message
//Requesting for SI Message
...
...
openair2/RRC/LITE/vars_nb_iot.c
View file @
d6b6cb91
...
@@ -69,7 +69,7 @@ unsigned short Data_to_read;
...
@@ -69,7 +69,7 @@ unsigned short Data_to_read;
eNB_RRC_INST_NB
*
eNB_rrc_inst_NB
;
eNB_RRC_INST_NB
*
eNB_rrc_inst_NB
;
uint8_t
DRB2LCHAN_NB
[
2
];
//max can be 2 DRBs for NB_IoT --> it used for saving the LCID of DRBs
uint8_t
DRB2LCHAN_NB
[
2
];
//max can be 2 DRBs for NB_IoT --> it used for saving the LCID of DRBs
//structure for FAPI-like configuration
//structure for FAPI-like configuration
(memory for this is allocated in init_SI)
PHY_Config_t
*
config_INFO
;
PHY_Config_t
*
config_INFO
;
BOOLEAN_t
logicalChannelSR_Prohibit
=
1
;
BOOLEAN_t
logicalChannelSR_Prohibit
=
1
;
...
...
targets/SIMU/USER/init_lte.c
View file @
d6b6cb91
...
@@ -148,6 +148,8 @@ PHY_VARS_eNB* init_lte_eNB(LTE_DL_FRAME_PARMS *frame_parms,
...
@@ -148,6 +148,8 @@ PHY_VARS_eNB* init_lte_eNB(LTE_DL_FRAME_PARMS *frame_parms,
return
(
PHY_vars_eNB
);
return
(
PHY_vars_eNB
);
}
}
/*this is a function just for initialization of NB-IoT stuff*/
void
init_lte_eNB_NB
(
void
init_lte_eNB_NB
(
PHY_VARS_eNB
*
PHY_vars_eNB
,
PHY_VARS_eNB
*
PHY_vars_eNB
,
NB_DL_FRAME_PARMS
*
frame_parms
,
NB_DL_FRAME_PARMS
*
frame_parms
,
...
...
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