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
lizhongxiao
OpenXG-RAN
Commits
2a652c6e
Commit
2a652c6e
authored
Jan 16, 2024
by
luis_pereira87
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Further improvements to get better connection with USRPs
parent
580722b5
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
19 additions
and
9 deletions
+19
-9
executables/nr-ue.c
executables/nr-ue.c
+8
-2
executables/nr-uesoftmodem.h
executables/nr-uesoftmodem.h
+1
-1
openair2/RRC/NR/nr_rrc_config.c
openair2/RRC/NR/nr_rrc_config.c
+6
-6
openair2/RRC/NR/rrc_gNB.c
openair2/RRC/NR/rrc_gNB.c
+4
-0
No files found.
executables/nr-ue.c
View file @
2a652c6e
...
...
@@ -821,6 +821,14 @@ void *UE_thread(void *arg)
UE
->
is_synchronized
=
0
;
AssertFatal
(
UE
->
rfdevice
.
trx_start_func
(
&
UE
->
rfdevice
)
==
0
,
"Could not start the device
\n
"
);
if
(
!
IS_SOFTMODEM_RFSIM
)
{
if
(
UE
->
rfdevice
.
openair0_cfg
->
sample_rate
==
7680000
)
{
UE
->
rfdevice
.
openair0_cfg
->
tx_sample_advance
=
112
;
}
else
if
(
UE
->
rfdevice
.
openair0_cfg
->
sample_rate
==
15360000
)
{
UE
->
rfdevice
.
openair0_cfg
->
tx_sample_advance
=
128
;
}
}
notifiedFIFO_t
nf
;
initNotifiedFIFO
(
&
nf
);
...
...
@@ -869,8 +877,6 @@ void *UE_thread(void *arg)
UE
->
rx_offset_comp
=
0
;
UE
->
timing_advance
+=
ta_shift
;
}
// Reset target_Nid_cell for next handover
UE
->
target_Nid_cell
=
-
1
;
// Still unknown why need to reset timing_advance in RFsim to avoid:
// Received RAR preamble (38) doesn't match the intended RAPID (37)
UE
->
timing_advance
=
0
;
...
...
executables/nr-uesoftmodem.h
View file @
2a652c6e
...
...
@@ -36,7 +36,7 @@
{"single-thread-disable", CONFIG_HLP_NOSNGLT, PARAMFLAG_BOOL, .iptr=&single_thread_flag, .defintval=1, TYPE_INT, 0}, \
{"dlsch-parallel", CONFIG_HLP_DLSCH_PARA, 0, .u8ptr=NULL, .defintval=0, TYPE_UINT8, 0}, \
{"offset-divisor", CONFIG_HLP_OFFSET_DIV, 0, .uptr=&nrUE_params.ofdm_offset_divisor, .defuintval=8, TYPE_UINT32, 0}, \
{"max-ldpc-iterations", CONFIG_HLP_MAX_LDPC_ITERATIONS, 0, .iptr=&nrUE_params.max_ldpc_iterations, .defuintval=
5
, TYPE_UINT8, 0}, \
{"max-ldpc-iterations", CONFIG_HLP_MAX_LDPC_ITERATIONS, 0, .iptr=&nrUE_params.max_ldpc_iterations, .defuintval=
10
, TYPE_UINT8, 0}, \
{"nr-dlsch-demod-shift", CONFIG_HLP_DLSHIFT, 0, .iptr=(int32_t *)&nr_dlsch_demod_shift, .defintval=0, TYPE_INT, 0}, \
{"V" , CONFIG_HLP_VCD, PARAMFLAG_BOOL, .iptr=&vcdflag, .defintval=0, TYPE_INT, 0}, \
{"uecap_file", CONFIG_HLP_UECAP_FILE, 0, .strptr=&uecap_file, .defstrval="./uecap_ports1.xml", TYPE_STRING, 0}, \
...
...
openair2/RRC/NR/nr_rrc_config.c
View file @
2a652c6e
...
...
@@ -64,8 +64,8 @@ static NR_SearchSpace_t *rrc_searchspace_config(bool is_common, int searchspacei
ss
->
nrofCandidates
->
aggregationLevel4
=
NR_SearchSpace__nrofCandidates__aggregationLevel4_n1
;
}
else
{
ss
->
nrofCandidates
->
aggregationLevel2
=
NR_SearchSpace__nrofCandidates__aggregationLevel2_n
2
;
ss
->
nrofCandidates
->
aggregationLevel4
=
NR_SearchSpace__nrofCandidates__aggregationLevel4_n
0
;
ss
->
nrofCandidates
->
aggregationLevel2
=
NR_SearchSpace__nrofCandidates__aggregationLevel2_n
0
;
ss
->
nrofCandidates
->
aggregationLevel4
=
NR_SearchSpace__nrofCandidates__aggregationLevel4_n
2
;
}
ss
->
nrofCandidates
->
aggregationLevel8
=
NR_SearchSpace__nrofCandidates__aggregationLevel8_n0
;
ss
->
nrofCandidates
->
aggregationLevel16
=
NR_SearchSpace__nrofCandidates__aggregationLevel16_n0
;
...
...
@@ -806,8 +806,8 @@ static void config_pucch_resset0(NR_PUCCH_Config_t *pucch_Config, int uid, int c
pucchres0
->
format
.
present
=
NR_PUCCH_Resource__format_PR_format0
;
pucchres0
->
format
.
choice
.
format0
=
calloc
(
1
,
sizeof
(
*
pucchres0
->
format
.
choice
.
format0
));
pucchres0
->
format
.
choice
.
format0
->
initialCyclicShift
=
0
;
pucchres0
->
format
.
choice
.
format0
->
nrofSymbols
=
1
;
pucchres0
->
format
.
choice
.
format0
->
startingSymbolIndex
=
1
3
;
pucchres0
->
format
.
choice
.
format0
->
nrofSymbols
=
2
;
pucchres0
->
format
.
choice
.
format0
->
startingSymbolIndex
=
1
2
;
asn1cSeqAdd
(
&
pucch_Config
->
resourceToAddModList
->
list
,
pucchres0
);
asn1cSeqAdd
(
&
pucch_Config
->
resourceSetToAddModList
->
list
,
pucchresset
);
...
...
@@ -1145,9 +1145,9 @@ static struct NR_SetupRelease_PDSCH_Config *config_pdsch(uint64_t ssb_bitmap, in
dmrs_DownlinkForPDSCH_MappingTypeA
->
maxLength
=
NULL
;
dmrs_DownlinkForPDSCH_MappingTypeA
->
scramblingID0
=
NULL
;
dmrs_DownlinkForPDSCH_MappingTypeA
->
scramblingID1
=
NULL
;
dmrs_DownlinkForPDSCH_MappingTypeA
->
dmrs_AdditionalPosition
=
calloc
(
1
,
sizeof
(
*
dmrs_DownlinkForPDSCH_MappingTypeA
->
dmrs_AdditionalPosition
));
dmrs_DownlinkForPDSCH_MappingTypeA
->
dmrs_AdditionalPosition
=
NULL
;
//
calloc(1, sizeof(*dmrs_DownlinkForPDSCH_MappingTypeA->dmrs_AdditionalPosition));
// TODO possible improvement is to select based on some input additional position
*
dmrs_DownlinkForPDSCH_MappingTypeA
->
dmrs_AdditionalPosition
=
NR_DMRS_DownlinkConfig__dmrs_AdditionalPosition_pos1
;
//
*dmrs_DownlinkForPDSCH_MappingTypeA->dmrs_AdditionalPosition = NR_DMRS_DownlinkConfig__dmrs_AdditionalPosition_pos1;
pdsch_Config
->
dataScramblingIdentityPDSCH
=
NULL
;
pdsch_Config
->
resourceAllocation
=
NR_PDSCH_Config__resourceAllocation_resourceAllocationType1
;
...
...
openair2/RRC/NR/rrc_gNB.c
View file @
2a652c6e
...
...
@@ -467,6 +467,7 @@ void nr_HO_trigger(const protocol_ctxt_t *ctxt_p, rrc_gNB_ue_context_t *ue_conte
itti_send_msg_to_task
(
TASK_CU_F1
,
RC
.
nrrrc
[
instance
]
->
f1_instance
,
message_p
);
}
int
ho_count
=
0
;
void
*
timer_update_thread
(
void
*
param
)
{
while
(
!
oai_exit
)
{
...
...
@@ -484,12 +485,15 @@ void *timer_update_thread(void *param)
// Decrement until it reaches 0 and then trigger HO
rrc
->
location_ho_timer
--
;
LOG_W
(
NR_RRC
,
"[DU %i][HO #%i] LOCATION-BASED TRIGGER TIMER = %2i
\n
"
,
mod_id
,
ho_count
,
rrc
->
location_ho_timer
);
if
(
rrc
->
location_ho_timer
==
0
)
{
int
mod_id_t
=
(
mod_id
+
1
)
%
RC
.
nb_nr_inst
;
gNB_RRC_INST
*
rrc_t
=
RC
.
nrrrc
[
mod_id_t
];
if
(
rrc_t
&&
rrc_t
->
f1_instance
>=
0
)
{
rrc
->
location_ho_rnti
=
-
1
;
nr_HO_trigger
(
&
ctxt
,
ue_context_p
,
rrc_t
->
carrier
.
physCellId
);
ho_count
++
;
}
else
{
LOG_E
(
NR_RRC
,
"Target DU is not active. Handover not started.
\n
"
);
rrc
->
location_ho_timer
=
rrc
->
configuration
.
location_ho_trigger
;
...
...
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