Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG UE
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
OpenXG
OpenXG UE
Commits
19349f0b
Commit
19349f0b
authored
Jul 25, 2021
by
Laurent OpenCells
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
CMakeList cleanup,improvement and trial to run in ubuntu 16
parent
6d4ee0dd
Changes
5
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
274 additions
and
811 deletions
+274
-811
cmake_targets/CMakeLists.txt
cmake_targets/CMakeLists.txt
+268
-289
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c
+6
-4
openair2/PHY_INTERFACE/mac_phy_primitives.c
openair2/PHY_INTERFACE/mac_phy_primitives.c
+0
-283
openair2/PHY_INTERFACE/mac_phy_primitives.h
openair2/PHY_INTERFACE/mac_phy_primitives.h
+0
-232
openair2/RRC/LTE/rrc_eNB.c
openair2/RRC/LTE/rrc_eNB.c
+0
-3
No files found.
cmake_targets/CMakeLists.txt
View file @
19349f0b
This diff is collapsed.
Click to expand it.
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c
View file @
19349f0b
...
@@ -119,12 +119,14 @@ void dump_mac_stats(gNB_MAC_INST *gNB)
...
@@ -119,12 +119,14 @@ void dump_mac_stats(gNB_MAC_INST *gNB)
UE_id
,
UE_id
,
stats
->
ulsch_total_bytes_scheduled
,
stats
->
ulsch_total_bytes_rx
);
stats
->
ulsch_total_bytes_scheduled
,
stats
->
ulsch_total_bytes_rx
);
for
(
int
lc_id
=
0
;
lc_id
<
63
;
lc_id
++
)
{
for
(
int
lc_id
=
0
;
lc_id
<
63
;
lc_id
++
)
{
if
(
stats
->
lc_bytes_tx
[
lc_id
]
>
0
)
if
(
stats
->
lc_bytes_tx
[
lc_id
]
>
0
)
{
stroff
+=
sprintf
(
output
+
stroff
,
"UE %d: LCID %d: %d bytes TX
\n
"
,
UE_id
,
lc_id
,
stats
->
lc_bytes_tx
[
lc_id
]);
stroff
+=
sprintf
(
output
+
stroff
,
"UE %d: LCID %d: %d bytes TX
\n
"
,
UE_id
,
lc_id
,
stats
->
lc_bytes_tx
[
lc_id
]);
LOG_D
(
NR_MAC
,
"UE %d: LCID %d: %d bytes TX
\n
"
,
UE_id
,
lc_id
,
stats
->
lc_bytes_tx
[
lc_id
]);
LOG_D
(
NR_MAC
,
"UE %d: LCID %d: %d bytes TX
\n
"
,
UE_id
,
lc_id
,
stats
->
lc_bytes_tx
[
lc_id
]);
if
(
stats
->
lc_bytes_rx
[
lc_id
]
>
0
)
}
if
(
stats
->
lc_bytes_rx
[
lc_id
]
>
0
)
{
stroff
+=
sprintf
(
output
+
stroff
,
"UE %d: LCID %d: %d bytes RX
\n
"
,
UE_id
,
lc_id
,
stats
->
lc_bytes_rx
[
lc_id
]);
stroff
+=
sprintf
(
output
+
stroff
,
"UE %d: LCID %d: %d bytes RX
\n
"
,
UE_id
,
lc_id
,
stats
->
lc_bytes_rx
[
lc_id
]);
LOG_D
(
NR_MAC
,
"UE %d: LCID %d: %d bytes RX
\n
"
,
UE_id
,
lc_id
,
stats
->
lc_bytes_rx
[
lc_id
]);
LOG_D
(
NR_MAC
,
"UE %d: LCID %d: %d bytes RX
\n
"
,
UE_id
,
lc_id
,
stats
->
lc_bytes_rx
[
lc_id
]);
}
}
}
}
}
print_meas
(
&
gNB
->
eNB_scheduler
,
"DL & UL scheduling timing stats"
,
NULL
,
NULL
);
print_meas
(
&
gNB
->
eNB_scheduler
,
"DL & UL scheduling timing stats"
,
NULL
,
NULL
);
...
...
openair2/PHY_INTERFACE/mac_phy_primitives.c
deleted
100644 → 0
View file @
6d4ee0dd
/*
* 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
*/
/*________________________mac_phy_primitives.c________________________
Authors : Hicham Anouar, Raymond Knopp
Company : EURECOM
Emails : anouar@eurecom.fr, knopp@eurecom.fr
________________________________________________________________*/
//#include "openair_extern.h"
#ifdef MAC_CONTEXT
#include "LAYER2/MAC/defs.h"
#include "LAYER2/MAC/extern.h"
//#include "extern.h"
#include "defs.h"
#endif //MAC_CONTEXT
//#define DEBUG_UE_DECODE_SACH
//#define DEBUG_NODEB_DECODE_SACH
#ifdef PHY_CONTEXT
#ifdef PHY_EMUL
#include "extern.h"
#include "SIMULATION/simulation_defs.h"
#else //PHY_EMUL
#include "MAC_INTERFACE/extern.h"
#endif //PHY_EMUL
void
clear_macphy_data_req
(
unsigned
char
Mod_id
)
{
//msg("CLEAR DATA_REQ\n");
unsigned
char
i
;
Macphy_req_table
[
Mod_id
].
Macphy_req_cnt
=
0
;
for
(
i
=
0
;
i
<
NB_REQ_MAX
;
i
++
)
Macphy_req_table
[
Mod_id
].
Macphy_req_table_entry
[
i
].
Active
=
0
;
}
/*
unsigned char phy_resources_compare(PHY_RESOURCES *Phy1,PHY_RESOURCES* Phy2 ){
if(Phy1->Time_alloc==Phy2->Time_alloc && Phy1->Freq_alloc==Phy2->Freq_alloc)// && Phy1->Coding_fmt==Phy2->Coding_fmt && Phy1->Seq_index==Phy2->Seq_index)
return 1;
else
return 0;
}
*/
MACPHY_DATA_REQ_TABLE_ENTRY
*
find_data_req_entry
(
unsigned
char
Mod_id
,
MACPHY_REQ_ENTRY_KEY
*
Search_key
)
{
unsigned
char
i
;
//msg("[MAC_PHY]MAC_PHY_REQUEST_CNT=%d\n",Macphy_req_table.Macphy_req_cnt);
if
(
Macphy_req_table
[
Mod_id
].
Macphy_req_cnt
>
0
)
{
#ifdef DEBUG_PHY
// msg("[MACPHY_FIND_REQ] SEARCH KEY=%d\n",Search_key->Key_type);
#endif //DEBUG_PHY
//msg("[MACPHY_FIND_REQ] SEARCH KEY=%d, NB_REQ_MAX=%d\n",Search_key->Key_type,NB_REQ_MAX);
switch
(
Search_key
->
Key_type
)
{
case
PDU_TYPE_KEY
:
for
(
i
=
0
;
i
<
NB_REQ_MAX
;
i
++
)
{
if
(
(
Macphy_req_table
[
Mod_id
].
Macphy_req_table_entry
[
i
].
Macphy_data_req
.
Pdu_type
==
Search_key
->
Key
.
Pdu_type
)
&&
(
Macphy_req_table
[
Mod_id
].
Macphy_req_table_entry
[
i
].
Active
==
1
)
)
{
//msg("[MACPHY_FIND] MACPHY_req_table_entry=%p,idx=%d,Phy_resources %p", &Macphy_req_table.Macphy_req_table_entry[i],i,Macphy_req_table.Macphy_req_table_entry[i].Macphy_data_req.Phy_Resources_Entry);
return
(
&
Macphy_req_table
[
Mod_id
].
Macphy_req_table_entry
[
i
]);
}
}
break
;
/*
case LCHAN_KEY:
for(i=0;i<NB_REQ_MAX;i++){
if ((Macphy_req_table[Mod_id].Macphy_req_table_entry[i].Macphy_data_req.Lchan_id.Index==Search_key->Key.Lchan_id->Index) &&
(Macphy_req_table[Mod_id].Macphy_req_table_entry[i].Active == 1) )
return(&Macphy_req_table[Mod_id].Macphy_req_table_entry[i]);
}
break;
case PHY_RESOURCES_KEY:
for(i=0;i<NB_REQ_MAX;i++){
if(Macphy_req_table[Mod_id].Macphy_req_table_entry[i].Active == 1)
if ( ( Macphy_req_table[Mod_id].Macphy_req_table_entry[i].Macphy_data_req.Phy_resources->Time_alloc ==
Search_key->Key.Phy_resources.Time_alloc )
&&( Macphy_req_table[Mod_id].Macphy_req_table_entry[i].Macphy_data_req.Phy_resources->Freq_alloc ==
Search_key->Key.Phy_resources.Freq_alloc )
&&( Macphy_req_table[Mod_id].Macphy_req_table_entry[i].Macphy_data_req.CH_index ==
Search_key->CH_index )
&& ( Macphy_req_table[Mod_id].Macphy_req_table_entry[i].Macphy_data_req.Direction == RX))
return(&Macphy_req_table[Mod_id].Macphy_req_table_entry[i]);
}
break;
*/
}
}
#ifndef PHY_EMUL
// msg("[PHY][PHY_MAC] Frame %d : No data request\n",mac_xface->frame);
#endif //PHY_EMUL
return
(
MACPHY_DATA_REQ_TABLE_ENTRY
*
)
0
;
}
void
print_active_requests
(
unsigned
char
Mod_id
)
{
int
i
;
msg
(
"_________________________INST %d , FRAME %d ACTIVE_REQUESTS_________________
\n
"
,
Mod_id
,
mac_xface
->
frame
);
for
(
i
=
0
;
i
<
NB_REQ_MAX
;
i
++
)
{
if
(
Macphy_req_table
[
Mod_id
].
Macphy_req_table_entry
[
i
].
Active
==
1
)
{
msg
(
"[MACPHY][DATA][REQ] Request %d: Direction %d, Pdu_type %d
\n
"
,
i
,
Macphy_req_table
[
Mod_id
].
Macphy_req_table_entry
[
i
].
Macphy_data_req
.
Direction
,
Macphy_req_table
[
Mod_id
].
Macphy_req_table_entry
[
i
].
Macphy_data_req
.
Pdu_type
);
// Macphy_req_table[Mod_id].Macphy_req_table_entry[i].Macphy_data_req.Lchan_id.Index);
// Macphy_req_table[Mod_id].Macphy_req_table_entry[i].Macphy_data_req.Phy_resources,
// Macphy_req_table[Mod_id].Macphy_req_table_entry[i].Macphy_data_req.Phy_resources->Time_alloc,
// Macphy_req_table[Mod_id].Macphy_req_table_entry[i].Macphy_data_req.Phy_resources->Freq_alloc);
//if(Macphy_req_table[Mod_id].Macphy_req_table_entry[i].Macphy_data_req.Pdu_type==RACH)
//msg("[RACH_REQ] Rach_pdu %p, Payload %p\n",Macphy_req_table[Mod_id].Macphy_req_table_entry[i].Macphy_data_req.Dir.Req_rx.Pdu.Rach_pdu,
// Macphy_req_table[Mod_id].Macphy_req_table_entry[i].Macphy_data_req.Dir.Req_rx.Pdu.Rach_pdu->Rach_payload);
}
}
}
/*___________________________________________________________________________________________________*/
#define RCNT Macphy_req_table[Mod_id].Macphy_req_cnt
MACPHY_DATA_REQ
*
new_macphy_data_req
(
unsigned
char
Mod_id
)
{
/*___________________________________________________________________________________________________*/
unsigned
char
i
;
for
(
i
=
0
;
i
<
NB_REQ_MAX
;
i
++
)
{
if
(
Macphy_req_table
[
Mod_id
].
Macphy_req_table_entry
[(
i
)
%
NB_REQ_MAX
].
Active
==
0
)
{
Macphy_req_table
[
Mod_id
].
Macphy_req_table_entry
[(
i
)
%
NB_REQ_MAX
].
Active
=
1
;
RCNT
=
(
RCNT
+
1
)
%
NB_REQ_MAX
;
// msg("[MAC_PHY]NEW MAC_REQUEST_CNT=%d,frame %d, Module %d, entry %d \n",Macphy_req_table[Mod_id].Macphy_req_cnt,mac_xface->frame,Mod_id,i);
// Macphy_req_table[Mod_id].Macphy_req_table_entry[i%NB_REQ_MAX].Macphy_data_req.Phy_resources=(PHY_RESOURCES*)malloc16(sizeof(PHY_RESOURCES));
return
(
&
Macphy_req_table
[
Mod_id
].
Macphy_req_table_entry
[
i
%
NB_REQ_MAX
].
Macphy_data_req
);
}
}
msg
(
"[OPENAIR][MAC][ERROR] frame %d: No more DATA_REQ !!!!
\n
"
,
mac_xface
->
frame
);
print_active_requests
(
Mod_id
);
mac_xface
->
macphy_exit
(
"new_macphy_data_req: no more DATA_REQ"
);
//rt_sleep(nano2count(2000));
return
((
MACPHY_DATA_REQ
*
)
0
);
}
#endif //PHY_CONTEXT
#ifdef MAC_CONTEXT
#include "LAYER2/MAC/extern.h"
// Function called by PHY to indicate available data/measurements for MAC
/*___________________________________________________________________________________________________*/
void
macphy_data_ind
(
unsigned
char
Mod_id
,
unsigned
char
Pdu_type
,
void
*
pdu
,
unsigned
short
rnti
)
{
/*___________________________________________________________________________________________________*/
//msg("[OPENAIR][MACPHY] Calling mac_resp In\n");
int
i
;
// if (Req_rx->crc_status[0]!= -1) { //CRC_STATUS
// msg("[OPENAIR][MACPHY] Calling mac_indicate In\n");
// Req_rx->Meas.UL_meas=&UL_meas[Mod_id];
// Req_rx->Meas.DL_meas=&DL_meas[Mod_id];
switch
(
Pdu_type
)
{
case
ULSCH
:
// msg("[OPENAIR][MACPHY] Received RACH, Sending to MAC\n");
nodeb_decode_ulsch
(
Mod_id
,(
ULSCH_PDU
*
)
pdu
,
rnti
);
break
;
case
DLSCH
:
#ifdef DEBUG_UE_DECODE_SACH
msg
(
"[MAC][UE][MAC_PHY] TTI %d Inst %d
\n
"
,
mac_xface
->
frame
,
Mod_id
);
#endif
// ue_decode_dlsch(Mod_id-NB_CH_INST,
// (DLSCH_PDU *)pdu,rnti);
break
;
default:
break
;
}
// msg("Freeing Req %p\n",Macphy_data_req_table_entry);
// }
}
/*PHY_RESOURCES_TABLE_ENTRY *new_phy_resources() {
unsigned char i;
//msg("[OPENAIR][PHY][MAC Interface] New Phy Resource, cnt %d\n",Phy_resources_table.Phy_resources_cnt);
for (i=0;i<NB_PHY_RESOURCES_MAX;i++){
if (Phy_resources_table.Phy_resources_table_entry[(i+Phy_resources_table.Phy_resources_cnt+1)%NB_PHY_RESOURCES_MAX].Active == 0) {
Phy_resources_table.Phy_resources_table_entry[(i+Phy_resources_table.Phy_resources_cnt+1)%NB_PHY_RESOURCES_MAX].Active = 1;
Phy_resources_table.Phy_resources_cnt = (Phy_resources_table.Phy_resources_cnt + 1)%NB_PHY_RESOURCES_MAX;
// msg("[OPENAIR][PHY][MAC Interface] NEW PHY_RESOURCES: Taking index %d\n\n",(i+Phy_resources_table.Phy_resources_cnt+1)%NB_PHY_RESOURCES_MAX);
return(&Phy_resources_table.Phy_resources_table_entry[(i+Phy_resources_table.Phy_resources_cnt)%NB_PHY_RESOURCES_MAX]);
}
}
msg("[OPENAIR][MAC][ERROR] No more PHY_RESOURCES !!!!\n");
exit(-1);
}
*/
#endif //MAC_CONTEXT
// Measurements, etc ..
//short phy_resource_cnt = 0, macphy_data_req_cnt = 0, macphy_data_ind_cnt = 0;
openair2/PHY_INTERFACE/mac_phy_primitives.h
deleted
100644 → 0
View file @
6d4ee0dd
This diff is collapsed.
Click to expand it.
openair2/RRC/LTE/rrc_eNB.c
View file @
19349f0b
...
@@ -104,9 +104,6 @@ static int is_en_dc_supported(LTE_UE_EUTRA_Capability_t *c);
...
@@ -104,9 +104,6 @@ static int is_en_dc_supported(LTE_UE_EUTRA_Capability_t *c);
extern
RAN_CONTEXT_t
RC
;
extern
RAN_CONTEXT_t
RC
;
#ifdef PHY_EMUL
extern
EMULATION_VARS
*
Emul_vars
;
#endif
extern
eNB_MAC_INST
*
eNB_mac_inst
;
extern
eNB_MAC_INST
*
eNB_mac_inst
;
extern
UE_MAC_INST
*
UE_mac_inst
;
extern
UE_MAC_INST
*
UE_mac_inst
;
...
...
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