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
wangwenhui
OpenXG-RAN
Commits
54ca9ea5
Commit
54ca9ea5
authored
4 years ago
by
Sakthivel Velumani
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fixed pucch procedures to use rrc struct in UE
parent
87ecb918
Changes
7
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
179 additions
and
77 deletions
+179
-77
openair1/PHY/impl_defs_nr.h
openair1/PHY/impl_defs_nr.h
+5
-5
openair1/SCHED_NR_UE/fapi_nr_ue_l1.c
openair1/SCHED_NR_UE/fapi_nr_ue_l1.c
+2
-2
openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
+6
-0
openair1/SCHED_NR_UE/pucch_uci_ue_nr.c
openair1/SCHED_NR_UE/pucch_uci_ue_nr.c
+149
-57
openair1/SCHED_NR_UE/pucch_uci_ue_nr.h
openair1/SCHED_NR_UE/pucch_uci_ue_nr.h
+11
-3
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c
+1
-1
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
+5
-9
No files found.
openair1/PHY/impl_defs_nr.h
View file @
54ca9ea5
...
...
@@ -757,11 +757,11 @@ typedef struct {
#define MAX_NR_OF_SPATIAL_RELATION_INFOS (8)
typedef
enum
{
pucch_format0_nr
=
0
,
pucch_format1_nr
=
1
,
pucch_format2_nr
=
2
,
pucch_format3_nr
=
3
,
pucch_format4_nr
=
4
,
pucch_format0_nr
=
1
,
pucch_format1_nr
=
2
,
pucch_format2_nr
=
3
,
pucch_format3_nr
=
4
,
pucch_format4_nr
=
5
}
pucch_format_nr_t
;
typedef
enum
{
...
...
This diff is collapsed.
Click to expand it.
openair1/SCHED_NR_UE/fapi_nr_ue_l1.c
View file @
54ca9ea5
...
...
@@ -57,7 +57,7 @@ int8_t nr_ue_scheduled_response(nr_scheduled_response_t *scheduled_response)
NR_UE_PDCCH
*
pdcch_vars
=
PHY_vars_UE_g
[
module_id
][
cc_id
]
->
pdcch_vars
[
thread_id
][
0
];
NR_UE_DLSCH_t
*
dlsch0
=
PHY_vars_UE_g
[
module_id
][
cc_id
]
->
dlsch
[
thread_id
][
0
][
0
];
NR_UE_ULSCH_t
*
ulsch0
=
PHY_vars_UE_g
[
module_id
][
cc_id
]
->
ulsch
[
thread_id
][
0
][
0
];
//
NR_DL_FRAME_PARMS frame_parms = PHY_vars_UE_g[module_id][cc_id]->frame_parms;
NR_DL_FRAME_PARMS
frame_parms
=
PHY_vars_UE_g
[
module_id
][
cc_id
]
->
frame_parms
;
PRACH_RESOURCES_t
*
prach_resources
=
PHY_vars_UE_g
[
module_id
][
cc_id
]
->
prach_resources
[
0
];
// PUCCH_ConfigCommon_nr_t *pucch_config_common = PHY_vars_UE_g[module_id][cc_id]->pucch_config_common_nr[0];
...
...
@@ -99,7 +99,7 @@ int8_t nr_ue_scheduled_response(nr_scheduled_response_t *scheduled_response)
dlsch0_harq
->
rvidx
=
dlsch_config_pdu
->
rv
;
dlsch0
->
g_pucch
=
dlsch_config_pdu
->
accumulated_delta_PUCCH
;
dlsch0_harq
->
harq_ack
.
pucch_resource_indicator
=
dlsch_config_pdu
->
pucch_resource_id
;
dlsch0_harq
->
harq_ack
.
slot_for_feedback_ack
=
dlsch_config_pdu
->
pdsch_to_harq_feedback_time_ind
;
dlsch0_harq
->
harq_ack
.
slot_for_feedback_ack
=
(
slot
+
dlsch_config_pdu
->
pdsch_to_harq_feedback_time_ind
)
%
frame_parms
.
slots_per_frame
;
dlsch0_harq
->
Nl
=
1
;
dlsch0_harq
->
mcs_table
=
0
;
dlsch0_harq
->
harq_ack
.
rx_status
=
downlink_harq_process
(
dlsch0_harq
,
dlsch0
->
current_harq_pid
,
dlsch_config_pdu
->
ndi
,
dlsch0
->
rnti_type
);
...
...
This diff is collapsed.
Click to expand it.
openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
View file @
54ca9ea5
...
...
@@ -2356,6 +2356,12 @@ void phy_procedures_nrUE_TX(PHY_VARS_NR_UE *ue,
} // UE_mode==PUSCH
*/
LOG_D
(
PHY
,
"Sending PUCCH
\n
"
);
pucch_procedures_ue_nr
(
ue
,
gNB_id
,
proc
,
TRUE
);
LOG_D
(
PHY
,
"Sending data
\n
"
);
nr_ue_pusch_common_procedures
(
ue
,
harq_pid
,
...
...
This diff is collapsed.
Click to expand it.
openair1/SCHED_NR_UE/pucch_uci_ue_nr.c
View file @
54ca9ea5
This diff is collapsed.
Click to expand it.
openair1/SCHED_NR_UE/pucch_uci_ue_nr.h
View file @
54ca9ea5
...
...
@@ -41,6 +41,9 @@
/************** INCLUDE *******************************************/
#include "PHY/defs_nr_UE.h"
#include "openair2/LAYER2/NR_MAC_UE/mac_proto.h"
#include "openair2/LAYER2/NR_MAC_UE/mac_defs.h"
#include "RRC/NR_UE/rrc_proto.h"
#ifdef DEFINE_VARIABLES_PUCCH_UE_NR_H
#define EXTERN
...
...
@@ -187,7 +190,7 @@ uint8_t get_downlink_ack(PHY_VARS_NR_UE *ue, uint8_t gNB_id, UE_nr_rxtx_proc_t
@param resource_id pucch resource id if any
@returns TRUE a pucch resource has been found FALSE no valid pucch resource */
boolean_t
select_pucch_resource
(
PHY_VARS_NR_UE
*
ue
,
uint8_t
gNB_id
,
int
uci_size
,
int
pucch_resource_indicator
,
boolean_t
select_pucch_resource
(
PHY_VARS_NR_UE
*
ue
,
NR_UE_MAC_INST_t
*
mac
,
uint8_t
gNB_id
,
int
uci_size
,
int
pucch_resource_indicator
,
int
*
initial_pucch_id
,
int
*
resource_set_id
,
int
*
resource_id
,
NR_UE_HARQ_STATUS_t
*
harq_status
);
/** \brief This function select a pucch resource set
...
...
@@ -196,7 +199,7 @@ boolean_t select_pucch_resource(PHY_VARS_NR_UE *ue, uint8_t gNB_id, int uci_size
@param uci size number of uci bits
@returns number of the pucch resource set */
int
find_pucch_resource_set
(
PHY_VARS_NR_UE
*
ue
,
uint8_t
gNB_id
,
int
uci_size
);
int
find_pucch_resource_set
(
NR_UE_MAC_INST_t
*
mac
,
uint8_t
gNB_id
,
int
uci_size
);
/** \brief This function check pucch format
@param ue context
...
...
@@ -206,7 +209,7 @@ int find_pucch_resource_set(PHY_VARS_NR_UE *ue, uint8_t gNB_id, int uci_size);
@param uci size number of uci bits
@returns TRUE pucch format matched uci size and constraints, FALSE invalid pucch format */
boolean_t
check_pucch_format
(
PHY_VARS_NR_UE
*
ue
,
uint8_t
gNB_id
,
pucch_format_nr_t
format_pucch
,
int
nb_symbols_for_tx
,
boolean_t
check_pucch_format
(
NR_UE_MAC_INST_t
*
mac
,
uint8_t
gNB_id
,
pucch_format_nr_t
format_pucch
,
int
nb_symbols_for_tx
,
int
uci_size
);
/** \brief This function selects a pucch resource
...
...
@@ -232,4 +235,9 @@ int get_csi_nr(PHY_VARS_NR_UE *ue, uint8_t gNB_id, uint32_t *csi_payload);
void
set_csi_nr
(
int
csi_status
,
uint32_t
csi_payload
);
uint8_t
get_nb_symbols_pucch
(
NR_PUCCH_Resource_t
*
pucch_resource
,
pucch_format_nr_t
format_type
);
uint16_t
get_starting_symb_idx
(
NR_PUCCH_Resource_t
*
pucch_resource
,
pucch_format_nr_t
format_type
);
int
get_ics_pucch
(
NR_PUCCH_Resource_t
*
pucch_resource
,
pucch_format_nr_t
format_type
);
#endif
/* PUCCH_UCI_UE_NR_H */
This diff is collapsed.
Click to expand it.
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c
View file @
54ca9ea5
...
...
@@ -649,7 +649,7 @@ uint16_t nr_dci_size(NR_CellGroupConfig_t *secondaryCellGroup,
dci_pdu
->
time_domain_assignment
.
nbits
=
(
int
)
ceil
(
log2
(
num_entries
));
size
+=
dci_pdu
->
time_domain_assignment
.
nbits
;
// VRB to PRB mapping
if
(
pdsch_config
->
resourceAllocation
==
1
)
{
if
(
(
pdsch_config
->
resourceAllocation
==
1
)
&&
(
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
vrb_ToPRB_Interleaver
!=
NULL
)
)
{
dci_pdu
->
vrb_to_prb_mapping
.
nbits
=
1
;
size
+=
dci_pdu
->
vrb_to_prb_mapping
.
nbits
;
}
...
...
This diff is collapsed.
Click to expand it.
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
View file @
54ca9ea5
...
...
@@ -65,6 +65,7 @@
//#define ENABLE_MAC_PAYLOAD_DEBUG 1
#define DEBUG_EXTRACT_DCI 1
extern
int
bwp_id
;
extern
dci_pdu_rel15_t
*
def_dci_pdu_rel15
;
extern
void
mac_rlc_data_ind
(
...
...
@@ -1923,6 +1924,8 @@ int nr_ue_process_dci_indication_pdu(module_id_t module_id,int cc_id, int gNB_in
int8_t
nr_ue_process_dci
(
module_id_t
module_id
,
int
cc_id
,
uint8_t
gNB_index
,
dci_pdu_rel15_t
*
dci
,
uint16_t
rnti
,
uint32_t
dci_format
){
int
bwp_id
=
1
;
NR_UE_MAC_INST_t
*
mac
=
get_mac_inst
(
module_id
);
fapi_nr_dl_config_request_t
*
dl_config
=
&
mac
->
dl_config_request
;
fapi_nr_ul_config_request_t
*
ul_config
=
&
mac
->
ul_config_request
;
...
...
@@ -2518,17 +2521,10 @@ int8_t nr_ue_process_dci(module_id_t module_id, int cc_id, uint8_t gNB_index, dc
if
(
dci
->
tpc
==
2
)
dlsch_config_pdu_1_1
->
accumulated_delta_PUCCH
=
1
;
if
(
dci
->
tpc
==
3
)
dlsch_config_pdu_1_1
->
accumulated_delta_PUCCH
=
3
;
/* PUCCH_RESOURCE_IND */
if
(
dci
->
pucch_resource_indicator
==
0
)
dlsch_config_pdu_1_1
->
pucch_resource_id
=
0
;
//pucch-ResourceId obtained from the 1st value of resourceList FIXME!!!
if
(
dci
->
pucch_resource_indicator
==
1
)
dlsch_config_pdu_1_1
->
pucch_resource_id
=
0
;
//pucch-ResourceId obtained from the 2nd value of resourceList FIXME!!
if
(
dci
->
pucch_resource_indicator
==
2
)
dlsch_config_pdu_1_1
->
pucch_resource_id
=
0
;
//pucch-ResourceId obtained from the 3rd value of resourceList FIXME!!
if
(
dci
->
pucch_resource_indicator
==
3
)
dlsch_config_pdu_1_1
->
pucch_resource_id
=
0
;
//pucch-ResourceId obtained from the 4th value of resourceList FIXME!!
if
(
dci
->
pucch_resource_indicator
==
4
)
dlsch_config_pdu_1_1
->
pucch_resource_id
=
0
;
//pucch-ResourceId obtained from the 5th value of resourceList FIXME!!
if
(
dci
->
pucch_resource_indicator
==
5
)
dlsch_config_pdu_1_1
->
pucch_resource_id
=
0
;
//pucch-ResourceId obtained from the 6th value of resourceList FIXME!!
if
(
dci
->
pucch_resource_indicator
==
6
)
dlsch_config_pdu_1_1
->
pucch_resource_id
=
0
;
//pucch-ResourceId obtained from the 7th value of resourceList FIXME!!
if
(
dci
->
pucch_resource_indicator
==
7
)
dlsch_config_pdu_1_1
->
pucch_resource_id
=
0
;
//pucch-ResourceId obtained from the 8th value of resourceList FIXME!!
dlsch_config_pdu_1_1
->
pucch_resource_id
=
dci
->
pucch_resource_indicator
;
/* PDSCH_TO_HARQ_FEEDBACK_TIME_IND */
// according to TS 38.213 Table 9.2.3-1
dlsch_config_pdu_1_1
->
pdsch_to_harq_feedback_time_ind
=
mac
->
phy_config
.
config_req
.
ul_bwp_dedicated
.
pucch_config_dedicated
.
dl_data_to_ul_ack
[
dci
->
pdsch_to_harq_feedback_timing_indicator
.
val
];
dlsch_config_pdu_1_1
->
pdsch_to_harq_feedback_time_ind
=
mac
->
ULbwp
[
bwp_id
-
1
]
->
bwp_Dedicated
->
pucch_Config
->
choice
.
setup
->
dl_DataToUL_ACK
->
list
.
array
[
dci
->
pdsch_to_harq_feedback_timing_indicator
.
val
][
0
];
/* ANTENNA_PORTS */
uint8_t
n_codewords
=
1
;
// FIXME!!!
if
((
mac
->
phy_config
.
config_req
.
dl_bwp_dedicated
.
pdsch_config_dedicated
.
dmrs_dl_for_pdsch_mapping_type_a
.
dmrs_type
==
1
)
&&
...
...
This diff is collapsed.
Click to expand it.
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