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
ZhouShuya
OpenXG-RAN
Commits
6a95995f
Commit
6a95995f
authored
Oct 12, 2017
by
Nick Ho
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Make some of the functions in L2_interface_NB_IoT.c to the place they should be placed
parent
b44acd9f
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
95 additions
and
243 deletions
+95
-243
openair1/PHY/INIT/lte_init_NB_IoT.c
openair1/PHY/INIT/lte_init_NB_IoT.c
+1
-1
openair2/LAYER2/MAC/config_NB_IoT.c
openair2/LAYER2/MAC/config_NB_IoT.c
+82
-2
openair2/LAYER2/MAC/defs_NB_IoT.h
openair2/LAYER2/MAC/defs_NB_IoT.h
+0
-4
openair2/LAYER2/MAC/eNB_scheduler_NB_IoT.c
openair2/LAYER2/MAC/eNB_scheduler_NB_IoT.c
+2
-0
openair2/LAYER2/MAC/eNB_scheduler_RA_NB_IoT.c
openair2/LAYER2/MAC/eNB_scheduler_RA_NB_IoT.c
+1
-1
openair2/LAYER2/MAC/eNB_scheduler_ulsch_NB_IoT.c
openair2/LAYER2/MAC/eNB_scheduler_ulsch_NB_IoT.c
+1
-1
openair2/LAYER2/MAC/proto_NB_IoT.h
openair2/LAYER2/MAC/proto_NB_IoT.h
+6
-0
openair2/RRC/LITE/L2_interface_NB_IoT.c
openair2/RRC/LITE/L2_interface_NB_IoT.c
+0
-95
openair2/RRC/LITE/defs_NB_IoT.h
openair2/RRC/LITE/defs_NB_IoT.h
+2
-105
openair2/RRC/LITE/proto_NB_IoT.h
openair2/RRC/LITE/proto_NB_IoT.h
+0
-34
No files found.
openair1/PHY/INIT/lte_init_NB_IoT.c
View file @
6a95995f
...
@@ -23,7 +23,7 @@
...
@@ -23,7 +23,7 @@
#include "SCHED/defs_NB_IoT.h"
#include "SCHED/defs_NB_IoT.h"
//#include "PHY/extern.h"
//#include "PHY/extern.h"
#include "PHY/extern_NB_IoT.h" // PHY/defs_NB_IoT.h is called here , log.h & LTE_TRANSPORT/defs_NB_IoT.h are included through PHY/defs_NB_IoT.h
#include "PHY/extern_NB_IoT.h" // PHY/defs_NB_IoT.h is called here , log.h & LTE_TRANSPORT/defs_NB_IoT.h are included through PHY/defs_NB_IoT.h
#include "
RRC/LITE
/proto_NB_IoT.h" // for functions: from_earfcn_NB_IoT, get_uldl_offset_NB_IoT
#include "
openair2/LAYER2/MAC
/proto_NB_IoT.h" // for functions: from_earfcn_NB_IoT, get_uldl_offset_NB_IoT
//#include "SIMULATION/TOOLS/defs.h"
//#include "SIMULATION/TOOLS/defs.h"
//#include "RadioResourceConfigCommonSIB.h"
//#include "RadioResourceConfigCommonSIB.h"
//#include "RadioResourceConfigDedicated.h"
//#include "RadioResourceConfigDedicated.h"
...
...
openair2/LAYER2/MAC/config_NB_IoT.c
View file @
6a95995f
...
@@ -14,7 +14,87 @@
...
@@ -14,7 +14,87 @@
#include "BCCH-DL-SCH-Message-NB.h"
#include "BCCH-DL-SCH-Message-NB.h"
#include "RRCConnectionSetup-NB.h"
#include "RRCConnectionSetup-NB.h"
#include "BCCH-BCH-Message-NB.h"
#include "BCCH-BCH-Message-NB.h"
#include "SIB-Type-NB-r13.h"
//#include "SIB-Type-NB-r13.h"
typedef
struct
eutra_bandentry_NB_s
{
//this should be the colum order of the table below
int16_t
band
;
uint32_t
ul_min
;
uint32_t
ul_max
;
uint32_t
dl_min
;
uint32_t
dl_max
;
uint32_t
N_OFFs_DL
;
}
eutra_bandentry_NB_IoT_t
;
typedef
struct
band_info_s
{
int
nbands
;
eutra_bandentry_NB_IoT_t
band_info
[
100
];
}
band_info_t
;
static
const
eutra_bandentry_NB_IoT_t
eutra_bandtable
[]
=
{
//[BAND] [FUL_low] [FUL_hi] [FDL_low] [FDL_hig] [NOFF_DL]
{
1
,
19200
,
19800
,
21100
,
21700
,
0
},
{
2
,
18500
,
19100
,
19300
,
19900
,
6000
},
{
3
,
17100
,
17850
,
18050
,
18800
,
12000
},
{
5
,
8240
,
8490
,
8690
,
8940
,
24000
},
{
8
,
8800
,
9150
,
9250
,
9600
,
34500
},
{
11
,
14279
,
14529
,
14759
,
15009
,
47500
},
{
12
,
6980
,
7160
,
7280
,
7460
,
50100
},
{
13
,
7770
,
7870
,
7460
,
7560
,
51800
},
{
17
,
7040
,
7160
,
7340
,
7460
,
57300
},
{
18
,
8150
,
9650
,
8600
,
10100
,
58500
},
{
19
,
8300
,
8450
,
8750
,
8900
,
60000
},
{
20
,
8320
,
8620
,
7910
,
8210
,
61500
},
{
25
,
18500
,
19150
,
19300
,
19950
,
80400
},
{
26
,
8140
,
8490
,
8590
,
8940
,
86900
},
{
28
,
7030
,
7580
,
7580
,
8130
,
92100
},
{
31
,
45250
,
34900
,
46250
,
35900
,
98700
},
{
66
,
17100
,
18000
,
21100
,
22000
,
664360
},
{
70
,
16950
,
17100
,
19950
,
20200
,
683360
}};
//may not used for Rel.13 equipment
//this function is used in phy_config_mib_NB for getting the DL Carrier Frequency from the EARFCN
uint32_t
from_earfcn_NB_IoT
(
int
eutra_bandP
,
uint32_t
dl_earfcn
,
float
m_dl
)
{
int
i
;
// float m_dl = 0; //for the moment we fix but maybe should be dynamic (anyway the 0 works for any case)
AssertFatal
(
eutra_bandP
<=
70
,
"eutra_band %d > 70
\n
"
,
eutra_bandP
);
for
(
i
=
0
;
i
<=
70
&&
eutra_bandtable
[
i
].
band
!=
eutra_bandP
;
i
++
);
return
(
eutra_bandtable
[
i
].
dl_min
+
0
.
0025
*
(
2
*
m_dl
+
1
)
+
(
dl_earfcn
-
(
eutra_bandtable
[
i
].
N_OFFs_DL
/
10
)))
*
100000
;
}
int32_t
get_uldl_offset_NB_IoT
(
int
eutra_band
)
{
return
(
-
eutra_bandtable
[
eutra_band
].
dl_min
+
eutra_bandtable
[
eutra_band
].
ul_min
);
}
uint32_t
to_earfcn
(
int
eutra_bandP
,
uint32_t
dl_CarrierFreq
,
float
m_dl
)
{
uint32_t
dl_CarrierFreq_by_100k
=
dl_CarrierFreq
/
100000
;
int
i
;
AssertFatal
(
eutra_bandP
<
70
,
"eutra_band %d > 70
\n
"
,
eutra_bandP
);
for
(
i
=
0
;
i
<
69
&&
eutra_bandtable
[
i
].
band
!=
eutra_bandP
;
i
++
);
AssertFatal
(
dl_CarrierFreq_by_100k
>=
eutra_bandtable
[
i
].
dl_min
,
"Band %d : DL carrier frequency %u Hz < %u
\n
"
,
eutra_bandP
,
dl_CarrierFreq
,
eutra_bandtable
[
i
].
dl_min
);
//I would say that for sure the EUTRA band is larger that 1 PRB for NB-IoT so this check may is unuseful
// AssertFatal(dl_CarrierFreq_by_100k<=(eutra_bandtable[i].dl_max-bw_by_100),
// "Band %d, bw %u: DL carrier frequency %u Hz > %d\n",
// eutra_bandP,bw,dl_CarrierFreq,eutra_bandtable[i].dl_max-bw_by_100);
//based on formula TS 36.101 5.7.3F
return
(
dl_CarrierFreq_by_100k
-
eutra_bandtable
[
i
].
dl_min
-
0
.
0025
*
(
2
*
m_dl
+
1
)
+
(
eutra_bandtable
[
i
].
N_OFFs_DL
/
10
));
}
void
config_mib_fapi_NB_IoT
(
void
config_mib_fapi_NB_IoT
(
...
@@ -533,7 +613,7 @@ void rrc_mac_config_req_NB_IoT(
...
@@ -533,7 +613,7 @@ void rrc_mac_config_req_NB_IoT(
if
(
if_inst
->
PHY_config_req
)
if
(
if_inst
->
PHY_config_req
)
if_inst
->
PHY_config_req
(
config_INFO
);
if_inst
->
PHY_config_req
(
config_INFO
);
return
0
;
//
return 0;
/*if( ded_flag!=0 )
/*if( ded_flag!=0 )
...
...
openair2/LAYER2/MAC/defs_NB_IoT.h
View file @
6a95995f
...
@@ -20,10 +20,6 @@
...
@@ -20,10 +20,6 @@
#include "PHY/LTE_TRANSPORT/defs_NB_IoT.h"
#include "PHY/LTE_TRANSPORT/defs_NB_IoT.h"
//#include "PHY/defs.h"
//#include "PHY/defs.h"
#include "PHY/defs_NB_IoT.h"
#include "PHY/defs_NB_IoT.h"
//#include "BCCH-DL-SCH-Message-NB.h"
//#include "RRCConnectionSetup-NB.h"
//#include "BCCH-BCH-Message-NB.h"
//#include "SIB-Type-NB-r13.h"
#include "openair2/PHY_INTERFACE/IF_Module_NB_IoT.h"
#include "openair2/PHY_INTERFACE/IF_Module_NB_IoT.h"
#include "config_NB_IoT.h"
#include "config_NB_IoT.h"
...
...
openair2/LAYER2/MAC/eNB_scheduler_NB_IoT.c
View file @
6a95995f
...
@@ -148,6 +148,8 @@ void eNB_dlsch_ulsch_scheduler_NB_IoT(eNB_MAC_INST_NB_IoT *mac_inst, uint32_t ab
...
@@ -148,6 +148,8 @@ void eNB_dlsch_ulsch_scheduler_NB_IoT(eNB_MAC_INST_NB_IoT *mac_inst, uint32_t ab
SIB1_flag
=
1
;
SIB1_flag
=
1
;
convert_system_number
(
abs_subframe
,
&
h
,
&
f
,
&
sf
);
convert_system_number
(
abs_subframe
,
&
h
,
&
f
,
&
sf
);
a
=
output_handler
(
mac_inst
,
0
,
0
,
h
,
f
,
sf
,
MIB_flag
,
SIB1_flag
,
abs_subframe
);
a
=
output_handler
(
mac_inst
,
0
,
0
,
h
,
f
,
sf
,
MIB_flag
,
SIB1_flag
,
abs_subframe
);
printf
(
"Output_handler_return value : %d"
,
a
);
//DEBUG("--------------[%04d][eNB scheduler NB-IoT] End Scheduling------------\n", mac_inst->current_subframe);
//DEBUG("--------------[%04d][eNB scheduler NB-IoT] End Scheduling------------\n", mac_inst->current_subframe);
}
}
...
...
openair2/LAYER2/MAC/eNB_scheduler_RA_NB_IoT.c
View file @
6a95995f
...
@@ -658,7 +658,7 @@ void schedule_msg4_NB_IoT(eNB_MAC_INST_NB_IoT *mac_inst){
...
@@ -658,7 +658,7 @@ void schedule_msg4_NB_IoT(eNB_MAC_INST_NB_IoT *mac_inst){
void
schedule_RA_NB_IoT
(
eNB_MAC_INST_NB_IoT
*
mac_inst
){
void
schedule_RA_NB_IoT
(
eNB_MAC_INST_NB_IoT
*
mac_inst
){
uint32_t
current_subframe
=
mac_inst
->
current_subframe
;
//
uint32_t current_subframe = mac_inst->current_subframe;
schedule_msg3_retransimission_NB_IoT
(
mac_inst
);
schedule_msg3_retransimission_NB_IoT
(
mac_inst
);
schedule_rar_NB_IoT
(
mac_inst
);
schedule_rar_NB_IoT
(
mac_inst
);
...
...
openair2/LAYER2/MAC/eNB_scheduler_ulsch_NB_IoT.c
View file @
6a95995f
...
@@ -489,7 +489,7 @@ void rx_sdu_NB_IoT(module_id_t module_id, int CC_id, frame_t frame, sub_frame_t
...
@@ -489,7 +489,7 @@ void rx_sdu_NB_IoT(module_id_t module_id, int CC_id, frame_t frame, sub_frame_t
unsigned
char
rx_ces
[
5
],
num_ce
=
0
,
num_sdu
=
0
,
*
payload_ptr
,
i
;
// MAX Control element
unsigned
char
rx_ces
[
5
],
num_ce
=
0
,
num_sdu
=
0
,
*
payload_ptr
,
i
;
// MAX Control element
unsigned
char
rx_lcids
[
5
];
//for NB_IoT-IoT, NB_IoT_RB_MAX should be fixed to 5 (2 DRB+ 3SRB)
unsigned
char
rx_lcids
[
5
];
//for NB_IoT-IoT, NB_IoT_RB_MAX should be fixed to 5 (2 DRB+ 3SRB)
unsigned
short
rx_lengths
[
5
];
unsigned
short
rx_lengths
[
5
];
int
UE_id
=
0
;
//
int UE_id = 0;
int
BSR_index
=
0
;
int
BSR_index
=
0
;
int
DVI_index
=
0
;
int
DVI_index
=
0
;
int
PHR
=
0
;
int
PHR
=
0
;
...
...
openair2/LAYER2/MAC/proto_NB_IoT.h
View file @
6a95995f
...
@@ -97,6 +97,12 @@ void convert_system_number(uint32_t source_sf,uint32_t *hyperSF, uint32_t *frame
...
@@ -97,6 +97,12 @@ void convert_system_number(uint32_t source_sf,uint32_t *hyperSF, uint32_t *frame
uint32_t
convert_system_number_sf
(
uint32_t
hyperSF
,
uint32_t
frame
,
uint32_t
subframe
);
uint32_t
convert_system_number_sf
(
uint32_t
hyperSF
,
uint32_t
frame
,
uint32_t
subframe
);
uint32_t
to_earfcn
(
int
eutra_bandP
,
uint32_t
dl_CarrierFreq
,
float
m_dl
);
uint32_t
from_earfcn_NB_IoT
(
int
eutra_bandP
,
uint32_t
dl_earfcn
,
float
m_dl
);
int32_t
get_uldl_offset_NB_IoT
(
int
eutra_band
);
void
config_mib_fapi_NB_IoT
(
void
config_mib_fapi_NB_IoT
(
int
rntiP
,
int
rntiP
,
int
physCellId
,
int
physCellId
,
...
...
openair2/RRC/LITE/L2_interface_NB_IoT.c
View file @
6a95995f
...
@@ -134,101 +134,6 @@ float Category_Offset_NB_IoT[21] = {-10,-9,-8,-7,-6,-5,-4,-3,-2,-1,-0.5,0,
...
@@ -134,101 +134,6 @@ float Category_Offset_NB_IoT[21] = {-10,-9,-8,-7,-6,-5,-4,-3,-2,-1,-0.5,0,
float
Category_Offset_short_NB_IoT
[
2
]
=
{
-
0
.
5
,
0
};
//for guard band operating mode
float
Category_Offset_short_NB_IoT
[
2
]
=
{
-
0
.
5
,
0
};
//for guard band operating mode
float
Category_Offset_anchor_NB_IoT
[
4
]
=
{
-
2
,
-
1
,
0
,
1
};
//for in band and guard band mode over anchor carrier (include nsss and npsss)
float
Category_Offset_anchor_NB_IoT
[
4
]
=
{
-
2
,
-
1
,
0
,
1
};
//for in band and guard band mode over anchor carrier (include nsss and npsss)
typedef
struct
eutra_bandentry_NB_s
{
//this should be the colum order of the table below
int16_t
band
;
uint32_t
ul_min
;
uint32_t
ul_max
;
uint32_t
dl_min
;
uint32_t
dl_max
;
uint32_t
N_OFFs_DL
;
}
eutra_bandentry_NB_IoT_t
;
typedef
struct
band_info_s
{
int
nbands
;
eutra_bandentry_NB_IoT_t
band_info
[
100
];
}
band_info_t
;
//TS 36.101 Table 7.7.3-1 for the EARFCN values (Last column of the table Noff_DL = lowest defined EARFCN value for the corresponding band)
//TS 36.101 Table 5.5-1 for the Operating bands + 5.5F for the operating bands of category NB1 and NB2
//frequency are in 100KHz in order to consider all unsigned int
static
const
eutra_bandentry_NB_IoT_t
eutra_bandtable
[]
=
{
//[BAND] [FUL_low] [FUL_hi] [FDL_low] [FDL_hig] [NOFF_DL]
{
1
,
19200
,
19800
,
21100
,
21700
,
0
},
{
2
,
18500
,
19100
,
19300
,
19900
,
6000
},
{
3
,
17100
,
17850
,
18050
,
18800
,
12000
},
{
5
,
8240
,
8490
,
8690
,
8940
,
24000
},
{
8
,
8800
,
9150
,
9250
,
9600
,
34500
},
{
11
,
14279
,
14529
,
14759
,
15009
,
47500
},
{
12
,
6980
,
7160
,
7280
,
7460
,
50100
},
{
13
,
7770
,
7870
,
7460
,
7560
,
51800
},
{
17
,
7040
,
7160
,
7340
,
7460
,
57300
},
{
18
,
8150
,
9650
,
8600
,
10100
,
58500
},
{
19
,
8300
,
8450
,
8750
,
8900
,
60000
},
{
20
,
8320
,
8620
,
7910
,
8210
,
61500
},
{
25
,
18500
,
19150
,
19300
,
19950
,
80400
},
{
26
,
8140
,
8490
,
8590
,
8940
,
86900
},
{
28
,
7030
,
7580
,
7580
,
8130
,
92100
},
{
31
,
45250
,
34900
,
46250
,
35900
,
98700
},
{
66
,
17100
,
18000
,
21100
,
22000
,
664360
},
{
70
,
16950
,
17100
,
19950
,
20200
,
683360
}};
//may not used for Rel.13 equipment
uint32_t
to_earfcn
(
int
eutra_bandP
,
uint32_t
dl_CarrierFreq
,
float
m_dl
)
{
uint32_t
dl_CarrierFreq_by_100k
=
dl_CarrierFreq
/
100000
;
int
i
;
AssertFatal
(
eutra_bandP
<
70
,
"eutra_band %d > 70
\n
"
,
eutra_bandP
);
for
(
i
=
0
;
i
<
69
&&
eutra_bandtable
[
i
].
band
!=
eutra_bandP
;
i
++
);
AssertFatal
(
dl_CarrierFreq_by_100k
>=
eutra_bandtable
[
i
].
dl_min
,
"Band %d : DL carrier frequency %u Hz < %u
\n
"
,
eutra_bandP
,
dl_CarrierFreq
,
eutra_bandtable
[
i
].
dl_min
);
//I would say that for sure the EUTRA band is larger that 1 PRB for NB-IoT so this check may is unuseful
// AssertFatal(dl_CarrierFreq_by_100k<=(eutra_bandtable[i].dl_max-bw_by_100),
// "Band %d, bw %u: DL carrier frequency %u Hz > %d\n",
// eutra_bandP,bw,dl_CarrierFreq,eutra_bandtable[i].dl_max-bw_by_100);
//based on formula TS 36.101 5.7.3F
return
(
dl_CarrierFreq_by_100k
-
eutra_bandtable
[
i
].
dl_min
-
0
.
0025
*
(
2
*
m_dl
+
1
)
+
(
eutra_bandtable
[
i
].
N_OFFs_DL
/
10
));
}
//PROBLEM: for UE category NB1 and NB2 the introduction of the offset (m_dl) may create some problems in the reconstruction of the dl_CarrierFreq
//this function is used in phy_config_mib_NB for getting the DL Carrier Frequency from the EARFCN
uint32_t
from_earfcn_NB_IoT
(
int
eutra_bandP
,
uint32_t
dl_earfcn
,
float
m_dl
)
{
int
i
;
// float m_dl = 0; //for the moment we fix but maybe should be dynamic (anyway the 0 works for any case)
AssertFatal
(
eutra_bandP
<=
70
,
"eutra_band %d > 70
\n
"
,
eutra_bandP
);
for
(
i
=
0
;
i
<=
70
&&
eutra_bandtable
[
i
].
band
!=
eutra_bandP
;
i
++
);
return
(
eutra_bandtable
[
i
].
dl_min
+
0
.
0025
*
(
2
*
m_dl
+
1
)
+
(
dl_earfcn
-
(
eutra_bandtable
[
i
].
N_OFFs_DL
/
10
)))
*
100000
;
}
int32_t
get_uldl_offset_NB_IoT
(
int
eutra_band
)
{
return
(
-
eutra_bandtable
[
eutra_band
].
dl_min
+
eutra_bandtable
[
eutra_band
].
ul_min
);
}
/*
* 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
//FIXME: this function has no implication in terms of logical channel configuration for MAC
//-------------------------------------------------------
//-------------------------------------------------------
//New
//New
int
npdsch_rep_to_array
[
3
]
=
{
4
,
8
,
16
};
//TS 36.213 Table 16.4.1.3-3
int
npdsch_rep_to_array
[
3
]
=
{
4
,
8
,
16
};
//TS 36.213 Table 16.4.1.3-3
...
...
openair2/RRC/LITE/defs_NB_IoT.h
View file @
6a95995f
...
@@ -53,36 +53,10 @@
...
@@ -53,36 +53,10 @@
#endif
#endif
//----Not needed for NB-IoT??-------- (but have to left for UE?)
//#include "SystemInformationBlockType1.h"
//#include "SystemInformation.h"
//#include "RRCConnectionReconfiguration.h"
//#include "RRCConnectionReconfigurationComplete.h"
//#include "RRCConnectionSetup.h"
//#include "RRCConnectionSetupComplete.h"
//#include "RRCConnectionRequest.h"
//#include "RRCConnectionReestablishmentRequest.h"
//#include "BCCH-DL-SCH-Message.h"
//#include "BCCH-BCH-Message.h"
//
//#if defined(Rel10) || defined(Rel14)
//#include "MCCH-Message.h"
//#include "MBSFNAreaConfiguration-r9.h"
//#include "SCellToAddMod-r10.h"
//#endif
//
//#include "AS-Config.h"
//#include "AS-Context.h"
//#include "UE-EUTRA-Capability.h"
//#include "MeasResults.h"
//--------------------------------------
//-----NB-IoT #include files-------
//-----NB-IoT #include files-------
#include "SystemInformationBlockType1-NB.h"
//
#include "SystemInformationBlockType1-NB.h"
#include "SystemInformation-NB.h"
//
#include "SystemInformation-NB.h"
#include "RRCConnectionReconfiguration-NB.h"
#include "RRCConnectionReconfiguration-NB.h"
#include "RRCConnectionReconfigurationComplete-NB.h"
#include "RRCConnectionReconfigurationComplete-NB.h"
#include "RRCConnectionSetup-NB.h"
#include "RRCConnectionSetup-NB.h"
...
@@ -96,83 +70,6 @@
...
@@ -96,83 +70,6 @@
#include "UE-Capability-NB-r13.h" //equivalent of UE-EUTRA-Capability.h
#include "UE-Capability-NB-r13.h" //equivalent of UE-EUTRA-Capability.h
//-------------------
//-------------------
/* correct Rel(8|10)/Rel14 differences
* the code is in favor of Rel14, those defines do the translation
*/
/*
#if !defined(Rel14)
# define CipheringAlgorithm_r12_t e_SecurityAlgorithmConfig__cipheringAlgorithm
# define CipheringAlgorithm_r12_t e_CipheringAlgorithm_r12 //maybe this solve the problem of the previous line
# define CipheringAlgorithm_r12_eea0 SecurityAlgorithmConfig__cipheringAlgorithm_eea0
# define CipheringAlgorithm_r12_eea1 SecurityAlgorithmConfig__cipheringAlgorithm_eea1
# define CipheringAlgorithm_r12_eea2 SecurityAlgorithmConfig__cipheringAlgorithm_eea2
# define CipheringAlgorithm_r12_spare1 SecurityAlgorithmConfig__cipheringAlgorithm_spare1
# define Alpha_r12_al0 UplinkPowerControlCommon__alpha_al0
# define Alpha_r12_al04 UplinkPowerControlCommon__alpha_al04
# define Alpha_r12_al05 UplinkPowerControlCommon__alpha_al05
# define Alpha_r12_al06 UplinkPowerControlCommon__alpha_al06
# define Alpha_r12_al07 UplinkPowerControlCommon__alpha_al07
# define Alpha_r12_al08 UplinkPowerControlCommon__alpha_al08
# define Alpha_r12_al09 UplinkPowerControlCommon__alpha_al09
# define Alpha_r12_al1 UplinkPowerControlCommon__alpha_al1
# define PreambleTransMax_t e_PreambleTransMax //maybe this solve problem (asn1_msg_nb_iot.c line 726)
# define PreambleTransMax_n3 RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n3
# define PreambleTransMax_n4 RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n4
# define PreambleTransMax_n5 RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n5
# define PreambleTransMax_n6 RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n6
# define PreambleTransMax_n7 RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n7
# define PreambleTransMax_n8 RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n8
# define PreambleTransMax_n10 RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n10
# define PreambleTransMax_n20 RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n20
# define PreambleTransMax_n50 RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n50
# define PreambleTransMax_n100 RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n100
# define PreambleTransMax_n200 RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n200
# define PeriodicBSR_Timer_r12_sf5 MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf5
# define PeriodicBSR_Timer_r12_sf10 MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf10
# define PeriodicBSR_Timer_r12_sf16 MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf16
# define PeriodicBSR_Timer_r12_sf20 MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf20
# define PeriodicBSR_Timer_r12_sf32 MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf32
# define PeriodicBSR_Timer_r12_sf40 MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf40
# define PeriodicBSR_Timer_r12_sf64 MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf64
# define PeriodicBSR_Timer_r12_sf80 MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf80
# define PeriodicBSR_Timer_r12_sf128 MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf128
# define PeriodicBSR_Timer_r12_sf160 MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf160
# define PeriodicBSR_Timer_r12_sf320 MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf320
# define PeriodicBSR_Timer_r12_sf640 MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf640
# define PeriodicBSR_Timer_r12_sf1280 MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf1280
# define PeriodicBSR_Timer_r12_sf2560 MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf2560
# define PeriodicBSR_Timer_r12_infinity MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_infinity
# define RetxBSR_Timer_r12_sf320 MAC_MainConfig__ul_SCH_Config__retxBSR_Timer_sf320
# define RetxBSR_Timer_r12_sf640 MAC_MainConfig__ul_SCH_Config__retxBSR_Timer_sf640
# define RetxBSR_Timer_r12_sf1280 MAC_MainConfig__ul_SCH_Config__retxBSR_Timer_sf1280
# define RetxBSR_Timer_r12_sf2560 MAC_MainConfig__ul_SCH_Config__retxBSR_Timer_sf2560
# define RetxBSR_Timer_r12_sf5120 MAC_MainConfig__ul_SCH_Config__retxBSR_Timer_sf5120
# define RetxBSR_Timer_r12_sf10240 MAC_MainConfig__ul_SCH_Config__retxBSR_Timer_sf10240
#endif
// This corrects something generated by asn1c which is different between Rel8 and Rel10
#if !defined(Rel10) && !defined(Rel14)
#define SystemInformation_r8_IEs__sib_TypeAndInfo__Member SystemInformation_r8_IEs_sib_TypeAndInfo_Member
#define SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib2 SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib2
#define SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib3 SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib3
#define SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib4 SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib4
#define SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib5 SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib5
#define SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib6 SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib6
#define SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib7 SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib7
#define SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib8 SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib8
#define SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib9 SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib9
#define SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib10 SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib10
#define SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib11 SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib11
#endif
*/
#ifndef NO_RRM
#include "L3_rrc_interface.h"
#include "rrc_rrm_msg.h"
#include "rrc_rrm_interface.h"
#endif
#if defined(ENABLE_ITTI)
#if defined(ENABLE_ITTI)
# include "intertask_interface.h"
# include "intertask_interface.h"
#endif
#endif
...
...
openair2/RRC/LITE/proto_NB_IoT.h
View file @
6a95995f
...
@@ -63,36 +63,6 @@ RRC_status_t rrc_rx_tx_NB_IoT(protocol_ctxt_t* const ctxt_pP, const uint8_t enb
...
@@ -63,36 +63,6 @@ RRC_status_t rrc_rx_tx_NB_IoT(protocol_ctxt_t* const ctxt_pP, const uint8_t enb
//long binary_search_int(int elements[], long numElem, int value);--> seems not to be used
//long binary_search_int(int elements[], long numElem, int value);--> seems not to be used
//long binary_search_float(float elements[], long numElem, float value);--> used only at UE side
//long binary_search_float(float elements[], long numElem, float value);--> used only at UE side
/*------------------------L2_interface_nb_iot.c (temporary location for most of the interfaces)--------*/
//defined in MAC/config.c
//FIXME: this function has no implication in terms of logical channel configuration for MAC
int
rrc_mac_config_req_eNB_NB_IoT
(
module_id_t
Mod_idP
,
int
CC_idP
,
int
rntiP
,
int
physCellId
,
int
p_eNB
,
int
p_rx_eNB
,
// number of rx antenna ports
int
Ncp
,
int
Ncp_UL
,
long
eutra_band
,
//FIXME: frequencyBandIndicator in sib1 (is a long not an int!!)
struct
NS_PmaxList_NB_r13
*
frequencyBandInfo
,
//optional SIB1
struct
MultiBandInfoList_NB_r13
*
multiBandInfoList
,
//optional SIB1
struct
DL_Bitmap_NB_r13
*
dl_bitmap
,
//optional SIB1
long
*
eutraControlRegionSize
,
//optional sib1
long
*
nrs_CRS_PowerOffset
,
//optional
// uint8_t *SIwindowsize, //maybe no more needed because TDD only
// uint16_t *SIperiod, //maybe no more needed because TDD only
uint32_t
dl_CarrierFreq
,
uint32_t
ul_CarrierFreq
,
BCCH_BCH_Message_NB_t
*
mib_NB
,
RadioResourceConfigCommonSIB_NB_r13_t
*
radioResourceConfigCommon
,
struct
PhysicalConfigDedicated_NB_r13
*
physicalConfigDedicated
,
MAC_MainConfig_NB_r13_t
*
mac_MainConfig
,
long
logicalChannelIdentity
,
//FIXME: decide how to use it
LogicalChannelConfig_NB_r13_t
*
logicalChannelConfig
//FIXME: decide how to use it
);
//----------------------------------------
//----------------------------------------
...
@@ -579,10 +549,6 @@ uint8_t rrc_eNB_get_next_transaction_identifier_NB_IoT(module_id_t module_idP);
...
@@ -579,10 +549,6 @@ uint8_t rrc_eNB_get_next_transaction_identifier_NB_IoT(module_id_t module_idP);
int
rrc_init_global_param_NB_IoT
(
void
);
int
rrc_init_global_param_NB_IoT
(
void
);
uint32_t
from_earfcn_NB_IoT
(
int
eutra_bandP
,
uint32_t
dl_earfcn
,
float
m_dl
);
int32_t
get_uldl_offset_NB_IoT
(
int
eutra_band
);
//L2_interface.c
//L2_interface.c
int8_t
mac_rrc_data_req_NB_IoT
(
int8_t
mac_rrc_data_req_NB_IoT
(
const
module_id_t
Mod_idP
,
const
module_id_t
Mod_idP
,
...
...
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