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
promise
OpenXG-RAN
Commits
e8e8c877
Commit
e8e8c877
authored
Jul 12, 2018
by
WEI-TAI CHEN
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix warning in upper layer
parent
fb38d1ae
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
144 additions
and
17 deletions
+144
-17
openair2/GNB_APP/gnb_app.c
openair2/GNB_APP/gnb_app.c
+4
-1
openair2/GNB_APP/gnb_config.c
openair2/GNB_APP/gnb_config.c
+3
-3
openair2/LAYER2/NR_MAC_gNB/gNB_scehduler_primitives.c
openair2/LAYER2/NR_MAC_gNB/gNB_scehduler_primitives.c
+119
-0
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c
+1
-1
openair2/LAYER2/NR_MAC_gNB/mac.h
openair2/LAYER2/NR_MAC_gNB/mac.h
+11
-11
openair2/LAYER2/NR_MAC_gNB/mac_proto.h
openair2/LAYER2/NR_MAC_gNB/mac_proto.h
+5
-0
openair2/NR_PHY_INTERFACE/NR_IF_Module.c
openair2/NR_PHY_INTERFACE/NR_IF_Module.c
+1
-1
No files found.
openair2/GNB_APP/gnb_app.c
View file @
e8e8c877
...
...
@@ -81,6 +81,8 @@ static void configure_nr_rrc(uint32_t gnb_id)
}
/*------------------------------------------------------------------------------*/
/*
# if defined(ENABLE_USE_MME)
static uint32_t gNB_app_register(uint32_t gnb_id_start, uint32_t gnb_id_end)//, const Enb_properties_array_t *enb_properties)
{
...
...
@@ -92,7 +94,7 @@ static uint32_t gNB_app_register(uint32_t gnb_id_start, uint32_t gnb_id_end)//,
{
s1ap_register_enb_req_t *s1ap_register_gNB; //Type Temporarily reuse
/
* note: there is an implicit relationship between the data structure and the message name */
/
/ note: there is an implicit relationship between the data structure and the message name
msg_p = itti_alloc_new_message (TASK_GNB_APP, S1AP_REGISTER_ENB_REQ); //Message Temporarily reuse
RCconfig_NR_S1(msg_p, gnb_id);
...
...
@@ -114,6 +116,7 @@ static uint32_t gNB_app_register(uint32_t gnb_id_start, uint32_t gnb_id_end)//,
}
# endif
#endif
*/
/*------------------------------------------------------------------------------*/
void
*
gNB_app_task
(
void
*
args_p
)
...
...
openair2/GNB_APP/gnb_config.c
View file @
e8e8c877
...
...
@@ -599,18 +599,18 @@ int RCconfig_NRRRC(MessageDef *msg_p, uint32_t i, gNB_RRC_INST *rrc) {
int32_t
srb1_poll_byte
=
0
;
int32_t
srb1_max_retx_threshold
=
0
;
int32_t
my_int
;
//
int32_t my_int;
paramdef_t
GNBSParams
[]
=
GNBSPARAMS_DESC
;
////////// Identification parameters
paramdef_t
GNBParams
[]
=
GNBPARAMS_DESC
;
paramlist_def_t
GNBParamList
=
{
GNB_CONFIG_STRING_GNB_LIST
,
NULL
,
0
};
////////// Physical parameters
checkedparam_t
config_check_CCparams
[]
=
NRCCPARAMS_CHECK
;
//
checkedparam_t config_check_CCparams[] = NRCCPARAMS_CHECK;
paramdef_t
CCsParams
[]
=
NRCCPARAMS_DESC
;
paramlist_def_t
CCsParamList
=
{
GNB_CONFIG_STRING_COMPONENT_CARRIERS
,
NULL
,
0
};
paramdef_t
SRB1Params
[]
=
SRB1PARAMS_DESC
;
//
paramdef_t SRB1Params[] = SRB1PARAMS_DESC;
/* get global parameters, defined outside any section in the config file */
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scehduler_primitives.c
0 → 100644
View file @
e8e8c877
/*
* Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The OpenAirInterface Software Alliance licenses this file to You under
* the OAI Public License, Version 1.1 (the "License"); you may not use this file
* except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.openairinterface.org/?page_id=698
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*-------------------------------------------------------------------------------
* For more information about the OpenAirInterface (OAI) Software Alliance:
* contact@openairinterface.org
*/
/*! \file eNB_scheduler_primitives.c
* \brief primitives used by eNB for BCH, RACH, ULSCH, DLSCH scheduling
* \author Navid Nikaein and Raymond Knopp
* \date 2010 - 2014
* \email: navid.nikaein@eurecom.fr
* \version 1.0
* @ingroup _mac
*/
#include "assertions.h"
#include "LAYER2/NR_MAC_gNB/mac.h"
#include "LAYER2/MAC/mac_extern.h"
#include "LAYER2/NR_MAC_gNB/mac_proto.h"
#include "UTIL/LOG/log.h"
#include "UTIL/LOG/vcd_signal_dumper.h"
#include "UTIL/OPT/opt.h"
#include "OCG.h"
#include "OCG_extern.h"
#include "RRC/NR/nr_rrc_extern.h"
//#include "LAYER2/MAC/pre_processor.c"
#include "pdcp.h"
#if defined(ENABLE_ITTI)
#include "intertask_interface.h"
#endif
#include "T.h"
#define ENABLE_MAC_PAYLOAD_DEBUG
#define DEBUG_eNB_SCHEDULER 1
#include "common/ran_context.h"
extern
RAN_CONTEXT_t
RC
;
extern
int
n_active_slices
;
int
is_nr_UL_sf
(
NR_COMMON_channels_t
*
ccP
,
sub_frame_t
subframeP
)
{
// if FDD return dummy value
if
(
ccP
->
tdd_Config
==
NULL
)
return
(
0
);
switch
(
ccP
->
tdd_Config
->
subframeAssignment
)
{
case
1
:
switch
(
subframeP
)
{
case
0
:
case
4
:
case
5
:
case
9
:
return
(
0
);
break
;
case
2
:
case
3
:
case
7
:
case
8
:
return
(
1
);
break
;
default:
return
(
0
);
break
;
}
break
;
case
3
:
if
((
subframeP
<=
1
)
||
(
subframeP
>=
5
))
return
(
0
);
else
if
((
subframeP
>
1
)
&&
(
subframeP
<
5
))
return
(
1
);
else
AssertFatal
(
1
==
0
,
"Unknown subframe number
\n
"
);
break
;
case
4
:
if
((
subframeP
<=
1
)
||
(
subframeP
>=
4
))
return
(
0
);
else
if
((
subframeP
>
1
)
&&
(
subframeP
<
4
))
return
(
1
);
else
AssertFatal
(
1
==
0
,
"Unknown subframe number
\n
"
);
break
;
case
5
:
if
((
subframeP
<=
1
)
||
(
subframeP
>=
3
))
return
(
0
);
else
if
((
subframeP
>
1
)
&&
(
subframeP
<
3
))
return
(
1
);
else
AssertFatal
(
1
==
0
,
"Unknown subframe number
\n
"
);
break
;
default:
AssertFatal
(
1
==
0
,
"subframe %d Unsupported TDD configuration %d
\n
"
,
subframeP
,
(
int
)
ccP
->
tdd_Config
->
subframeAssignment
);
break
;
}
}
\ No newline at end of file
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c
View file @
e8e8c877
...
...
@@ -182,7 +182,7 @@ void schedule_nr_SRS(module_id_t module_idP, frame_t frameP, sub_frame_t subfram
UE_list_t
*
UE_list
=
&
gNB
->
UE_list
;
nfapi_ul_config_request_body_t
*
ul_req
;
int
CC_id
,
UE_id
;
COMMON_channels_t
*
cc
=
RC
.
nrmac
[
module_idP
]
->
common_channels
;
NR_
COMMON_channels_t
*
cc
=
RC
.
nrmac
[
module_idP
]
->
common_channels
;
SoundingRS_UL_ConfigCommon_t
*
soundingRS_UL_ConfigCommon
;
struct
SoundingRS_UL_ConfigDedicated
*
soundingRS_UL_ConfigDedicated
;
uint8_t
TSFC
;
...
...
openair2/LAYER2/NR_MAC_gNB/mac.h
View file @
e8e8c877
...
...
@@ -113,27 +113,27 @@ typedef struct gNB_MAC_INST_s {
uint16_t
pdu_index
[
NFAPI_CC_MAX
];
/// NFAPI Config Request Structure
nfapi_nr_config_request_t
config
[
NFAPI_CC_MAX
];
nfapi_nr_config_request_t
config
[
NFAPI_CC_MAX
];
/// NFAPI DL Config Request Structure
nfapi_nr_dl_config_request_t
DL_req
[
NFAPI_CC_MAX
];
nfapi_nr_dl_config_request_t
DL_req
[
NFAPI_CC_MAX
];
/// NFAPI UL Config Request Structure, send to L1 4 subframes before processing takes place
nfapi_ul_config_request_t
UL_req
[
NFAPI_CC_MAX
];
nfapi_ul_config_request_t
UL_req
[
NFAPI_CC_MAX
];
/// Preallocated DL pdu list
nfapi_
dl_config_request_pdu_t
dl_config_pdu_list
[
NFAPI_CC_MAX
][
MAX_NUM_DL_PDU
];
nfapi_
nr_dl_config_request_pdu_t
dl_config_pdu_list
[
NFAPI_CC_MAX
][
MAX_NUM_DL_PDU
];
/// Preallocated UL pdu list
nfapi_ul_config_request_pdu_t
ul_config_pdu_list
[
NFAPI_CC_MAX
][
MAX_NUM_UL_PDU
];
nfapi_ul_config_request_pdu_t
ul_config_pdu_list
[
NFAPI_CC_MAX
][
MAX_NUM_UL_PDU
];
/// Preallocated UL pdu list for ULSCH (n+k delay)
nfapi_ul_config_request_pdu_t
ul_config_pdu_list_tmp
[
NFAPI_CC_MAX
][
10
][
MAX_NUM_UL_PDU
];
nfapi_ul_config_request_pdu_t
ul_config_pdu_list_tmp
[
NFAPI_CC_MAX
][
10
][
MAX_NUM_UL_PDU
];
/// NFAPI "Temporary" UL Config Request Structure, holds future UL_config requests
nfapi_ul_config_request_t
UL_req_tmp
[
NFAPI_CC_MAX
][
10
];
nfapi_ul_config_request_t
UL_req_tmp
[
NFAPI_CC_MAX
][
10
];
/// Preallocated HI_DCI0 pdu list
nfapi_hi_dci0_request_pdu_t
hi_dci0_pdu_list
[
NFAPI_CC_MAX
][
MAX_NUM_HI_DCI0_PDU
];
nfapi_hi_dci0_request_pdu_t
hi_dci0_pdu_list
[
NFAPI_CC_MAX
][
MAX_NUM_HI_DCI0_PDU
];
/// NFAPI HI/DCI0 Config Request Structure
nfapi_hi_dci0_request_t
HI_DCI0_req
[
NFAPI_CC_MAX
];
nfapi_hi_dci0_request_t
HI_DCI0_req
[
NFAPI_CC_MAX
];
/// Prealocated TX pdu list
nfapi_tx_request_pdu_t
tx_request_pdu
[
NFAPI_CC_MAX
][
MAX_NUM_TX_REQUEST_PDU
];
nfapi_tx_request_pdu_t
tx_request_pdu
[
NFAPI_CC_MAX
][
MAX_NUM_TX_REQUEST_PDU
];
/// NFAPI DL PDU structure
nfapi_tx_request_t
TX_req
[
NFAPI_CC_MAX
];
nfapi_tx_request_t
TX_req
[
NFAPI_CC_MAX
];
UE_list_t
UE_list
;
...
...
openair2/LAYER2/NR_MAC_gNB/mac_proto.h
View file @
e8e8c877
...
...
@@ -19,6 +19,11 @@ int rrc_mac_config_req_gNB(module_id_t Mod_idP,
NR_ServingCellConfigCommon_t
*
servingcellconfigcommon
);
void
clear_nr_nfapi_information
(
gNB_MAC_INST
*
gNB
,
int
CC_idP
,
frame_t
frameP
,
sub_frame_t
subframeP
)
void
gNB_dlsch_ulsch_scheduler
(
module_id_t
module_idP
,
frame_t
frameP
,
sub_frame_t
subframeP
);
...
...
openair2/NR_PHY_INTERFACE/NR_IF_Module.c
View file @
e8e8c877
...
...
@@ -300,7 +300,7 @@ void NR_UL_indication(NR_UL_IND_t *UL_info)
sched_info
->
DL_req
=
&
mac
->
DL_req
[
CC_id
];
sched_info
->
HI_DCI0_req
=
&
mac
->
HI_DCI0_req
[
CC_id
];
if
((
mac
->
common_channels
[
CC_id
].
tdd_Config
==
NULL
)
||
(
is_UL_sf
(
&
mac
->
common_channels
[
CC_id
],(
sched_info
->
subframe
+
sf_ahead
)
%
10
)
>
0
))
(
is_
nr_
UL_sf
(
&
mac
->
common_channels
[
CC_id
],(
sched_info
->
subframe
+
sf_ahead
)
%
10
)
>
0
))
sched_info
->
UL_req
=
&
mac
->
UL_req
[
CC_id
];
else
sched_info
->
UL_req
=
NULL
;
...
...
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