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
spbro
OpenXG-RAN
Commits
d1923da0
Commit
d1923da0
authored
Jun 11, 2024
by
Laurent THOMAS
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
trace dl ack/nack
parent
013656ab
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
17 additions
and
17 deletions
+17
-17
nfapi/open-nFAPI/nfapi/public_inc/fapi_nr_ue_interface.h
nfapi/open-nFAPI/nfapi/public_inc/fapi_nr_ue_interface.h
+1
-1
openair1/PHY/NR_UE_TRANSPORT/pucch_nr.c
openair1/PHY/NR_UE_TRANSPORT/pucch_nr.c
+3
-3
openair1/SCHED_NR_UE/fapi_nr_ue_l1.c
openair1/SCHED_NR_UE/fapi_nr_ue_l1.c
+2
-2
openair2/LAYER2/NR_MAC_UE/mac_defs.h
openair2/LAYER2/NR_MAC_UE/mac_defs.h
+1
-1
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
+8
-8
openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.c
openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.c
+2
-2
No files found.
nfapi/open-nFAPI/nfapi/public_inc/fapi_nr_ue_interface.h
View file @
d1923da0
...
...
@@ -229,7 +229,7 @@ typedef struct {
uint8_t
pre_dft_occ_len
;
int16_t
pucch_tx_power
;
uint32_t
n_bit
;
uint64_t
payload
;
uint64_t
payload
d
;
}
fapi_nr_ul_config_pucch_pdu
;
typedef
struct
...
...
openair1/PHY/NR_UE_TRANSPORT/pucch_nr.c
View file @
d1923da0
...
...
@@ -163,7 +163,7 @@ void nr_generate_pucch1(const PHY_VARS_NR_UE *ue,
const
fapi_nr_ul_config_pucch_pdu
*
pucch_pdu
)
{
uint16_t
m0
=
pucch_pdu
->
initial_cyclic_shift
;
uint64_t
payload
=
pucch_pdu
->
payload
;
uint64_t
payload
=
pucch_pdu
->
payload
d
;
uint8_t
startingSymbolIndex
=
pucch_pdu
->
start_symbol_index
;
uint8_t
nrofSymbols
=
pucch_pdu
->
nr_of_symbols
;
uint16_t
startingPRB
=
pucch_pdu
->
prb_start
+
pucch_pdu
->
bwp_start
;
...
...
@@ -648,7 +648,7 @@ void nr_generate_pucch2(const PHY_VARS_NR_UE *ue,
uint64_t
b
[
16
]
=
{
0
};
// limit to 1024-bit encoded length
// M_bit is the number of bits of block b (payload after encoding)
uint16_t
M_bit
=
0
;
nr_uci_encoding
(
pucch_pdu
->
payload
,
nr_uci_encoding
(
pucch_pdu
->
payload
d
,
pucch_pdu
->
n_bit
,
2
,
0
,
pucch_pdu
->
nr_of_symbols
,
...
...
@@ -871,7 +871,7 @@ void nr_generate_pucch3_4(const PHY_VARS_NR_UE *ue,
uint16_t
startingPRB
=
pucch_pdu
->
prb_start
+
pucch_pdu
->
bwp_start
;
uint8_t
add_dmrs
=
pucch_pdu
->
add_dmrs_flag
;
nr_uci_encoding
(
pucch_pdu
->
payload
,
nr_uci_encoding
(
pucch_pdu
->
payload
d
,
pucch_pdu
->
n_bit
,
pucch_pdu
->
format_type
,
is_pi_over_2_bpsk_enabled
,
...
...
openair1/SCHED_NR_UE/fapi_nr_ue_l1.c
View file @
d1923da0
...
...
@@ -71,7 +71,7 @@ static void fill_uci_2_3_4(nfapi_nr_uci_pucch_pdu_format_2_3_4_t *pdu_2_3_4,
sizeof
(
pdu_2_3_4
->
csi_part1
.
csi_part1_payload
));
for
(
int
k
=
0
;
k
<
csi_part1_byte_len
;
k
++
)
{
pdu_2_3_4
->
csi_part1
.
csi_part1_payload
[
k
]
=
(
pucch_pdu
->
payload
>>
(
k
*
8
))
&
0xff
;
pdu_2_3_4
->
csi_part1
.
csi_part1_payload
[
k
]
=
(
pucch_pdu
->
payload
d
>>
(
k
*
8
))
&
0xff
;
}
pdu_2_3_4
->
csi_part1
.
csi_part1_crc
=
0
;
}
...
...
@@ -252,7 +252,7 @@ int8_t nr_ue_scheduled_response_stub(nr_scheduled_response_t *scheduled_response
mac
->
nr_ue_emul_l1
.
harq
[
k
].
active
=
false
;
harq_pid
=
k
;
AssertFatal
(
harq_index
<
pdu_0_1
->
harq
.
num_harq
,
"Invalid harq_index %d
\n
"
,
harq_index
);
pdu_0_1
->
harq
.
harq_list
[
harq_index
].
harq_value
=
!
mac
->
dl_harq_info
[
k
].
ac
k
;
pdu_0_1
->
harq
.
harq_list
[
harq_index
].
harq_value
=
!
mac
->
dl_harq_info
[
k
].
ac
K
;
harq_index
++
;
}
}
...
...
openair2/LAYER2/NR_MAC_UE/mac_defs.h
View file @
d1923da0
...
...
@@ -360,7 +360,7 @@ typedef struct {
uint8_t
pucch_resource_indicator
;
frame_t
ul_frame
;
int
ul_slot
;
uint8_t
ac
k
;
uint8_t
ac
K
;
int
n_CCE
;
int
N_CCE
;
int
dai_cumul
;
...
...
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
View file @
d1923da0
...
...
@@ -1437,7 +1437,7 @@ int nr_ue_configure_pucch(NR_UE_MAC_INST_t *mac,
pucch_pdu
->
time_domain_occ_idx
=
0
;
// Only HARQ transmitted in default PUCCH
pucch_pdu
->
mcs
=
get_pucch0_mcs
(
pucch
->
n_harq
,
0
,
pucch
->
ack_payload
,
0
);
pucch_pdu
->
payload
=
pucch
->
ack_payload
;
pucch_pdu
->
payload
d
=
pucch
->
ack_payload
;
pucch_pdu
->
n_bit
=
1
;
}
else
if
(
pucch
->
pucch_resource
!=
NULL
)
{
...
...
@@ -1500,13 +1500,13 @@ int nr_ue_configure_pucch(NR_UE_MAC_INST_t *mac,
// only HARQ bits are transmitted, resource selection depends on SR
// resource selection handled in function multiplex_pucch_resource
pucch_pdu
->
n_bit
=
pucch
->
n_harq
;
pucch_pdu
->
payload
=
pucch
->
ack_payload
;
pucch_pdu
->
payload
d
=
pucch
->
ack_payload
;
}
else
{
// For a positive SR transmission using PUCCH format 1,
// the UE transmits the PUCCH as described in 38.211 by setting b(0) = 0
pucch_pdu
->
n_bit
=
pucch
->
n_sr
;
pucch_pdu
->
payload
=
0
;
pucch_pdu
->
payload
d
=
0
;
}
break
;
case
NR_PUCCH_Resource__format_PR_format2
:
...
...
@@ -1523,7 +1523,7 @@ int nr_ue_configure_pucch(NR_UE_MAC_INST_t *mac,
2
,
pucchres
->
format
.
choice
.
format2
->
nrofSymbols
,
8
);
pucch_pdu
->
payload
=
(
pucch
->
csi_part1_payload
<<
(
pucch
->
n_harq
+
pucch
->
n_sr
))
|
(
pucch
->
sr_payload
<<
pucch
->
n_harq
)
|
pucch
->
ack_payload
;
pucch_pdu
->
payload
d
=
(
pucch
->
csi_part1_payload
<<
(
pucch
->
n_harq
+
pucch
->
n_sr
))
|
(
pucch
->
sr_payload
<<
pucch
->
n_harq
)
|
pucch
->
ack_payload
;
break
;
case
NR_PUCCH_Resource__format_PR_format3
:
pucch_pdu
->
format_type
=
3
;
...
...
@@ -1556,7 +1556,7 @@ int nr_ue_configure_pucch(NR_UE_MAC_INST_t *mac,
2
-
pucch_pdu
->
pi_2bpsk
,
pucchres
->
format
.
choice
.
format3
->
nrofSymbols
-
f3_dmrs_symbols
,
12
);
pucch_pdu
->
payload
=
(
pucch
->
csi_part1_payload
<<
(
pucch
->
n_harq
+
pucch
->
n_sr
))
|
(
pucch
->
sr_payload
<<
pucch
->
n_harq
)
|
pucch
->
ack_payload
;
pucch_pdu
->
payload
d
=
(
pucch
->
csi_part1_payload
<<
(
pucch
->
n_harq
+
pucch
->
n_sr
))
|
(
pucch
->
sr_payload
<<
pucch
->
n_harq
)
|
pucch
->
ack_payload
;
break
;
case
NR_PUCCH_Resource__format_PR_format4
:
pucch_pdu
->
format_type
=
4
;
...
...
@@ -1574,7 +1574,7 @@ int nr_ue_configure_pucch(NR_UE_MAC_INST_t *mac,
pucch_pdu
->
pi_2bpsk
=
pucchfmt
->
pi2BPSK
!=
NULL
?
1
:
0
;
pucch_pdu
->
add_dmrs_flag
=
pucchfmt
->
additionalDMRS
!=
NULL
?
1
:
0
;
}
pucch_pdu
->
payload
=
(
pucch
->
csi_part1_payload
<<
(
pucch
->
n_harq
+
pucch
->
n_sr
))
|
(
pucch
->
sr_payload
<<
pucch
->
n_harq
)
|
pucch
->
ack_payload
;
pucch_pdu
->
payload
d
=
(
pucch
->
csi_part1_payload
<<
(
pucch
->
n_harq
+
pucch
->
n_sr
))
|
(
pucch
->
sr_payload
<<
pucch
->
n_harq
)
|
pucch
->
ack_payload
;
break
;
default
:
LOG_E
(
NR_MAC
,
"Undefined PUCCH format
\n
"
);
...
...
@@ -2222,7 +2222,7 @@ bool get_downlink_ack(NR_UE_MAC_INST_t *mac, frame_t frame, int slot, PUCCH_sche
number_harq_feedback
++
;
int
dai_index
=
current_harq
->
dai_cumul
-
1
;
if
(
current_harq
->
ack_received
)
{
ack_data
[
code_word
][
dai_index
]
=
current_harq
->
ac
k
;
ack_data
[
code_word
][
dai_index
]
=
current_harq
->
ac
K
;
current_harq
->
active
=
false
;
current_harq
->
ack_received
=
false
;
}
else
{
...
...
@@ -2238,7 +2238,7 @@ bool get_downlink_ack(NR_UE_MAC_INST_t *mac, frame_t frame, int slot, PUCCH_sche
res_ind
=
temp_ind
;
pucch
->
n_CCE
=
current_harq
->
n_CCE
;
pucch
->
N_CCE
=
current_harq
->
N_CCE
;
LOG_
D
(
NR_MAC
,
"%4d.%2d Sent %d ack on harq pid %d
\n
"
,
frame
,
slot
,
current_harq
->
ack
,
dl_harq_pid
);
LOG_
I
(
NR_MAC
,
"%4d.%2d Sent %d ack on harq pid %d
\n
"
,
frame
,
slot
,
current_harq
->
acK
,
dl_harq_pid
);
}
}
}
...
...
openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.c
View file @
d1923da0
...
...
@@ -1123,12 +1123,12 @@ void update_harq_status(NR_UE_MAC_INST_t *mac, uint8_t harq_pid, uint8_t ack_nac
NR_UE_HARQ_STATUS_t
*
current_harq
=
&
mac
->
dl_harq_info
[
harq_pid
];
if
(
current_harq
->
active
)
{
LOG_
D
(
PHY
,
"Updating harq_status for harq_id %d, ack/nak %d
\n
"
,
harq_pid
,
current_harq
->
ack
);
LOG_
I
(
PHY
,
"Updating harq_status for harq_id %d, ack/nak %d
\n
"
,
harq_pid
,
current_harq
->
acK
);
// we can prepare feedback for MSG4 in advance
if
(
mac
->
ra
.
ra_state
==
nrRA_WAIT_CONTENTION_RESOLUTION
)
prepare_msg4_feedback
(
mac
,
harq_pid
,
ack_nack
);
else
{
current_harq
->
ac
k
=
ack_nack
;
current_harq
->
ac
K
=
ack_nack
;
current_harq
->
ack_received
=
true
;
}
}
...
...
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