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
littleBu
OpenXG-RAN
Commits
46181eca
Commit
46181eca
authored
Jan 13, 2022
by
luis_pereira87
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Dedicated BWPs working for SA in RFsim
parent
c1f6dbfb
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
91 additions
and
125 deletions
+91
-125
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
+4
-4
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
+21
-0
openair2/RRC/NR/MESSAGES/asn1_msg.c
openair2/RRC/NR/MESSAGES/asn1_msg.c
+66
-121
No files found.
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
View file @
46181eca
...
@@ -2591,12 +2591,12 @@ uint8_t nr_extract_dci_info(NR_UE_MAC_INST_t *mac,
...
@@ -2591,12 +2591,12 @@ uint8_t nr_extract_dci_info(NR_UE_MAC_INST_t *mac,
NR_BWP_Id_t
ul_bwp_id
=
mac
->
UL_BWP_Id
;
NR_BWP_Id_t
ul_bwp_id
=
mac
->
UL_BWP_Id
;
int
N_RB_UL
=
0
;
int
N_RB_UL
=
0
;
if
(
mac
->
scc_SIB
)
{
if
(
ul_bwp_id
>
0
&&
mac
->
ULbwp
[
ul_bwp_id
-
1
])
{
N_RB_UL
=
NRRIV2BW
(
mac
->
scc_SIB
->
uplinkConfigCommon
->
initialUplinkBWP
.
genericParameters
.
locationAndBandwidth
,
MAX_BWP_SIZE
);
N_RB_UL
=
NRRIV2BW
(
mac
->
ULbwp
[
ul_bwp_id
-
1
]
->
bwp_Common
->
genericParameters
.
locationAndBandwidth
,
MAX_BWP_SIZE
);
}
else
if
(
mac
->
ULbwp
[
ul_bwp_id
-
1
])
{
N_RB_UL
=
NRRIV2BW
(
mac
->
ULbwp
[
ul_bwp_id
-
1
]
->
bwp_Common
->
genericParameters
.
locationAndBandwidth
,
MAX_BWP_SIZE
);
}
else
if
(
mac
->
scc
)
{
}
else
if
(
mac
->
scc
)
{
N_RB_UL
=
NRRIV2BW
(
mac
->
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
genericParameters
.
locationAndBandwidth
,
MAX_BWP_SIZE
);
N_RB_UL
=
NRRIV2BW
(
mac
->
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
genericParameters
.
locationAndBandwidth
,
MAX_BWP_SIZE
);
}
else
if
(
mac
->
scc_SIB
)
{
N_RB_UL
=
NRRIV2BW
(
mac
->
scc_SIB
->
uplinkConfigCommon
->
initialUplinkBWP
.
genericParameters
.
locationAndBandwidth
,
MAX_BWP_SIZE
);
}
}
LOG_D
(
MAC
,
"nr_extract_dci_info : dci_pdu %lx, size %d
\n
"
,
*
dci_pdu
,
dci_size
);
LOG_D
(
MAC
,
"nr_extract_dci_info : dci_pdu %lx, size %d
\n
"
,
*
dci_pdu
,
dci_size
);
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
View file @
46181eca
...
@@ -1846,6 +1846,27 @@ void nr_check_Msg4_Ack(module_id_t module_id, int CC_id, frame_t frame, sub_fram
...
@@ -1846,6 +1846,27 @@ void nr_check_Msg4_Ack(module_id_t module_id, int CC_id, frame_t frame, sub_fram
LOG_A
(
NR_MAC
,
"(ue %i, rnti 0x%04x) Received Ack of RA-Msg4. CBRA procedure succeeded!
\n
"
,
UE_id
,
ra
->
rnti
);
LOG_A
(
NR_MAC
,
"(ue %i, rnti 0x%04x) Received Ack of RA-Msg4. CBRA procedure succeeded!
\n
"
,
UE_id
,
ra
->
rnti
);
UE_info
->
active
[
UE_id
]
=
true
;
UE_info
->
active
[
UE_id
]
=
true
;
UE_info
->
Msg4_ACKed
[
UE_id
]
=
true
;
UE_info
->
Msg4_ACKed
[
UE_id
]
=
true
;
// TODO: To be improved the BWP selection
// For now, we are just changing to the first active BWP
const
NR_ServingCellConfig_t
*
servingCellConfig
=
UE_info
->
CellGroup
[
UE_id
]
?
UE_info
->
CellGroup
[
UE_id
]
->
spCellConfig
->
spCellConfigDedicated
:
NULL
;
const
struct
NR_ServingCellConfig__downlinkBWP_ToAddModList
*
bwpList
=
servingCellConfig
?
servingCellConfig
->
downlinkBWP_ToAddModList
:
NULL
;
const
int
bwp_id
=
servingCellConfig
?
*
servingCellConfig
->
firstActiveDownlinkBWP_Id
:
0
;
sched_ctrl
->
active_bwp
=
bwpList
&&
bwp_id
>
0
?
bwpList
->
list
.
array
[
bwp_id
-
1
]
:
NULL
;
const
struct
NR_UplinkConfig__uplinkBWP_ToAddModList
*
ubwpList
=
servingCellConfig
?
servingCellConfig
->
uplinkConfig
->
uplinkBWP_ToAddModList
:
NULL
;
const
int
ubwp_id
=
servingCellConfig
?
*
servingCellConfig
->
uplinkConfig
->
firstActiveUplinkBWP_Id
:
0
;
sched_ctrl
->
active_ubwp
=
ubwpList
&&
ubwp_id
>
0
?
ubwpList
->
list
.
array
[
ubwp_id
-
1
]
:
NULL
;
if
(
sched_ctrl
->
active_bwp
)
{
LOG_I
(
NR_MAC
,
"Changing to DL-BWP %i
\n
"
,
bwp_id
);
}
if
(
sched_ctrl
->
active_ubwp
)
{
LOG_I
(
NR_MAC
,
"Changing to UL-BWP %i
\n
"
,
ubwp_id
);
}
}
}
else
{
else
{
LOG_I
(
NR_MAC
,
"(ue %i, rnti 0x%04x) RA Procedure failed at Msg4!
\n
"
,
UE_id
,
ra
->
rnti
);
LOG_I
(
NR_MAC
,
"(ue %i, rnti 0x%04x) RA Procedure failed at Msg4!
\n
"
,
UE_id
,
ra
->
rnti
);
...
...
openair2/RRC/NR/MESSAGES/asn1_msg.c
View file @
46181eca
...
@@ -1130,8 +1130,42 @@ void fill_default_downlinkBWP(NR_BWP_Downlink_t *bwp,
...
@@ -1130,8 +1130,42 @@ void fill_default_downlinkBWP(NR_BWP_Downlink_t *bwp,
bwp
->
bwp_Dedicated
->
pdcch_Config
=
calloc
(
1
,
sizeof
(
*
bwp
->
bwp_Dedicated
->
pdcch_Config
));
bwp
->
bwp_Dedicated
->
pdcch_Config
=
calloc
(
1
,
sizeof
(
*
bwp
->
bwp_Dedicated
->
pdcch_Config
));
bwp
->
bwp_Dedicated
->
pdcch_Config
->
present
=
NR_SetupRelease_PDCCH_Config_PR_setup
;
bwp
->
bwp_Dedicated
->
pdcch_Config
->
present
=
NR_SetupRelease_PDCCH_Config_PR_setup
;
bwp
->
bwp_Dedicated
->
pdcch_Config
->
choice
.
setup
=
calloc
(
1
,
sizeof
(
*
bwp
->
bwp_Dedicated
->
pdcch_Config
->
choice
.
setup
));
bwp
->
bwp_Dedicated
->
pdcch_Config
->
choice
.
setup
=
calloc
(
1
,
sizeof
(
*
bwp
->
bwp_Dedicated
->
pdcch_Config
->
choice
.
setup
));
bwp
->
bwp_Dedicated
->
pdcch_Config
->
choice
.
setup
->
searchSpacesToAddModList
=
calloc
(
1
,
sizeof
(
*
bwp
->
bwp_Dedicated
->
pdcch_Config
->
choice
.
setup
->
searchSpacesToAddModList
));
bwp
->
bwp_Dedicated
->
pdcch_Config
->
choice
.
setup
->
controlResourceSetToAddModList
=
calloc
(
1
,
sizeof
(
*
bwp
->
bwp_Dedicated
->
pdcch_Config
->
choice
.
setup
->
controlResourceSetToAddModList
));
bwp
->
bwp_Dedicated
->
pdcch_Config
->
choice
.
setup
->
controlResourceSetToAddModList
=
calloc
(
1
,
sizeof
(
*
bwp
->
bwp_Dedicated
->
pdcch_Config
->
choice
.
setup
->
controlResourceSetToAddModList
));
coreset
=
calloc
(
1
,
sizeof
(
*
coreset
));
coreset
->
controlResourceSetId
=
1
;
// frequency domain resources depends on BWP size
// options are 24, 48 or 96
coreset
->
frequencyDomainResources
.
buf
=
calloc
(
1
,
6
);
if
(
0
)
{
int
curr_bwp
=
NRRIV2BW
(
scc
->
downlinkConfigCommon
->
initialDownlinkBWP
->
genericParameters
.
locationAndBandwidth
,
MAX_BWP_SIZE
);
if
(
curr_bwp
<
48
)
coreset
->
frequencyDomainResources
.
buf
[
0
]
=
0xf0
;
else
coreset
->
frequencyDomainResources
.
buf
[
0
]
=
0xff
;
if
(
curr_bwp
<
96
)
coreset
->
frequencyDomainResources
.
buf
[
1
]
=
0
;
else
coreset
->
frequencyDomainResources
.
buf
[
1
]
=
0xff
;
}
else
{
coreset
->
frequencyDomainResources
.
buf
[
0
]
=
0xf0
;
coreset
->
frequencyDomainResources
.
buf
[
1
]
=
0
;
}
coreset
->
frequencyDomainResources
.
buf
[
2
]
=
0
;
coreset
->
frequencyDomainResources
.
buf
[
3
]
=
0
;
coreset
->
frequencyDomainResources
.
buf
[
4
]
=
0
;
coreset
->
frequencyDomainResources
.
buf
[
5
]
=
0
;
coreset
->
frequencyDomainResources
.
size
=
6
;
coreset
->
frequencyDomainResources
.
bits_unused
=
3
;
coreset
->
duration
=
1
;
coreset
->
cce_REG_MappingType
.
present
=
NR_ControlResourceSet__cce_REG_MappingType_PR_nonInterleaved
;
coreset
->
precoderGranularity
=
NR_ControlResourceSet__precoderGranularity_sameAsREG_bundle
;
coreset
->
tci_StatesPDCCH_ToAddList
=
NULL
;
coreset
->
tci_StatesPDCCH_ToReleaseList
=
NULL
;
coreset
->
tci_PresentInDCI
=
NULL
;
coreset
->
pdcch_DMRS_ScramblingID
=
NULL
;
ASN_SEQUENCE_ADD
(
&
bwp
->
bwp_Dedicated
->
pdcch_Config
->
choice
.
setup
->
controlResourceSetToAddModList
->
list
,
coreset
);
ASN_SEQUENCE_ADD
(
&
bwp
->
bwp_Dedicated
->
pdcch_Config
->
choice
.
setup
->
controlResourceSetToAddModList
->
list
,
coreset
);
bwp
->
bwp_Dedicated
->
pdcch_Config
->
choice
.
setup
->
searchSpacesToAddModList
=
calloc
(
1
,
sizeof
(
*
bwp
->
bwp_Dedicated
->
pdcch_Config
->
choice
.
setup
->
searchSpacesToAddModList
));
bwp
->
bwp_Dedicated
->
pdcch_Config
->
choice
.
setup
->
searchSpacesToAddModList
=
calloc
(
1
,
sizeof
(
*
bwp
->
bwp_Dedicated
->
pdcch_Config
->
choice
.
setup
->
searchSpacesToAddModList
));
...
@@ -1148,18 +1182,13 @@ void fill_default_downlinkBWP(NR_BWP_Downlink_t *bwp,
...
@@ -1148,18 +1182,13 @@ void fill_default_downlinkBWP(NR_BWP_Downlink_t *bwp,
ss2
->
monitoringSymbolsWithinSlot
=
calloc
(
1
,
sizeof
(
*
ss2
->
monitoringSymbolsWithinSlot
));
ss2
->
monitoringSymbolsWithinSlot
=
calloc
(
1
,
sizeof
(
*
ss2
->
monitoringSymbolsWithinSlot
));
ss2
->
monitoringSymbolsWithinSlot
->
buf
=
calloc
(
1
,
2
);
ss2
->
monitoringSymbolsWithinSlot
->
buf
=
calloc
(
1
,
2
);
ss2
->
monitoringSymbolsWithinSlot
->
size
=
2
;
ss2
->
monitoringSymbolsWithinSlot
->
size
=
2
;
ss2
->
monitoringSymbolsWithinSlot
->
bits_unused
=
2
;
ss2
->
monitoringSymbolsWithinSlot
->
buf
[
0
]
=
0x80
;
ss2
->
monitoringSymbolsWithinSlot
->
buf
[
0
]
=
0xc0
;
ss2
->
monitoringSymbolsWithinSlot
->
buf
[
1
]
=
0x0
;
ss2
->
monitoringSymbolsWithinSlot
->
buf
[
1
]
=
0x0
;
ss2
->
monitoringSymbolsWithinSlot
->
bits_unused
=
2
;
ss2
->
nrofCandidates
=
calloc
(
1
,
sizeof
(
*
ss2
->
nrofCandidates
));
ss2
->
nrofCandidates
=
calloc
(
1
,
sizeof
(
*
ss2
->
nrofCandidates
));
ss2
->
nrofCandidates
->
aggregationLevel1
=
NR_SearchSpace__nrofCandidates__aggregationLevel1_n0
;
ss2
->
nrofCandidates
->
aggregationLevel1
=
NR_SearchSpace__nrofCandidates__aggregationLevel1_n0
;
ss2
->
nrofCandidates
->
aggregationLevel2
=
NR_SearchSpace__nrofCandidates__aggregationLevel2_n0
;
ss2
->
nrofCandidates
->
aggregationLevel2
=
NR_SearchSpace__nrofCandidates__aggregationLevel2_n2
;
if
(
curr_bwp
<
48
)
ss2
->
nrofCandidates
->
aggregationLevel4
=
NR_SearchSpace__nrofCandidates__aggregationLevel4_n1
;
ss2
->
nrofCandidates
->
aggregationLevel4
=
NR_SearchSpace__nrofCandidates__aggregationLevel4_n1
;
else
if
(
curr_bwp
<
96
)
ss2
->
nrofCandidates
->
aggregationLevel4
=
NR_SearchSpace__nrofCandidates__aggregationLevel4_n2
;
else
ss2
->
nrofCandidates
->
aggregationLevel4
=
NR_SearchSpace__nrofCandidates__aggregationLevel4_n4
;
ss2
->
nrofCandidates
->
aggregationLevel8
=
NR_SearchSpace__nrofCandidates__aggregationLevel8_n0
;
ss2
->
nrofCandidates
->
aggregationLevel8
=
NR_SearchSpace__nrofCandidates__aggregationLevel8_n0
;
ss2
->
nrofCandidates
->
aggregationLevel16
=
NR_SearchSpace__nrofCandidates__aggregationLevel16_n0
;
ss2
->
nrofCandidates
->
aggregationLevel16
=
NR_SearchSpace__nrofCandidates__aggregationLevel16_n0
;
ss2
->
searchSpaceType
=
calloc
(
1
,
sizeof
(
*
ss2
->
searchSpaceType
));
ss2
->
searchSpaceType
=
calloc
(
1
,
sizeof
(
*
ss2
->
searchSpaceType
));
...
@@ -1169,103 +1198,38 @@ void fill_default_downlinkBWP(NR_BWP_Downlink_t *bwp,
...
@@ -1169,103 +1198,38 @@ void fill_default_downlinkBWP(NR_BWP_Downlink_t *bwp,
ASN_SEQUENCE_ADD
(
&
bwp
->
bwp_Dedicated
->
pdcch_Config
->
choice
.
setup
->
searchSpacesToAddModList
->
list
,
ss2
);
ASN_SEQUENCE_ADD
(
&
bwp
->
bwp_Dedicated
->
pdcch_Config
->
choice
.
setup
->
searchSpacesToAddModList
->
list
,
ss2
);
bwp
->
bwp_Dedicated
->
pdcch_Config
->
choice
.
setup
->
searchSpacesToReleaseList
=
NULL
;
if
(
!
servingcellconfigdedicated
)
{
if
(
!
servingcellconfigdedicated
)
{
bwp
->
bwp_Dedicated
->
pdsch_Config
=
calloc
(
1
,
sizeof
(
*
bwp
->
bwp_Dedicated
->
pdsch_Config
));
bwp
->
bwp_Dedicated
->
pdsch_Config
=
calloc
(
1
,
sizeof
(
*
bwp
->
bwp_Dedicated
->
pdsch_Config
));
bwp
->
bwp_Dedicated
->
pdsch_Config
->
present
=
NR_SetupRelease_PDSCH_Config_PR_setup
;
bwp
->
bwp_Dedicated
->
pdsch_Config
->
present
=
NR_SetupRelease_PDSCH_Config_PR_setup
;
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
=
calloc
(
1
,
sizeof
(
*
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
));
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
=
calloc
(
1
,
sizeof
(
*
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
));
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
dataScramblingIdentityPDSCH
=
NULL
;
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
dmrs_DownlinkForPDSCH_MappingTypeA
=
calloc
(
1
,
sizeof
(
*
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
dmrs_DownlinkForPDSCH_MappingTypeA
));
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
dmrs_DownlinkForPDSCH_MappingTypeA
=
calloc
(
1
,
sizeof
(
*
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
dmrs_DownlinkForPDSCH_MappingTypeA
));
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
dmrs_DownlinkForPDSCH_MappingTypeA
->
present
=
NR_SetupRelease_DMRS_DownlinkConfig_PR_setup
;
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
dmrs_DownlinkForPDSCH_MappingTypeA
->
present
=
NR_SetupRelease_DMRS_DownlinkConfig_PR_setup
;
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
dmrs_DownlinkForPDSCH_MappingTypeA
->
choice
.
setup
=
calloc
(
1
,
sizeof
(
*
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
dmrs_DownlinkForPDSCH_MappingTypeA
->
choice
.
setup
));
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
dmrs_DownlinkForPDSCH_MappingTypeA
->
choice
.
setup
=
calloc
(
1
,
sizeof
(
*
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
dmrs_DownlinkForPDSCH_MappingTypeA
->
choice
.
setup
));
}
}
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
dataScramblingIdentityPDSCH
=
NULL
;
if
(
carrier
->
pdsch_AntennaPorts
>
1
)
// for MIMO, we use DMRS Config Type 2
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
dmrs_DownlinkForPDSCH_MappingTypeA
->
choice
.
setup
->
dmrs_Type
=
NULL
;
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
dmrs_DownlinkForPDSCH_MappingTypeA
->
choice
.
setup
->
dmrs_Type
=
calloc
(
1
,
sizeof
(
*
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
dmrs_DownlinkForPDSCH_MappingTypeA
->
choice
.
setup
->
dmrs_Type
));
else
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
dmrs_DownlinkForPDSCH_MappingTypeA
->
choice
.
setup
->
dmrs_Type
=
NULL
;
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
dmrs_DownlinkForPDSCH_MappingTypeA
->
choice
.
setup
->
maxLength
=
NULL
;
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
dmrs_DownlinkForPDSCH_MappingTypeA
->
choice
.
setup
->
maxLength
=
NULL
;
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
dmrs_DownlinkForPDSCH_MappingTypeA
->
choice
.
setup
->
scramblingID0
=
NULL
;
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
dmrs_DownlinkForPDSCH_MappingTypeA
->
choice
.
setup
->
scramblingID1
=
NULL
;
if
(
!
servingcellconfigdedicated
)
{
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
dmrs_DownlinkForPDSCH_MappingTypeA
->
choice
.
setup
->
phaseTrackingRS
=
NULL
;
}
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
dmrs_DownlinkForPDSCH_MappingTypeA
->
choice
.
setup
->
dmrs_AdditionalPosition
=
calloc
(
1
,
sizeof
(
*
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
dmrs_DownlinkForPDSCH_MappingTypeA
->
choice
.
setup
->
dmrs_AdditionalPosition
));
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
dmrs_DownlinkForPDSCH_MappingTypeA
->
choice
.
setup
->
dmrs_AdditionalPosition
=
calloc
(
1
,
sizeof
(
*
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
dmrs_DownlinkForPDSCH_MappingTypeA
->
choice
.
setup
->
dmrs_AdditionalPosition
));
*
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
dmrs_DownlinkForPDSCH_MappingTypeA
->
choice
.
setup
->
dmrs_AdditionalPosition
=
NR_DMRS_DownlinkConfig__dmrs_AdditionalPosition_pos0
;
*
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
dmrs_DownlinkForPDSCH_MappingTypeA
->
choice
.
setup
->
dmrs_AdditionalPosition
=
NR_DMRS_DownlinkConfig__dmrs_AdditionalPosition_pos1
;
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
resourceAllocation
=
NR_PDSCH_Config__resourceAllocation_resourceAllocationType1
;
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
tci_StatesToAddModList
=
calloc
(
1
,
sizeof
(
*
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
tci_StatesToAddModList
));
int
n_ssb
=
0
;
NR_TCI_State_t
*
tcid
[
64
];
for
(
int
i
=
0
;
i
<
64
;
i
++
)
{
if
((
bitmap
>>
(
63
-
i
))
&
0x01
){
tcid
[
i
]
=
calloc
(
1
,
sizeof
(
*
tcid
[
i
]));
tcid
[
i
]
->
tci_StateId
=
n_ssb
;
tcid
[
i
]
->
qcl_Type1
.
cell
=
NULL
;
tcid
[
i
]
->
qcl_Type1
.
bwp_Id
=
calloc
(
1
,
sizeof
(
*
tcid
[
i
]
->
qcl_Type1
.
bwp_Id
));
*
tcid
[
i
]
->
qcl_Type1
.
bwp_Id
=
1
;
tcid
[
i
]
->
qcl_Type1
.
referenceSignal
.
present
=
NR_QCL_Info__referenceSignal_PR_ssb
;
tcid
[
i
]
->
qcl_Type1
.
referenceSignal
.
choice
.
ssb
=
i
;
tcid
[
i
]
->
qcl_Type1
.
qcl_Type
=
NR_QCL_Info__qcl_Type_typeC
;
ASN_SEQUENCE_ADD
(
&
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
tci_StatesToAddModList
->
list
,
tcid
[
i
]);
n_ssb
++
;
}
}
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
tci_StatesToReleaseList
=
NULL
;
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
vrb_ToPRB_Interleaver
=
NULL
;
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
resourceAllocation
=
NR_PDSCH_Config__resourceAllocation_resourceAllocationType1
;
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
pdsch_TimeDomainAllocationList
=
NULL
;
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
pdsch_AggregationFactor
=
NULL
;
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
rateMatchPatternToAddModList
=
NULL
;
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
rateMatchPatternToReleaseList
=
NULL
;
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
rateMatchPatternGroup1
=
NULL
;
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
rateMatchPatternGroup2
=
NULL
;
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
rbg_Size
=
NR_PDSCH_Config__rbg_Size_config1
;
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
mcs_Table
=
NULL
;
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
maxNrofCodeWordsScheduledByDCI
=
calloc
(
1
,
sizeof
(
*
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
maxNrofCodeWordsScheduledByDCI
));
*
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
maxNrofCodeWordsScheduledByDCI
=
NR_PDSCH_Config__maxNrofCodeWordsScheduledByDCI_n1
;
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
prb_BundlingType
.
present
=
NR_PDSCH_Config__prb_BundlingType_PR_staticBundling
;
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
prb_BundlingType
.
present
=
NR_PDSCH_Config__prb_BundlingType_PR_staticBundling
;
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
prb_BundlingType
.
choice
.
staticBundling
=
calloc
(
1
,
sizeof
(
*
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
prb_BundlingType
.
choice
.
staticBundling
));
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
prb_BundlingType
.
choice
.
staticBundling
=
calloc
(
1
,
sizeof
(
*
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
prb_BundlingType
.
choice
.
staticBundling
));
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
prb_BundlingType
.
choice
.
staticBundling
->
bundleSize
=
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
prb_BundlingType
.
choice
.
staticBundling
->
bundleSize
=
calloc
(
1
,
sizeof
(
*
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
prb_BundlingType
.
choice
.
staticBundling
->
bundleSize
));
calloc
(
1
,
sizeof
(
*
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
prb_BundlingType
.
choice
.
staticBundling
->
bundleSize
));
*
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
prb_BundlingType
.
choice
.
staticBundling
->
bundleSize
=
NR_PDSCH_Config__prb_BundlingType__staticBundling__bundleSize_wideband
;
*
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
prb_BundlingType
.
choice
.
staticBundling
->
bundleSize
=
NR_PDSCH_Config__prb_BundlingType__staticBundling__bundleSize_wideband
;
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
zp_CSI_RS_ResourceToAddModList
=
NULL
;
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
zp_CSI_RS_ResourceToReleaseList
=
NULL
;
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
tci_StatesToAddModList
=
calloc
(
1
,
sizeof
(
*
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
tci_StatesToAddModList
));
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
aperiodic_ZP_CSI_RS_ResourceSetsToAddModList
=
NULL
;
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
aperiodic_ZP_CSI_RS_ResourceSetsToReleaseList
=
NULL
;
NR_TCI_State_t
*
tcic
=
calloc
(
1
,
sizeof
(
*
tcic
));
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
sp_ZP_CSI_RS_ResourceSetsToAddModList
=
NULL
;
tcic
->
tci_StateId
=
0
;
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
sp_ZP_CSI_RS_ResourceSetsToReleaseList
=
NULL
;
tcic
->
qcl_Type1
.
cell
=
NULL
;
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
p_ZP_CSI_RS_ResourceSet
=
NULL
;
tcic
->
qcl_Type1
.
bwp_Id
=
NULL
;
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
tci_StatesToReleaseList
=
NULL
;
tcic
->
qcl_Type1
.
referenceSignal
.
present
=
NR_QCL_Info__referenceSignal_PR_ssb
;
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
vrb_ToPRB_Interleaver
=
NULL
;
tcic
->
qcl_Type1
.
referenceSignal
.
choice
.
ssb
=
0
;
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
resourceAllocation
=
NR_PDSCH_Config__resourceAllocation_resourceAllocationType1
;
tcic
->
qcl_Type1
.
qcl_Type
=
NR_QCL_Info__qcl_Type_typeD
;
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
pdsch_TimeDomainAllocationList
=
NULL
;
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
pdsch_AggregationFactor
=
NULL
;
ASN_SEQUENCE_ADD
(
&
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
tci_StatesToAddModList
->
list
,
tcic
);
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
rateMatchPatternToAddModList
=
NULL
;
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
rateMatchPatternToReleaseList
=
NULL
;
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
rateMatchPatternGroup1
=
NULL
;
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
rateMatchPatternGroup2
=
NULL
;
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
rbg_Size
=
NR_PDSCH_Config__rbg_Size_config1
;
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
mcs_Table
=
NULL
;
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
maxNrofCodeWordsScheduledByDCI
=
calloc
(
1
,
sizeof
(
*
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
maxNrofCodeWordsScheduledByDCI
));
*
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
maxNrofCodeWordsScheduledByDCI
=
NR_PDSCH_Config__maxNrofCodeWordsScheduledByDCI_n1
;
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
prb_BundlingType
.
present
=
NR_PDSCH_Config__prb_BundlingType_PR_staticBundling
;
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
prb_BundlingType
.
choice
.
staticBundling
=
calloc
(
1
,
sizeof
(
*
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
prb_BundlingType
.
choice
.
staticBundling
));
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
prb_BundlingType
.
choice
.
staticBundling
->
bundleSize
=
calloc
(
1
,
sizeof
(
*
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
prb_BundlingType
.
choice
.
staticBundling
->
bundleSize
));
*
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
prb_BundlingType
.
choice
.
staticBundling
->
bundleSize
=
NR_PDSCH_Config__prb_BundlingType__staticBundling__bundleSize_wideband
;
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
zp_CSI_RS_ResourceToAddModList
=
NULL
;
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
zp_CSI_RS_ResourceToReleaseList
=
NULL
;
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
aperiodic_ZP_CSI_RS_ResourceSetsToAddModList
=
NULL
;
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
aperiodic_ZP_CSI_RS_ResourceSetsToReleaseList
=
NULL
;
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
sp_ZP_CSI_RS_ResourceSetsToAddModList
=
NULL
;
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
sp_ZP_CSI_RS_ResourceSetsToReleaseList
=
NULL
;
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
p_ZP_CSI_RS_ResourceSet
=
NULL
;
bwp
->
bwp_Dedicated
->
sps_Config
=
NULL
;
bwp
->
bwp_Dedicated
->
radioLinkMonitoringConfig
=
NULL
;
}
}
void
fill_default_uplinkBWP
(
NR_BWP_Uplink_t
*
ubwp
,
void
fill_default_uplinkBWP
(
NR_BWP_Uplink_t
*
ubwp
,
...
@@ -1359,7 +1323,7 @@ void fill_default_uplinkBWP(NR_BWP_Uplink_t *ubwp,
...
@@ -1359,7 +1323,7 @@ void fill_default_uplinkBWP(NR_BWP_Uplink_t *ubwp,
for
(
int
i
=
0
;
i
<
8
;
i
++
)
{
for
(
int
i
=
0
;
i
<
8
;
i
++
)
{
delay
[
i
]
=
calloc
(
1
,
sizeof
(
*
delay
[
i
]));
delay
[
i
]
=
calloc
(
1
,
sizeof
(
*
delay
[
i
]));
AssertFatal
(
carrier
->
minRXTXTIME
>=
2
&&
carrier
->
minRXTXTIME
<
7
,
"check minRXTXTIME %d
\n
"
,
carrier
->
minRXTXTIME
);
AssertFatal
(
carrier
->
minRXTXTIME
>=
2
&&
carrier
->
minRXTXTIME
<
7
,
"check minRXTXTIME %d
\n
"
,
carrier
->
minRXTXTIME
);
*
delay
[
i
]
=
(
i
+
carrier
->
minRXTXTIME
)
;
*
delay
[
i
]
=
i
+
carrier
->
minRXTXTIME
;
ASN_SEQUENCE_ADD
(
&
pucch_Config
->
dl_DataToUL_ACK
->
list
,
delay
[
i
]);
ASN_SEQUENCE_ADD
(
&
pucch_Config
->
dl_DataToUL_ACK
->
list
,
delay
[
i
]);
}
}
...
@@ -1536,31 +1500,20 @@ void fill_default_uplinkBWP(NR_BWP_Uplink_t *ubwp,
...
@@ -1536,31 +1500,20 @@ void fill_default_uplinkBWP(NR_BWP_Uplink_t *ubwp,
pucch_Config
->
resourceSetToAddModList
=
calloc
(
1
,
sizeof
(
*
pucch_Config
->
resourceSetToAddModList
));
pucch_Config
->
resourceSetToAddModList
=
calloc
(
1
,
sizeof
(
*
pucch_Config
->
resourceSetToAddModList
));
pucch_Config
->
resourceSetToReleaseList
=
NULL
;
pucch_Config
->
resourceSetToReleaseList
=
NULL
;
pucchresset0
=
calloc
(
1
,
sizeof
(
*
pucchresset0
));
pucchresset0
=
calloc
(
1
,
sizeof
(
*
pucchresset0
));
NR_PUCCH_ResourceSet_t
*
pucchresset1
=
calloc
(
1
,
sizeof
(
*
pucchresset1
));
pucchresset0
->
pucch_ResourceSetId
=
0
;
pucchresset0
->
pucch_ResourceSetId
=
0
;
pucchresset0id0
=
calloc
(
1
,
sizeof
(
*
pucchresset0id0
));
pucchresset0id0
=
calloc
(
1
,
sizeof
(
*
pucchresset0id0
));
*
pucchresset0id0
=
1
;
*
pucchresset0id0
=
0
;
ASN_SEQUENCE_ADD
(
&
pucchresset0
->
resourceList
.
list
,
pucchresset0id0
);
ASN_SEQUENCE_ADD
(
&
pucchresset0
->
resourceList
.
list
,
pucchresset0id0
);
pucchresset0
->
maxPayloadSize
=
NULL
;
pucchresset0
->
maxPayloadSize
=
NULL
;
ASN_SEQUENCE_ADD
(
&
pucch_Config
->
resourceSetToAddModList
->
list
,
pucchresset0
);
ASN_SEQUENCE_ADD
(
&
pucch_Config
->
resourceSetToAddModList
->
list
,
pucchresset0
);
pucchresset1
->
pucch_ResourceSetId
=
1
;
NR_PUCCH_ResourceId_t
*
pucchresset1id0
=
calloc
(
1
,
sizeof
(
*
pucchresset1id0
));
*
pucchresset1id0
=
2
;
ASN_SEQUENCE_ADD
(
&
pucchresset1
->
resourceList
.
list
,
pucchresset1id0
);
pucchresset1
->
maxPayloadSize
=
NULL
;
ASN_SEQUENCE_ADD
(
&
pucch_Config
->
resourceSetToAddModList
->
list
,
pucchresset1
);
pucch_Config
->
resourceToAddModList
=
calloc
(
1
,
sizeof
(
*
pucch_Config
->
resourceToAddModList
));
pucch_Config
->
resourceToAddModList
=
calloc
(
1
,
sizeof
(
*
pucch_Config
->
resourceToAddModList
));
pucch_Config
->
resourceToReleaseList
=
NULL
;
pucch_Config
->
resourceToReleaseList
=
NULL
;
// configure one single PUCCH0 opportunity for initial connection procedure
// one symbol (13)
pucchres0
=
calloc
(
1
,
sizeof
(
*
pucchres0
));
pucchres0
=
calloc
(
1
,
sizeof
(
*
pucchres0
));
NR_PUCCH_Resource_t
*
pucchres1
=
calloc
(
1
,
sizeof
(
*
pucchres1
));
pucchres0
->
pucch_ResourceId
=
0
;
NR_PUCCH_Resource_t
*
pucchres2
=
calloc
(
1
,
sizeof
(
*
pucchres2
));
pucchres0
->
startingPRB
=
(
8
+
uid
)
%
curr_bwp
;
NR_PUCCH_Resource_t
*
pucchres3
=
calloc
(
1
,
sizeof
(
*
pucchres3
));
pucchres0
->
pucch_ResourceId
=
1
;
pucchres0
->
startingPRB
=
(
8
+
uid
)
%
curr_bwp
;
pucchres0
->
intraSlotFrequencyHopping
=
NULL
;
pucchres0
->
intraSlotFrequencyHopping
=
NULL
;
pucchres0
->
secondHopPRB
=
NULL
;
pucchres0
->
secondHopPRB
=
NULL
;
pucchres0
->
format
.
present
=
NR_PUCCH_Resource__format_PR_format0
;
pucchres0
->
format
.
present
=
NR_PUCCH_Resource__format_PR_format0
;
...
@@ -1570,17 +1523,7 @@ void fill_default_uplinkBWP(NR_BWP_Uplink_t *ubwp,
...
@@ -1570,17 +1523,7 @@ void fill_default_uplinkBWP(NR_BWP_Uplink_t *ubwp,
pucchres0
->
format
.
choice
.
format0
->
startingSymbolIndex
=
13
;
pucchres0
->
format
.
choice
.
format0
->
startingSymbolIndex
=
13
;
ASN_SEQUENCE_ADD
(
&
pucch_Config
->
resourceToAddModList
->
list
,
pucchres0
);
ASN_SEQUENCE_ADD
(
&
pucch_Config
->
resourceToAddModList
->
list
,
pucchres0
);
pucchres2
->
pucch_ResourceId
=
2
;
/*
pucchres2
->
startingPRB
=
0
;
pucchres2
->
intraSlotFrequencyHopping
=
NULL
;
pucchres2
->
secondHopPRB
=
NULL
;
pucchres2
->
format
.
present
=
NR_PUCCH_Resource__format_PR_format2
;
pucchres2
->
format
.
choice
.
format2
=
calloc
(
1
,
sizeof
(
*
pucchres2
->
format
.
choice
.
format2
));
pucchres2
->
format
.
choice
.
format2
->
nrofPRBs
=
8
;
pucchres2
->
format
.
choice
.
format2
->
nrofSymbols
=
1
;
pucchres2
->
format
.
choice
.
format2
->
startingSymbolIndex
=
13
;
ASN_SEQUENCE_ADD
(
&
pucch_Config
->
resourceToAddModList
->
list
,
pucchres2
);
pucch_Config->format2=calloc(1,sizeof(*pucch_Config->format2));
pucch_Config->format2=calloc(1,sizeof(*pucch_Config->format2));
pucch_Config->format2->present=NR_SetupRelease_PUCCH_FormatConfig_PR_setup;
pucch_Config->format2->present=NR_SetupRelease_PUCCH_FormatConfig_PR_setup;
NR_PUCCH_FormatConfig_t *pucchfmt2 = calloc(1,sizeof(*pucchfmt2));
NR_PUCCH_FormatConfig_t *pucchfmt2 = calloc(1,sizeof(*pucchfmt2));
...
@@ -1593,6 +1536,7 @@ void fill_default_uplinkBWP(NR_BWP_Uplink_t *ubwp,
...
@@ -1593,6 +1536,7 @@ void fill_default_uplinkBWP(NR_BWP_Uplink_t *ubwp,
pucchfmt2->pi2BPSK=NULL;
pucchfmt2->pi2BPSK=NULL;
pucchfmt2->simultaneousHARQ_ACK_CSI=calloc(1,sizeof(*pucchfmt2->simultaneousHARQ_ACK_CSI));
pucchfmt2->simultaneousHARQ_ACK_CSI=calloc(1,sizeof(*pucchfmt2->simultaneousHARQ_ACK_CSI));
*pucchfmt2->simultaneousHARQ_ACK_CSI=NR_PUCCH_FormatConfig__simultaneousHARQ_ACK_CSI_true;
*pucchfmt2->simultaneousHARQ_ACK_CSI=NR_PUCCH_FormatConfig__simultaneousHARQ_ACK_CSI_true;
*/
// configure Scheduling request
// configure Scheduling request
// 40 slot period
// 40 slot period
...
@@ -1621,6 +1565,7 @@ void fill_default_uplinkBWP(NR_BWP_Uplink_t *ubwp,
...
@@ -1621,6 +1565,7 @@ void fill_default_uplinkBWP(NR_BWP_Uplink_t *ubwp,
pucch_Config
->
dl_DataToUL_ACK
=
calloc
(
1
,
sizeof
(
*
pucch_Config
->
dl_DataToUL_ACK
));
pucch_Config
->
dl_DataToUL_ACK
=
calloc
(
1
,
sizeof
(
*
pucch_Config
->
dl_DataToUL_ACK
));
for
(
int
i
=
0
;
i
<
8
;
i
++
)
{
for
(
int
i
=
0
;
i
<
8
;
i
++
)
{
delay
[
i
]
=
calloc
(
1
,
sizeof
(
*
delay
[
i
]));
delay
[
i
]
=
calloc
(
1
,
sizeof
(
*
delay
[
i
]));
AssertFatal
(
carrier
->
minRXTXTIME
>=
2
&&
carrier
->
minRXTXTIME
<
7
,
"check minRXTXTIME %d
\n
"
,
carrier
->
minRXTXTIME
);
*
delay
[
i
]
=
i
+
carrier
->
minRXTXTIME
;
*
delay
[
i
]
=
i
+
carrier
->
minRXTXTIME
;
ASN_SEQUENCE_ADD
(
&
pucch_Config
->
dl_DataToUL_ACK
->
list
,
delay
[
i
]);
ASN_SEQUENCE_ADD
(
&
pucch_Config
->
dl_DataToUL_ACK
->
list
,
delay
[
i
]);
}
}
...
@@ -1756,9 +1701,9 @@ void fill_initial_SpCellConfig(rnti_t rnti,
...
@@ -1756,9 +1701,9 @@ void fill_initial_SpCellConfig(rnti_t rnti,
ss2
->
monitoringSymbolsWithinSlot
=
calloc
(
1
,
sizeof
(
*
ss2
->
monitoringSymbolsWithinSlot
));
ss2
->
monitoringSymbolsWithinSlot
=
calloc
(
1
,
sizeof
(
*
ss2
->
monitoringSymbolsWithinSlot
));
ss2
->
monitoringSymbolsWithinSlot
->
buf
=
calloc
(
1
,
2
);
ss2
->
monitoringSymbolsWithinSlot
->
buf
=
calloc
(
1
,
2
);
ss2
->
monitoringSymbolsWithinSlot
->
size
=
2
;
ss2
->
monitoringSymbolsWithinSlot
->
size
=
2
;
ss2
->
monitoringSymbolsWithinSlot
->
bits_unused
=
2
;
ss2
->
monitoringSymbolsWithinSlot
->
buf
[
0
]
=
0x80
;
ss2
->
monitoringSymbolsWithinSlot
->
buf
[
0
]
=
0x80
;
ss2
->
monitoringSymbolsWithinSlot
->
buf
[
1
]
=
0x0
;
ss2
->
monitoringSymbolsWithinSlot
->
buf
[
1
]
=
0x0
;
ss2
->
monitoringSymbolsWithinSlot
->
bits_unused
=
2
;
ss2
->
nrofCandidates
=
calloc
(
1
,
sizeof
(
*
ss2
->
nrofCandidates
));
ss2
->
nrofCandidates
=
calloc
(
1
,
sizeof
(
*
ss2
->
nrofCandidates
));
ss2
->
nrofCandidates
->
aggregationLevel1
=
NR_SearchSpace__nrofCandidates__aggregationLevel1_n0
;
ss2
->
nrofCandidates
->
aggregationLevel1
=
NR_SearchSpace__nrofCandidates__aggregationLevel1_n0
;
ss2
->
nrofCandidates
->
aggregationLevel2
=
NR_SearchSpace__nrofCandidates__aggregationLevel2_n2
;
ss2
->
nrofCandidates
->
aggregationLevel2
=
NR_SearchSpace__nrofCandidates__aggregationLevel2_n2
;
...
@@ -2162,7 +2107,7 @@ int16_t do_RRCSetup(rrc_gNB_ue_context_t *const ue_context_pP,
...
@@ -2162,7 +2107,7 @@ int16_t do_RRCSetup(rrc_gNB_ue_context_t *const ue_context_pP,
(
void
*
)
&
dl_ccch_msg
,
(
void
*
)
&
dl_ccch_msg
,
buffer
,
buffer
,
1000
);
1000
);
if
(
enc_rval
.
encoded
==
-
1
)
{
if
(
enc_rval
.
encoded
==
-
1
)
{
LOG_E
(
NR_RRC
,
"[gNB AssertFatal]ASN1 message encoding failed (%s, %lu)!
\n
"
,
LOG_E
(
NR_RRC
,
"[gNB AssertFatal]ASN1 message encoding failed (%s, %lu)!
\n
"
,
enc_rval
.
failed_type
->
name
,
enc_rval
.
encoded
);
enc_rval
.
failed_type
->
name
,
enc_rval
.
encoded
);
...
...
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