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
canghaiwuhen
OpenXG-RAN
Commits
fa105bd4
Commit
fa105bd4
authored
Aug 12, 2020
by
Francesco Mani
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
reworking rrc config for csi meas report on ssb
parent
5607a10d
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
17 additions
and
774 deletions
+17
-774
openair2/RRC/NR/rrc_gNB_reconfig.c
openair2/RRC/NR/rrc_gNB_reconfig.c
+17
-774
No files found.
openair2/RRC/NR/rrc_gNB_reconfig.c
View file @
fa105bd4
...
...
@@ -846,12 +846,7 @@ void fill_default_secondaryCellGroup(NR_ServingCellConfigCommon_t *servingcellco
aset
->
alpha
=
calloc
(
1
,
sizeof
(
*
aset
->
alpha
));
*
aset
->
alpha
=
NR_Alpha_alpha1
;
ASN_SEQUENCE_ADD
(
&
pusch_Config
->
pusch_PowerControl
->
p0_AlphaSets
->
list
,
aset
);
pusch_Config
->
pusch_PowerControl
->
pathlossReferenceRSToAddModList
=
calloc
(
1
,
sizeof
(
*
pusch_Config
->
pusch_PowerControl
->
pathlossReferenceRSToAddModList
));
NR_PUSCH_PathlossReferenceRS_t
*
pl
=
calloc
(
1
,
sizeof
(
*
pl
));
pl
->
pusch_PathlossReferenceRS_Id
=
0
;
pl
->
referenceSignal
.
present
=
NR_PUSCH_PathlossReferenceRS__referenceSignal_PR_csi_RS_Index
;
pl
->
referenceSignal
.
choice
.
csi_RS_Index
=
0
;
ASN_SEQUENCE_ADD
(
&
pusch_Config
->
pusch_PowerControl
->
pathlossReferenceRSToAddModList
->
list
,
pl
);
pusch_Config
->
pusch_PowerControl
->
pathlossReferenceRSToAddModList
=
NULL
;
pusch_Config
->
pusch_PowerControl
->
pathlossReferenceRSToReleaseList
=
NULL
;
pusch_Config
->
pusch_PowerControl
->
twoPUSCH_PC_AdjustmentStates
=
NULL
;
pusch_Config
->
pusch_PowerControl
->
deltaMCS
=
NULL
;
...
...
@@ -1073,12 +1068,7 @@ void fill_default_secondaryCellGroup(NR_ServingCellConfigCommon_t *servingcellco
p00
->
p0_PUCCH_Id
=
1
;
p00
->
p0_PUCCH_Value
=
0
;
ASN_SEQUENCE_ADD
(
&
pucch_Config
->
pucch_PowerControl
->
p0_Set
->
list
,
p00
);
pucch_Config
->
pucch_PowerControl
->
pathlossReferenceRSs
=
calloc
(
1
,
sizeof
(
*
pucch_Config
->
pucch_PowerControl
->
pathlossReferenceRSs
));
NR_PUCCH_PathlossReferenceRS_t
*
pucchPLRef
=
calloc
(
1
,
sizeof
(
*
pucchPLRef
));
pucchPLRef
->
pucch_PathlossReferenceRS_Id
=
0
;
pucchPLRef
->
referenceSignal
.
present
=
NR_PUCCH_PathlossReferenceRS__referenceSignal_PR_csi_RS_Index
;
pucchPLRef
->
referenceSignal
.
choice
.
csi_RS_Index
=
0
;
ASN_SEQUENCE_ADD
(
&
pucch_Config
->
pucch_PowerControl
->
pathlossReferenceRSs
->
list
,
pucchPLRef
);
pucch_Config
->
pucch_PowerControl
->
pathlossReferenceRSs
=
NULL
;
// copy pusch_Config from dedicated initialBWP
ubwp
->
bwp_Dedicated
->
pusch_Config
=
calloc
(
1
,
sizeof
(
*
ubwp
->
bwp_Dedicated
->
pusch_Config
));
...
...
@@ -1129,565 +1119,20 @@ void fill_default_secondaryCellGroup(NR_ServingCellConfigCommon_t *servingcellco
pdsch_servingcellconfig
->
ext1
->
processingType2Enabled
=
NULL
;
secondaryCellGroup
->
spCellConfig
->
spCellConfigDedicated
->
csi_MeasConfig
=
NULL
;
//secondaryCellGroup->spCellConfig->spCellConfigDedicated->csi_MeasConfig=calloc(1,sizeof(*secondaryCellGroup->spCellConfig->spCellConfigDedicated->csi_MeasConfig));
//secondaryCellGroup->spCellConfig->spCellConfigDedicated->csi_MeasConfig->present = NR_SetupRelease_CSI_MeasConfig_PR_setup;
secondaryCellGroup
->
spCellConfig
->
spCellConfigDedicated
->
csi_MeasConfig
=
calloc
(
1
,
sizeof
(
*
secondaryCellGroup
->
spCellConfig
->
spCellConfigDedicated
->
csi_MeasConfig
));
secondaryCellGroup
->
spCellConfig
->
spCellConfigDedicated
->
csi_MeasConfig
->
present
=
NR_SetupRelease_CSI_MeasConfig_PR_setup
;
NR_CSI_MeasConfig_t
*
csi_MeasConfig
=
calloc
(
1
,
sizeof
(
*
csi_MeasConfig
));
// secondaryCellGroup->spCellConfig->spCellConfigDedicated->csi_MeasConfig->choice.setup = csi_MeasConfig;
csi_MeasConfig
->
nzp_CSI_RS_ResourceToAddModList
=
calloc
(
1
,
sizeof
(
*
csi_MeasConfig
->
nzp_CSI_RS_ResourceToAddModList
));
NR_NZP_CSI_RS_Resource_t
*
nzpres0
=
calloc
(
1
,
sizeof
(
*
nzpres0
));
nzpres0
->
nzp_CSI_RS_ResourceId
=
0
;
nzpres0
->
resourceMapping
.
frequencyDomainAllocation
.
present
=
NR_CSI_RS_ResourceMapping__frequencyDomainAllocation_PR_other
;
nzpres0
->
resourceMapping
.
frequencyDomainAllocation
.
choice
.
other
.
buf
=
calloc
(
1
,
1
);
nzpres0
->
resourceMapping
.
frequencyDomainAllocation
.
choice
.
other
.
size
=
1
;
nzpres0
->
resourceMapping
.
frequencyDomainAllocation
.
choice
.
other
.
bits_unused
=
2
;
nzpres0
->
resourceMapping
.
frequencyDomainAllocation
.
choice
.
other
.
buf
[
0
]
=
1
<<
2
;
nzpres0
->
resourceMapping
.
nrofPorts
=
(
n_physical_antenna_ports
==
1
)
?
NR_CSI_RS_ResourceMapping__nrofPorts_p1
:
NR_CSI_RS_ResourceMapping__nrofPorts_p2
;
nzpres0
->
resourceMapping
.
firstOFDMSymbolInTimeDomain
=
7
;
nzpres0
->
resourceMapping
.
firstOFDMSymbolInTimeDomain2
=
NULL
;
nzpres0
->
resourceMapping
.
cdm_Type
=
(
n_physical_antenna_ports
==
1
)
?
NR_CSI_RS_ResourceMapping__cdm_Type_noCDM
:
NR_CSI_RS_ResourceMapping__cdm_Type_fd_CDM2
;
nzpres0
->
resourceMapping
.
density
.
present
=
NR_CSI_RS_ResourceMapping__density_PR_one
;
nzpres0
->
resourceMapping
.
density
.
choice
.
one
=
(
NULL_t
)
0
;
nzpres0
->
resourceMapping
.
freqBand
.
startingRB
=
0
;
nzpres0
->
resourceMapping
.
freqBand
.
nrofRBs
=
servingcellconfigcommon
->
downlinkConfigCommon
->
frequencyInfoDL
->
scs_SpecificCarrierList
.
list
.
array
[
0
]
->
carrierBandwidth
;
nzpres0
->
powerControlOffset
=
13
;
nzpres0
->
powerControlOffsetSS
=
NULL
;
nzpres0
->
scramblingID
=
40
;
nzpres0
->
periodicityAndOffset
=
calloc
(
1
,
sizeof
(
*
nzpres0
->
periodicityAndOffset
));
nzpres0
->
periodicityAndOffset
->
present
=
NR_CSI_ResourcePeriodicityAndOffset_PR_slots320
;
nzpres0
->
periodicityAndOffset
->
choice
.
slots320
=
2
;
nzpres0
->
qcl_InfoPeriodicCSI_RS
=
NULL
;
ASN_SEQUENCE_ADD
(
&
csi_MeasConfig
->
nzp_CSI_RS_ResourceToAddModList
->
list
,
nzpres0
);
if
(
n_physical_antenna_ports
>
1
)
{
NR_NZP_CSI_RS_Resource_t
*
nzpres2
=
calloc
(
1
,
sizeof
(
*
nzpres2
));
nzpres2
->
nzp_CSI_RS_ResourceId
=
2
;
nzpres2
->
resourceMapping
.
frequencyDomainAllocation
.
present
=
NR_CSI_RS_ResourceMapping__frequencyDomainAllocation_PR_row1
;
nzpres2
->
resourceMapping
.
frequencyDomainAllocation
.
choice
.
row1
.
buf
=
calloc
(
1
,
1
);
nzpres2
->
resourceMapping
.
frequencyDomainAllocation
.
choice
.
row1
.
size
=
1
;
nzpres2
->
resourceMapping
.
frequencyDomainAllocation
.
choice
.
row1
.
bits_unused
=
4
;
nzpres2
->
resourceMapping
.
frequencyDomainAllocation
.
choice
.
row1
.
buf
[
0
]
=
1
;
nzpres2
->
resourceMapping
.
nrofPorts
=
NR_CSI_RS_ResourceMapping__nrofPorts_p1
;
nzpres2
->
resourceMapping
.
firstOFDMSymbolInTimeDomain
=
4
;
nzpres2
->
resourceMapping
.
firstOFDMSymbolInTimeDomain2
=
NULL
;
nzpres2
->
resourceMapping
.
cdm_Type
=
NR_CSI_RS_ResourceMapping__cdm_Type_noCDM
;
nzpres2
->
resourceMapping
.
density
.
present
=
NR_CSI_RS_ResourceMapping__density_PR_three
;
nzpres2
->
resourceMapping
.
density
.
choice
.
three
=
(
NULL_t
)
0
;
nzpres2
->
resourceMapping
.
freqBand
.
startingRB
=
0
;
nzpres2
->
resourceMapping
.
freqBand
.
nrofRBs
=
servingcellconfigcommon
->
downlinkConfigCommon
->
frequencyInfoDL
->
scs_SpecificCarrierList
.
list
.
array
[
0
]
->
carrierBandwidth
;
nzpres2
->
powerControlOffset
=
0
;
nzpres2
->
powerControlOffsetSS
=
calloc
(
1
,
sizeof
(
*
nzpres2
->
powerControlOffsetSS
));
*
nzpres2
->
powerControlOffsetSS
=
NR_NZP_CSI_RS_Resource__powerControlOffsetSS_db0
;
nzpres2
->
scramblingID
=
40
;
nzpres2
->
periodicityAndOffset
=
calloc
(
1
,
sizeof
(
*
nzpres2
->
periodicityAndOffset
));
nzpres2
->
periodicityAndOffset
->
present
=
NR_CSI_ResourcePeriodicityAndOffset_PR_slots160
;
nzpres2
->
periodicityAndOffset
->
choice
.
slots160
=
25
;
nzpres2
->
qcl_InfoPeriodicCSI_RS
=
calloc
(
1
,
sizeof
(
*
nzpres2
->
qcl_InfoPeriodicCSI_RS
));
*
nzpres2
->
qcl_InfoPeriodicCSI_RS
=
8
;
ASN_SEQUENCE_ADD
(
&
csi_MeasConfig
->
nzp_CSI_RS_ResourceToAddModList
->
list
,
nzpres2
);
NR_NZP_CSI_RS_Resource_t
*
nzpres3
=
calloc
(
1
,
sizeof
(
*
nzpres3
));
nzpres3
->
nzp_CSI_RS_ResourceId
=
3
;
nzpres3
->
resourceMapping
.
frequencyDomainAllocation
.
present
=
NR_CSI_RS_ResourceMapping__frequencyDomainAllocation_PR_row1
;
nzpres3
->
resourceMapping
.
frequencyDomainAllocation
.
choice
.
row1
.
buf
=
calloc
(
1
,
1
);
nzpres3
->
resourceMapping
.
frequencyDomainAllocation
.
choice
.
row1
.
size
=
1
;
nzpres3
->
resourceMapping
.
frequencyDomainAllocation
.
choice
.
row1
.
bits_unused
=
4
;
nzpres3
->
resourceMapping
.
frequencyDomainAllocation
.
choice
.
row1
.
buf
[
0
]
=
1
;
nzpres3
->
resourceMapping
.
nrofPorts
=
NR_CSI_RS_ResourceMapping__nrofPorts_p1
;
nzpres3
->
resourceMapping
.
firstOFDMSymbolInTimeDomain
=
8
;
nzpres3
->
resourceMapping
.
firstOFDMSymbolInTimeDomain2
=
NULL
;
nzpres3
->
resourceMapping
.
cdm_Type
=
NR_CSI_RS_ResourceMapping__cdm_Type_noCDM
;
nzpres3
->
resourceMapping
.
density
.
present
=
NR_CSI_RS_ResourceMapping__density_PR_three
;
nzpres3
->
resourceMapping
.
density
.
choice
.
three
=
(
NULL_t
)
0
;
nzpres3
->
resourceMapping
.
freqBand
.
startingRB
=
0
;
nzpres3
->
resourceMapping
.
freqBand
.
nrofRBs
=
servingcellconfigcommon
->
downlinkConfigCommon
->
frequencyInfoDL
->
scs_SpecificCarrierList
.
list
.
array
[
0
]
->
carrierBandwidth
;
nzpres3
->
powerControlOffset
=
0
;
nzpres3
->
powerControlOffsetSS
=
calloc
(
1
,
sizeof
(
*
nzpres3
->
powerControlOffsetSS
));
*
nzpres3
->
powerControlOffsetSS
=
NR_NZP_CSI_RS_Resource__powerControlOffsetSS_db0
;
nzpres3
->
scramblingID
=
40
;
nzpres3
->
periodicityAndOffset
=
calloc
(
1
,
sizeof
(
*
nzpres3
->
periodicityAndOffset
));
nzpres3
->
periodicityAndOffset
->
present
=
NR_CSI_ResourcePeriodicityAndOffset_PR_slots160
;
nzpres3
->
periodicityAndOffset
->
choice
.
slots160
=
25
;
nzpres3
->
qcl_InfoPeriodicCSI_RS
=
calloc
(
1
,
sizeof
(
*
nzpres3
->
qcl_InfoPeriodicCSI_RS
));
*
nzpres3
->
qcl_InfoPeriodicCSI_RS
=
8
;
ASN_SEQUENCE_ADD
(
&
csi_MeasConfig
->
nzp_CSI_RS_ResourceToAddModList
->
list
,
nzpres3
);
}
if
(
n_physical_antenna_ports
>
3
)
{
NR_NZP_CSI_RS_Resource_t
*
nzpres4
=
calloc
(
1
,
sizeof
(
*
nzpres4
));
nzpres4
->
nzp_CSI_RS_ResourceId
=
4
;
nzpres4
->
resourceMapping
.
frequencyDomainAllocation
.
present
=
NR_CSI_RS_ResourceMapping__frequencyDomainAllocation_PR_row1
;
nzpres4
->
resourceMapping
.
frequencyDomainAllocation
.
choice
.
row1
.
buf
=
calloc
(
1
,
1
);
nzpres4
->
resourceMapping
.
frequencyDomainAllocation
.
choice
.
row1
.
size
=
1
;
nzpres4
->
resourceMapping
.
frequencyDomainAllocation
.
choice
.
row1
.
bits_unused
=
4
;
nzpres4
->
resourceMapping
.
frequencyDomainAllocation
.
choice
.
row1
.
buf
[
0
]
=
1
;
nzpres4
->
resourceMapping
.
nrofPorts
=
NR_CSI_RS_ResourceMapping__nrofPorts_p1
;
nzpres4
->
resourceMapping
.
firstOFDMSymbolInTimeDomain
=
4
;
nzpres4
->
resourceMapping
.
firstOFDMSymbolInTimeDomain2
=
NULL
;
nzpres4
->
resourceMapping
.
cdm_Type
=
NR_CSI_RS_ResourceMapping__cdm_Type_noCDM
;
nzpres4
->
resourceMapping
.
density
.
present
=
NR_CSI_RS_ResourceMapping__density_PR_three
;
nzpres4
->
resourceMapping
.
density
.
choice
.
three
=
(
NULL_t
)
0
;
nzpres4
->
resourceMapping
.
freqBand
.
startingRB
=
0
;
nzpres4
->
resourceMapping
.
freqBand
.
nrofRBs
=
servingcellconfigcommon
->
downlinkConfigCommon
->
frequencyInfoDL
->
scs_SpecificCarrierList
.
list
.
array
[
0
]
->
carrierBandwidth
;
nzpres4
->
powerControlOffset
=
0
;
nzpres4
->
powerControlOffsetSS
=
calloc
(
1
,
sizeof
(
*
nzpres4
->
powerControlOffsetSS
));
*
nzpres4
->
powerControlOffsetSS
=
NR_NZP_CSI_RS_Resource__powerControlOffsetSS_db0
;
nzpres4
->
scramblingID
=
40
;
nzpres4
->
periodicityAndOffset
=
calloc
(
1
,
sizeof
(
*
nzpres4
->
periodicityAndOffset
));
nzpres4
->
periodicityAndOffset
->
present
=
NR_CSI_ResourcePeriodicityAndOffset_PR_slots160
;
nzpres4
->
periodicityAndOffset
->
choice
.
slots160
=
26
;
nzpres4
->
qcl_InfoPeriodicCSI_RS
=
calloc
(
1
,
sizeof
(
*
nzpres4
->
qcl_InfoPeriodicCSI_RS
));
*
nzpres4
->
qcl_InfoPeriodicCSI_RS
=
8
;
ASN_SEQUENCE_ADD
(
&
csi_MeasConfig
->
nzp_CSI_RS_ResourceToAddModList
->
list
,
nzpres4
);
NR_NZP_CSI_RS_Resource_t
*
nzpres5
=
calloc
(
1
,
sizeof
(
*
nzpres5
));
nzpres5
->
nzp_CSI_RS_ResourceId
=
5
;
nzpres5
->
resourceMapping
.
frequencyDomainAllocation
.
present
=
NR_CSI_RS_ResourceMapping__frequencyDomainAllocation_PR_row1
;
nzpres5
->
resourceMapping
.
frequencyDomainAllocation
.
choice
.
row1
.
buf
=
calloc
(
1
,
1
);
nzpres5
->
resourceMapping
.
frequencyDomainAllocation
.
choice
.
row1
.
size
=
1
;
nzpres5
->
resourceMapping
.
frequencyDomainAllocation
.
choice
.
row1
.
bits_unused
=
4
;
nzpres5
->
resourceMapping
.
frequencyDomainAllocation
.
choice
.
row1
.
buf
[
0
]
=
1
;
nzpres5
->
resourceMapping
.
nrofPorts
=
NR_CSI_RS_ResourceMapping__nrofPorts_p1
;
nzpres5
->
resourceMapping
.
firstOFDMSymbolInTimeDomain
=
8
;
nzpres5
->
resourceMapping
.
firstOFDMSymbolInTimeDomain2
=
NULL
;
nzpres5
->
resourceMapping
.
cdm_Type
=
NR_CSI_RS_ResourceMapping__cdm_Type_noCDM
;
nzpres5
->
resourceMapping
.
density
.
present
=
NR_CSI_RS_ResourceMapping__density_PR_three
;
nzpres5
->
resourceMapping
.
density
.
choice
.
three
=
(
NULL_t
)
0
;
nzpres5
->
resourceMapping
.
freqBand
.
startingRB
=
0
;
nzpres5
->
resourceMapping
.
freqBand
.
nrofRBs
=
servingcellconfigcommon
->
downlinkConfigCommon
->
frequencyInfoDL
->
scs_SpecificCarrierList
.
list
.
array
[
0
]
->
carrierBandwidth
;
nzpres5
->
powerControlOffset
=
0
;
nzpres5
->
powerControlOffsetSS
=
calloc
(
1
,
sizeof
(
*
nzpres5
->
powerControlOffsetSS
));
*
nzpres5
->
powerControlOffsetSS
=
NR_NZP_CSI_RS_Resource__powerControlOffsetSS_db0
;
nzpres5
->
scramblingID
=
40
;
nzpres5
->
periodicityAndOffset
=
calloc
(
1
,
sizeof
(
*
nzpres5
->
periodicityAndOffset
));
nzpres5
->
periodicityAndOffset
->
present
=
NR_CSI_ResourcePeriodicityAndOffset_PR_slots160
;
nzpres5
->
periodicityAndOffset
->
choice
.
slots160
=
26
;
nzpres5
->
qcl_InfoPeriodicCSI_RS
=
calloc
(
1
,
sizeof
(
*
nzpres5
->
qcl_InfoPeriodicCSI_RS
));
*
nzpres5
->
qcl_InfoPeriodicCSI_RS
=
8
;
ASN_SEQUENCE_ADD
(
&
csi_MeasConfig
->
nzp_CSI_RS_ResourceToAddModList
->
list
,
nzpres5
);
}
if
(
n_physical_antenna_ports
>
7
)
{
NR_NZP_CSI_RS_Resource_t
*
nzpres6
=
calloc
(
1
,
sizeof
(
*
nzpres6
));
nzpres6
->
nzp_CSI_RS_ResourceId
=
6
;
nzpres6
->
resourceMapping
.
frequencyDomainAllocation
.
present
=
NR_CSI_RS_ResourceMapping__frequencyDomainAllocation_PR_row1
;
nzpres6
->
resourceMapping
.
frequencyDomainAllocation
.
choice
.
row1
.
buf
=
calloc
(
1
,
1
);
nzpres6
->
resourceMapping
.
frequencyDomainAllocation
.
choice
.
row1
.
size
=
1
;
nzpres6
->
resourceMapping
.
frequencyDomainAllocation
.
choice
.
row1
.
bits_unused
=
4
;
nzpres6
->
resourceMapping
.
frequencyDomainAllocation
.
choice
.
row1
.
buf
[
0
]
=
4
;
nzpres6
->
resourceMapping
.
nrofPorts
=
NR_CSI_RS_ResourceMapping__nrofPorts_p1
;
nzpres6
->
resourceMapping
.
firstOFDMSymbolInTimeDomain
=
4
;
nzpres6
->
resourceMapping
.
firstOFDMSymbolInTimeDomain2
=
NULL
;
nzpres6
->
resourceMapping
.
cdm_Type
=
NR_CSI_RS_ResourceMapping__cdm_Type_noCDM
;
nzpres6
->
resourceMapping
.
density
.
present
=
NR_CSI_RS_ResourceMapping__density_PR_three
;
nzpres6
->
resourceMapping
.
density
.
choice
.
three
=
(
NULL_t
)
0
;
nzpres6
->
resourceMapping
.
freqBand
.
startingRB
=
0
;
nzpres6
->
resourceMapping
.
freqBand
.
nrofRBs
=
servingcellconfigcommon
->
downlinkConfigCommon
->
frequencyInfoDL
->
scs_SpecificCarrierList
.
list
.
array
[
0
]
->
carrierBandwidth
;
nzpres6
->
powerControlOffset
=
0
;
nzpres6
->
powerControlOffsetSS
=
calloc
(
1
,
sizeof
(
*
nzpres6
->
powerControlOffsetSS
));
*
nzpres6
->
powerControlOffsetSS
=
NR_NZP_CSI_RS_Resource__powerControlOffsetSS_db0
;
nzpres6
->
scramblingID
=
40
;
nzpres6
->
periodicityAndOffset
=
calloc
(
1
,
sizeof
(
*
nzpres6
->
periodicityAndOffset
));
nzpres6
->
periodicityAndOffset
->
present
=
NR_CSI_ResourcePeriodicityAndOffset_PR_slots160
;
nzpres6
->
periodicityAndOffset
->
choice
.
slots160
=
25
;
nzpres6
->
qcl_InfoPeriodicCSI_RS
=
calloc
(
1
,
sizeof
(
*
nzpres6
->
qcl_InfoPeriodicCSI_RS
));
*
nzpres6
->
qcl_InfoPeriodicCSI_RS
=
8
;
ASN_SEQUENCE_ADD
(
&
csi_MeasConfig
->
nzp_CSI_RS_ResourceToAddModList
->
list
,
nzpres6
);
NR_NZP_CSI_RS_Resource_t
*
nzpres7
=
calloc
(
1
,
sizeof
(
*
nzpres7
));
nzpres7
->
nzp_CSI_RS_ResourceId
=
7
;
nzpres7
->
resourceMapping
.
frequencyDomainAllocation
.
present
=
NR_CSI_RS_ResourceMapping__frequencyDomainAllocation_PR_row1
;
nzpres7
->
resourceMapping
.
frequencyDomainAllocation
.
choice
.
row1
.
buf
=
calloc
(
1
,
1
);
nzpres7
->
resourceMapping
.
frequencyDomainAllocation
.
choice
.
row1
.
size
=
1
;
nzpres7
->
resourceMapping
.
frequencyDomainAllocation
.
choice
.
row1
.
bits_unused
=
4
;
nzpres7
->
resourceMapping
.
frequencyDomainAllocation
.
choice
.
row1
.
buf
[
0
]
=
4
;
nzpres7
->
resourceMapping
.
nrofPorts
=
NR_CSI_RS_ResourceMapping__nrofPorts_p1
;
nzpres7
->
resourceMapping
.
firstOFDMSymbolInTimeDomain
=
8
;
nzpres7
->
resourceMapping
.
firstOFDMSymbolInTimeDomain2
=
NULL
;
nzpres7
->
resourceMapping
.
cdm_Type
=
NR_CSI_RS_ResourceMapping__cdm_Type_noCDM
;
nzpres7
->
resourceMapping
.
density
.
present
=
NR_CSI_RS_ResourceMapping__density_PR_three
;
nzpres7
->
resourceMapping
.
density
.
choice
.
three
=
(
NULL_t
)
0
;
nzpres7
->
resourceMapping
.
freqBand
.
startingRB
=
0
;
nzpres7
->
resourceMapping
.
freqBand
.
nrofRBs
=
servingcellconfigcommon
->
downlinkConfigCommon
->
frequencyInfoDL
->
scs_SpecificCarrierList
.
list
.
array
[
0
]
->
carrierBandwidth
;
nzpres7
->
powerControlOffset
=
0
;
nzpres7
->
powerControlOffsetSS
=
calloc
(
1
,
sizeof
(
*
nzpres7
->
powerControlOffsetSS
));
*
nzpres7
->
powerControlOffsetSS
=
NR_NZP_CSI_RS_Resource__powerControlOffsetSS_db0
;
nzpres7
->
scramblingID
=
40
;
nzpres7
->
periodicityAndOffset
=
calloc
(
1
,
sizeof
(
*
nzpres7
->
periodicityAndOffset
));
nzpres7
->
periodicityAndOffset
->
present
=
NR_CSI_ResourcePeriodicityAndOffset_PR_slots160
;
nzpres7
->
periodicityAndOffset
->
choice
.
slots160
=
25
;
nzpres7
->
qcl_InfoPeriodicCSI_RS
=
calloc
(
1
,
sizeof
(
*
nzpres7
->
qcl_InfoPeriodicCSI_RS
));
*
nzpres7
->
qcl_InfoPeriodicCSI_RS
=
8
;
ASN_SEQUENCE_ADD
(
&
csi_MeasConfig
->
nzp_CSI_RS_ResourceToAddModList
->
list
,
nzpres7
);
NR_NZP_CSI_RS_Resource_t
*
nzpres8
=
calloc
(
1
,
sizeof
(
*
nzpres8
));
nzpres8
->
nzp_CSI_RS_ResourceId
=
8
;
nzpres8
->
resourceMapping
.
frequencyDomainAllocation
.
present
=
NR_CSI_RS_ResourceMapping__frequencyDomainAllocation_PR_row1
;
nzpres8
->
resourceMapping
.
frequencyDomainAllocation
.
choice
.
row1
.
buf
=
calloc
(
1
,
1
);
nzpres8
->
resourceMapping
.
frequencyDomainAllocation
.
choice
.
row1
.
size
=
1
;
nzpres8
->
resourceMapping
.
frequencyDomainAllocation
.
choice
.
row1
.
bits_unused
=
4
;
nzpres8
->
resourceMapping
.
frequencyDomainAllocation
.
choice
.
row1
.
buf
[
0
]
=
4
;
nzpres8
->
resourceMapping
.
nrofPorts
=
NR_CSI_RS_ResourceMapping__nrofPorts_p1
;
nzpres8
->
resourceMapping
.
firstOFDMSymbolInTimeDomain
=
4
;
nzpres8
->
resourceMapping
.
firstOFDMSymbolInTimeDomain2
=
NULL
;
nzpres8
->
resourceMapping
.
cdm_Type
=
NR_CSI_RS_ResourceMapping__cdm_Type_noCDM
;
nzpres8
->
resourceMapping
.
density
.
present
=
NR_CSI_RS_ResourceMapping__density_PR_three
;
nzpres8
->
resourceMapping
.
density
.
choice
.
three
=
(
NULL_t
)
0
;
nzpres8
->
resourceMapping
.
freqBand
.
startingRB
=
0
;
nzpres8
->
resourceMapping
.
freqBand
.
nrofRBs
=
servingcellconfigcommon
->
downlinkConfigCommon
->
frequencyInfoDL
->
scs_SpecificCarrierList
.
list
.
array
[
0
]
->
carrierBandwidth
;
nzpres8
->
powerControlOffset
=
0
;
nzpres8
->
powerControlOffsetSS
=
calloc
(
1
,
sizeof
(
*
nzpres8
->
powerControlOffsetSS
));
*
nzpres8
->
powerControlOffsetSS
=
NR_NZP_CSI_RS_Resource__powerControlOffsetSS_db0
;
nzpres8
->
scramblingID
=
40
;
nzpres8
->
periodicityAndOffset
=
calloc
(
1
,
sizeof
(
*
nzpres8
->
periodicityAndOffset
));
nzpres8
->
periodicityAndOffset
->
present
=
NR_CSI_ResourcePeriodicityAndOffset_PR_slots160
;
nzpres8
->
periodicityAndOffset
->
choice
.
slots160
=
26
;
nzpres8
->
qcl_InfoPeriodicCSI_RS
=
calloc
(
1
,
sizeof
(
*
nzpres8
->
qcl_InfoPeriodicCSI_RS
));
*
nzpres8
->
qcl_InfoPeriodicCSI_RS
=
8
;
ASN_SEQUENCE_ADD
(
&
csi_MeasConfig
->
nzp_CSI_RS_ResourceToAddModList
->
list
,
nzpres8
);
NR_NZP_CSI_RS_Resource_t
*
nzpres9
=
calloc
(
1
,
sizeof
(
*
nzpres9
));
nzpres9
->
nzp_CSI_RS_ResourceId
=
9
;
nzpres9
->
resourceMapping
.
frequencyDomainAllocation
.
present
=
NR_CSI_RS_ResourceMapping__frequencyDomainAllocation_PR_row1
;
nzpres9
->
resourceMapping
.
frequencyDomainAllocation
.
choice
.
row1
.
buf
=
calloc
(
1
,
1
);
nzpres9
->
resourceMapping
.
frequencyDomainAllocation
.
choice
.
row1
.
size
=
1
;
nzpres9
->
resourceMapping
.
frequencyDomainAllocation
.
choice
.
row1
.
bits_unused
=
4
;
nzpres9
->
resourceMapping
.
frequencyDomainAllocation
.
choice
.
row1
.
buf
[
0
]
=
4
;
nzpres9
->
resourceMapping
.
nrofPorts
=
NR_CSI_RS_ResourceMapping__nrofPorts_p1
;
nzpres9
->
resourceMapping
.
firstOFDMSymbolInTimeDomain
=
8
;
nzpres9
->
resourceMapping
.
firstOFDMSymbolInTimeDomain2
=
NULL
;
nzpres9
->
resourceMapping
.
cdm_Type
=
NR_CSI_RS_ResourceMapping__cdm_Type_noCDM
;
nzpres9
->
resourceMapping
.
density
.
present
=
NR_CSI_RS_ResourceMapping__density_PR_three
;
nzpres9
->
resourceMapping
.
density
.
choice
.
three
=
(
NULL_t
)
0
;
nzpres9
->
resourceMapping
.
freqBand
.
startingRB
=
0
;
nzpres9
->
resourceMapping
.
freqBand
.
nrofRBs
=
servingcellconfigcommon
->
downlinkConfigCommon
->
frequencyInfoDL
->
scs_SpecificCarrierList
.
list
.
array
[
0
]
->
carrierBandwidth
;
nzpres9
->
powerControlOffset
=
0
;
nzpres9
->
powerControlOffsetSS
=
calloc
(
1
,
sizeof
(
*
nzpres9
->
powerControlOffsetSS
));
*
nzpres9
->
powerControlOffsetSS
=
NR_NZP_CSI_RS_Resource__powerControlOffsetSS_db0
;
nzpres9
->
scramblingID
=
40
;
nzpres9
->
periodicityAndOffset
=
calloc
(
1
,
sizeof
(
*
nzpres9
->
periodicityAndOffset
));
nzpres9
->
periodicityAndOffset
->
present
=
NR_CSI_ResourcePeriodicityAndOffset_PR_slots160
;
nzpres9
->
periodicityAndOffset
->
choice
.
slots160
=
26
;
nzpres9
->
qcl_InfoPeriodicCSI_RS
=
calloc
(
1
,
sizeof
(
*
nzpres9
->
qcl_InfoPeriodicCSI_RS
));
*
nzpres9
->
qcl_InfoPeriodicCSI_RS
=
8
;
ASN_SEQUENCE_ADD
(
&
csi_MeasConfig
->
nzp_CSI_RS_ResourceToAddModList
->
list
,
nzpres9
);
}
if
(
n_physical_antenna_ports
>
15
)
{
NR_NZP_CSI_RS_Resource_t
*
nzpres10
=
calloc
(
1
,
sizeof
(
*
nzpres10
));
nzpres10
->
nzp_CSI_RS_ResourceId
=
10
;
nzpres10
->
resourceMapping
.
frequencyDomainAllocation
.
present
=
NR_CSI_RS_ResourceMapping__frequencyDomainAllocation_PR_row1
;
nzpres10
->
resourceMapping
.
frequencyDomainAllocation
.
choice
.
row1
.
buf
=
calloc
(
1
,
1
);
nzpres10
->
resourceMapping
.
frequencyDomainAllocation
.
choice
.
row1
.
size
=
1
;
nzpres10
->
resourceMapping
.
frequencyDomainAllocation
.
choice
.
row1
.
bits_unused
=
4
;
nzpres10
->
resourceMapping
.
frequencyDomainAllocation
.
choice
.
row1
.
buf
[
0
]
=
2
;
nzpres10
->
resourceMapping
.
nrofPorts
=
NR_CSI_RS_ResourceMapping__nrofPorts_p1
;
nzpres10
->
resourceMapping
.
firstOFDMSymbolInTimeDomain
=
4
;
nzpres10
->
resourceMapping
.
firstOFDMSymbolInTimeDomain2
=
NULL
;
nzpres10
->
resourceMapping
.
cdm_Type
=
NR_CSI_RS_ResourceMapping__cdm_Type_noCDM
;
nzpres10
->
resourceMapping
.
density
.
present
=
NR_CSI_RS_ResourceMapping__density_PR_three
;
nzpres10
->
resourceMapping
.
density
.
choice
.
three
=
(
NULL_t
)
0
;
nzpres10
->
resourceMapping
.
freqBand
.
startingRB
=
0
;
nzpres10
->
resourceMapping
.
freqBand
.
nrofRBs
=
servingcellconfigcommon
->
downlinkConfigCommon
->
frequencyInfoDL
->
scs_SpecificCarrierList
.
list
.
array
[
0
]
->
carrierBandwidth
;
nzpres10
->
powerControlOffset
=
0
;
nzpres10
->
powerControlOffsetSS
=
calloc
(
1
,
sizeof
(
*
nzpres10
->
powerControlOffsetSS
));
*
nzpres10
->
powerControlOffsetSS
=
NR_NZP_CSI_RS_Resource__powerControlOffsetSS_db0
;
nzpres10
->
scramblingID
=
40
;
nzpres10
->
periodicityAndOffset
=
calloc
(
1
,
sizeof
(
*
nzpres10
->
periodicityAndOffset
));
nzpres10
->
periodicityAndOffset
->
present
=
NR_CSI_ResourcePeriodicityAndOffset_PR_slots160
;
nzpres10
->
periodicityAndOffset
->
choice
.
slots160
=
25
;
nzpres10
->
qcl_InfoPeriodicCSI_RS
=
calloc
(
1
,
sizeof
(
*
nzpres10
->
qcl_InfoPeriodicCSI_RS
));
*
nzpres10
->
qcl_InfoPeriodicCSI_RS
=
8
;
ASN_SEQUENCE_ADD
(
&
csi_MeasConfig
->
nzp_CSI_RS_ResourceToAddModList
->
list
,
nzpres10
);
NR_NZP_CSI_RS_Resource_t
*
nzpres11
=
calloc
(
1
,
sizeof
(
*
nzpres11
));
nzpres11
->
nzp_CSI_RS_ResourceId
=
11
;
nzpres11
->
resourceMapping
.
frequencyDomainAllocation
.
present
=
NR_CSI_RS_ResourceMapping__frequencyDomainAllocation_PR_row1
;
nzpres11
->
resourceMapping
.
frequencyDomainAllocation
.
choice
.
row1
.
buf
=
calloc
(
1
,
1
);
nzpres11
->
resourceMapping
.
frequencyDomainAllocation
.
choice
.
row1
.
size
=
1
;
nzpres11
->
resourceMapping
.
frequencyDomainAllocation
.
choice
.
row1
.
bits_unused
=
4
;
nzpres11
->
resourceMapping
.
frequencyDomainAllocation
.
choice
.
row1
.
buf
[
0
]
=
2
;
nzpres11
->
resourceMapping
.
nrofPorts
=
NR_CSI_RS_ResourceMapping__nrofPorts_p1
;
nzpres11
->
resourceMapping
.
firstOFDMSymbolInTimeDomain
=
8
;
nzpres11
->
resourceMapping
.
firstOFDMSymbolInTimeDomain2
=
NULL
;
nzpres11
->
resourceMapping
.
cdm_Type
=
NR_CSI_RS_ResourceMapping__cdm_Type_noCDM
;
nzpres11
->
resourceMapping
.
density
.
present
=
NR_CSI_RS_ResourceMapping__density_PR_three
;
nzpres11
->
resourceMapping
.
density
.
choice
.
three
=
(
NULL_t
)
0
;
nzpres11
->
resourceMapping
.
freqBand
.
startingRB
=
0
;
nzpres11
->
resourceMapping
.
freqBand
.
nrofRBs
=
servingcellconfigcommon
->
downlinkConfigCommon
->
frequencyInfoDL
->
scs_SpecificCarrierList
.
list
.
array
[
0
]
->
carrierBandwidth
;
nzpres11
->
powerControlOffset
=
0
;
nzpres11
->
powerControlOffsetSS
=
calloc
(
1
,
sizeof
(
*
nzpres11
->
powerControlOffsetSS
));
*
nzpres11
->
powerControlOffsetSS
=
NR_NZP_CSI_RS_Resource__powerControlOffsetSS_db0
;
nzpres11
->
scramblingID
=
40
;
nzpres11
->
periodicityAndOffset
=
calloc
(
1
,
sizeof
(
*
nzpres11
->
periodicityAndOffset
));
nzpres11
->
periodicityAndOffset
->
present
=
NR_CSI_ResourcePeriodicityAndOffset_PR_slots160
;
nzpres11
->
periodicityAndOffset
->
choice
.
slots160
=
25
;
nzpres11
->
qcl_InfoPeriodicCSI_RS
=
calloc
(
1
,
sizeof
(
*
nzpres11
->
qcl_InfoPeriodicCSI_RS
));
*
nzpres11
->
qcl_InfoPeriodicCSI_RS
=
8
;
ASN_SEQUENCE_ADD
(
&
csi_MeasConfig
->
nzp_CSI_RS_ResourceToAddModList
->
list
,
nzpres11
);
NR_NZP_CSI_RS_Resource_t
*
nzpres12
=
calloc
(
1
,
sizeof
(
*
nzpres12
));
nzpres12
->
nzp_CSI_RS_ResourceId
=
12
;
nzpres12
->
resourceMapping
.
frequencyDomainAllocation
.
present
=
NR_CSI_RS_ResourceMapping__frequencyDomainAllocation_PR_row1
;
nzpres12
->
resourceMapping
.
frequencyDomainAllocation
.
choice
.
row1
.
buf
=
calloc
(
1
,
1
);
nzpres12
->
resourceMapping
.
frequencyDomainAllocation
.
choice
.
row1
.
size
=
1
;
nzpres12
->
resourceMapping
.
frequencyDomainAllocation
.
choice
.
row1
.
bits_unused
=
4
;
nzpres12
->
resourceMapping
.
frequencyDomainAllocation
.
choice
.
row1
.
buf
[
0
]
=
2
;
nzpres12
->
resourceMapping
.
nrofPorts
=
NR_CSI_RS_ResourceMapping__nrofPorts_p1
;
nzpres12
->
resourceMapping
.
firstOFDMSymbolInTimeDomain
=
4
;
nzpres12
->
resourceMapping
.
firstOFDMSymbolInTimeDomain2
=
NULL
;
nzpres12
->
resourceMapping
.
cdm_Type
=
NR_CSI_RS_ResourceMapping__cdm_Type_noCDM
;
nzpres12
->
resourceMapping
.
density
.
present
=
NR_CSI_RS_ResourceMapping__density_PR_three
;
nzpres12
->
resourceMapping
.
density
.
choice
.
three
=
(
NULL_t
)
0
;
nzpres12
->
resourceMapping
.
freqBand
.
startingRB
=
0
;
nzpres12
->
resourceMapping
.
freqBand
.
nrofRBs
=
servingcellconfigcommon
->
downlinkConfigCommon
->
frequencyInfoDL
->
scs_SpecificCarrierList
.
list
.
array
[
0
]
->
carrierBandwidth
;
nzpres12
->
powerControlOffset
=
0
;
nzpres12
->
powerControlOffsetSS
=
calloc
(
1
,
sizeof
(
*
nzpres12
->
powerControlOffsetSS
));
*
nzpres12
->
powerControlOffsetSS
=
NR_NZP_CSI_RS_Resource__powerControlOffsetSS_db0
;
nzpres12
->
scramblingID
=
40
;
nzpres12
->
periodicityAndOffset
=
calloc
(
1
,
sizeof
(
*
nzpres12
->
periodicityAndOffset
));
nzpres12
->
periodicityAndOffset
->
present
=
NR_CSI_ResourcePeriodicityAndOffset_PR_slots160
;
nzpres12
->
periodicityAndOffset
->
choice
.
slots160
=
26
;
nzpres12
->
qcl_InfoPeriodicCSI_RS
=
calloc
(
1
,
sizeof
(
*
nzpres12
->
qcl_InfoPeriodicCSI_RS
));
*
nzpres12
->
qcl_InfoPeriodicCSI_RS
=
8
;
ASN_SEQUENCE_ADD
(
&
csi_MeasConfig
->
nzp_CSI_RS_ResourceToAddModList
->
list
,
nzpres12
);
NR_NZP_CSI_RS_Resource_t
*
nzpres13
=
calloc
(
1
,
sizeof
(
*
nzpres13
));
nzpres13
->
nzp_CSI_RS_ResourceId
=
13
;
nzpres13
->
resourceMapping
.
frequencyDomainAllocation
.
present
=
NR_CSI_RS_ResourceMapping__frequencyDomainAllocation_PR_row1
;
nzpres13
->
resourceMapping
.
frequencyDomainAllocation
.
choice
.
row1
.
buf
=
calloc
(
1
,
1
);
nzpres13
->
resourceMapping
.
frequencyDomainAllocation
.
choice
.
row1
.
size
=
1
;
nzpres13
->
resourceMapping
.
frequencyDomainAllocation
.
choice
.
row1
.
bits_unused
=
4
;
nzpres13
->
resourceMapping
.
frequencyDomainAllocation
.
choice
.
row1
.
buf
[
0
]
=
2
;
nzpres13
->
resourceMapping
.
nrofPorts
=
NR_CSI_RS_ResourceMapping__nrofPorts_p1
;
nzpres13
->
resourceMapping
.
firstOFDMSymbolInTimeDomain
=
8
;
nzpres13
->
resourceMapping
.
firstOFDMSymbolInTimeDomain2
=
NULL
;
nzpres13
->
resourceMapping
.
cdm_Type
=
NR_CSI_RS_ResourceMapping__cdm_Type_noCDM
;
nzpres13
->
resourceMapping
.
density
.
present
=
NR_CSI_RS_ResourceMapping__density_PR_three
;
nzpres13
->
resourceMapping
.
density
.
choice
.
three
=
(
NULL_t
)
0
;
nzpres13
->
resourceMapping
.
freqBand
.
startingRB
=
0
;
nzpres13
->
resourceMapping
.
freqBand
.
nrofRBs
=
servingcellconfigcommon
->
downlinkConfigCommon
->
frequencyInfoDL
->
scs_SpecificCarrierList
.
list
.
array
[
0
]
->
carrierBandwidth
;
nzpres13
->
powerControlOffset
=
0
;
nzpres13
->
powerControlOffsetSS
=
calloc
(
1
,
sizeof
(
*
nzpres13
->
powerControlOffsetSS
));
*
nzpres13
->
powerControlOffsetSS
=
NR_NZP_CSI_RS_Resource__powerControlOffsetSS_db0
;
nzpres13
->
scramblingID
=
40
;
nzpres13
->
periodicityAndOffset
=
calloc
(
1
,
sizeof
(
*
nzpres13
->
periodicityAndOffset
));
nzpres13
->
periodicityAndOffset
->
present
=
NR_CSI_ResourcePeriodicityAndOffset_PR_slots160
;
nzpres13
->
periodicityAndOffset
->
choice
.
slots160
=
26
;
nzpres13
->
qcl_InfoPeriodicCSI_RS
=
calloc
(
1
,
sizeof
(
*
nzpres13
->
qcl_InfoPeriodicCSI_RS
));
*
nzpres13
->
qcl_InfoPeriodicCSI_RS
=
8
;
ASN_SEQUENCE_ADD
(
&
csi_MeasConfig
->
nzp_CSI_RS_ResourceToAddModList
->
list
,
nzpres13
);
NR_NZP_CSI_RS_Resource_t
*
nzpres14
=
calloc
(
1
,
sizeof
(
*
nzpres14
));
nzpres14
->
nzp_CSI_RS_ResourceId
=
14
;
nzpres14
->
resourceMapping
.
frequencyDomainAllocation
.
present
=
NR_CSI_RS_ResourceMapping__frequencyDomainAllocation_PR_row1
;
nzpres14
->
resourceMapping
.
frequencyDomainAllocation
.
choice
.
row1
.
buf
=
calloc
(
1
,
1
);
nzpres14
->
resourceMapping
.
frequencyDomainAllocation
.
choice
.
row1
.
size
=
1
;
nzpres14
->
resourceMapping
.
frequencyDomainAllocation
.
choice
.
row1
.
bits_unused
=
4
;
nzpres14
->
resourceMapping
.
frequencyDomainAllocation
.
choice
.
row1
.
buf
[
0
]
=
8
;
nzpres14
->
resourceMapping
.
nrofPorts
=
NR_CSI_RS_ResourceMapping__nrofPorts_p1
;
nzpres14
->
resourceMapping
.
firstOFDMSymbolInTimeDomain
=
4
;
nzpres14
->
resourceMapping
.
firstOFDMSymbolInTimeDomain2
=
NULL
;
nzpres14
->
resourceMapping
.
cdm_Type
=
NR_CSI_RS_ResourceMapping__cdm_Type_noCDM
;
nzpres14
->
resourceMapping
.
density
.
present
=
NR_CSI_RS_ResourceMapping__density_PR_three
;
nzpres14
->
resourceMapping
.
density
.
choice
.
three
=
(
NULL_t
)
0
;
nzpres14
->
resourceMapping
.
freqBand
.
startingRB
=
0
;
nzpres14
->
resourceMapping
.
freqBand
.
nrofRBs
=
servingcellconfigcommon
->
downlinkConfigCommon
->
frequencyInfoDL
->
scs_SpecificCarrierList
.
list
.
array
[
0
]
->
carrierBandwidth
;
nzpres14
->
powerControlOffset
=
0
;
nzpres14
->
powerControlOffsetSS
=
calloc
(
1
,
sizeof
(
*
nzpres14
->
powerControlOffsetSS
));
*
nzpres14
->
powerControlOffsetSS
=
NR_NZP_CSI_RS_Resource__powerControlOffsetSS_db0
;
nzpres14
->
scramblingID
=
40
;
nzpres14
->
periodicityAndOffset
=
calloc
(
1
,
sizeof
(
*
nzpres14
->
periodicityAndOffset
));
nzpres14
->
periodicityAndOffset
->
present
=
NR_CSI_ResourcePeriodicityAndOffset_PR_slots160
;
nzpres14
->
periodicityAndOffset
->
choice
.
slots160
=
25
;
nzpres14
->
qcl_InfoPeriodicCSI_RS
=
calloc
(
1
,
sizeof
(
*
nzpres14
->
qcl_InfoPeriodicCSI_RS
));
*
nzpres14
->
qcl_InfoPeriodicCSI_RS
=
8
;
ASN_SEQUENCE_ADD
(
&
csi_MeasConfig
->
nzp_CSI_RS_ResourceToAddModList
->
list
,
nzpres14
);
NR_NZP_CSI_RS_Resource_t
*
nzpres15
=
calloc
(
1
,
sizeof
(
*
nzpres15
));
nzpres15
->
nzp_CSI_RS_ResourceId
=
15
;
nzpres15
->
resourceMapping
.
frequencyDomainAllocation
.
present
=
NR_CSI_RS_ResourceMapping__frequencyDomainAllocation_PR_row1
;
nzpres15
->
resourceMapping
.
frequencyDomainAllocation
.
choice
.
row1
.
buf
=
calloc
(
1
,
1
);
nzpres15
->
resourceMapping
.
frequencyDomainAllocation
.
choice
.
row1
.
size
=
1
;
nzpres15
->
resourceMapping
.
frequencyDomainAllocation
.
choice
.
row1
.
bits_unused
=
4
;
nzpres15
->
resourceMapping
.
frequencyDomainAllocation
.
choice
.
row1
.
buf
[
0
]
=
8
;
nzpres15
->
resourceMapping
.
nrofPorts
=
NR_CSI_RS_ResourceMapping__nrofPorts_p1
;
nzpres15
->
resourceMapping
.
firstOFDMSymbolInTimeDomain
=
8
;
nzpres15
->
resourceMapping
.
firstOFDMSymbolInTimeDomain2
=
NULL
;
nzpres15
->
resourceMapping
.
cdm_Type
=
NR_CSI_RS_ResourceMapping__cdm_Type_noCDM
;
nzpres15
->
resourceMapping
.
density
.
present
=
NR_CSI_RS_ResourceMapping__density_PR_three
;
nzpres15
->
resourceMapping
.
density
.
choice
.
three
=
(
NULL_t
)
0
;
nzpres15
->
resourceMapping
.
freqBand
.
startingRB
=
0
;
nzpres15
->
resourceMapping
.
freqBand
.
nrofRBs
=
servingcellconfigcommon
->
downlinkConfigCommon
->
frequencyInfoDL
->
scs_SpecificCarrierList
.
list
.
array
[
0
]
->
carrierBandwidth
;
nzpres15
->
powerControlOffset
=
0
;
nzpres15
->
powerControlOffsetSS
=
calloc
(
1
,
sizeof
(
*
nzpres15
->
powerControlOffsetSS
));
*
nzpres15
->
powerControlOffsetSS
=
NR_NZP_CSI_RS_Resource__powerControlOffsetSS_db0
;
nzpres15
->
scramblingID
=
40
;
nzpres15
->
periodicityAndOffset
=
calloc
(
1
,
sizeof
(
*
nzpres15
->
periodicityAndOffset
));
nzpres15
->
periodicityAndOffset
->
present
=
NR_CSI_ResourcePeriodicityAndOffset_PR_slots160
;
nzpres15
->
periodicityAndOffset
->
choice
.
slots160
=
25
;
nzpres15
->
qcl_InfoPeriodicCSI_RS
=
calloc
(
1
,
sizeof
(
*
nzpres15
->
qcl_InfoPeriodicCSI_RS
));
*
nzpres15
->
qcl_InfoPeriodicCSI_RS
=
8
;
ASN_SEQUENCE_ADD
(
&
csi_MeasConfig
->
nzp_CSI_RS_ResourceToAddModList
->
list
,
nzpres15
);
NR_NZP_CSI_RS_Resource_t
*
nzpres16
=
calloc
(
1
,
sizeof
(
*
nzpres16
));
nzpres16
->
nzp_CSI_RS_ResourceId
=
16
;
nzpres16
->
resourceMapping
.
frequencyDomainAllocation
.
present
=
NR_CSI_RS_ResourceMapping__frequencyDomainAllocation_PR_row1
;
nzpres16
->
resourceMapping
.
frequencyDomainAllocation
.
choice
.
row1
.
buf
=
calloc
(
1
,
1
);
nzpres16
->
resourceMapping
.
frequencyDomainAllocation
.
choice
.
row1
.
size
=
1
;
nzpres16
->
resourceMapping
.
frequencyDomainAllocation
.
choice
.
row1
.
bits_unused
=
4
;
nzpres16
->
resourceMapping
.
frequencyDomainAllocation
.
choice
.
row1
.
buf
[
0
]
=
8
;
nzpres16
->
resourceMapping
.
nrofPorts
=
NR_CSI_RS_ResourceMapping__nrofPorts_p1
;
nzpres16
->
resourceMapping
.
firstOFDMSymbolInTimeDomain
=
5
;
nzpres16
->
resourceMapping
.
firstOFDMSymbolInTimeDomain2
=
NULL
;
nzpres16
->
resourceMapping
.
cdm_Type
=
NR_CSI_RS_ResourceMapping__cdm_Type_noCDM
;
nzpres16
->
resourceMapping
.
density
.
present
=
NR_CSI_RS_ResourceMapping__density_PR_three
;
nzpres16
->
resourceMapping
.
density
.
choice
.
three
=
(
NULL_t
)
0
;
nzpres16
->
resourceMapping
.
freqBand
.
startingRB
=
0
;
nzpres16
->
resourceMapping
.
freqBand
.
nrofRBs
=
servingcellconfigcommon
->
downlinkConfigCommon
->
frequencyInfoDL
->
scs_SpecificCarrierList
.
list
.
array
[
0
]
->
carrierBandwidth
;
nzpres16
->
powerControlOffset
=
0
;
nzpres16
->
powerControlOffsetSS
=
calloc
(
1
,
sizeof
(
*
nzpres16
->
powerControlOffsetSS
));
*
nzpres16
->
powerControlOffsetSS
=
NR_NZP_CSI_RS_Resource__powerControlOffsetSS_db0
;
nzpres16
->
scramblingID
=
40
;
nzpres16
->
periodicityAndOffset
=
calloc
(
1
,
sizeof
(
*
nzpres16
->
periodicityAndOffset
));
nzpres16
->
periodicityAndOffset
->
present
=
NR_CSI_ResourcePeriodicityAndOffset_PR_slots160
;
nzpres16
->
periodicityAndOffset
->
choice
.
slots160
=
26
;
nzpres16
->
qcl_InfoPeriodicCSI_RS
=
calloc
(
1
,
sizeof
(
*
nzpres16
->
qcl_InfoPeriodicCSI_RS
));
*
nzpres16
->
qcl_InfoPeriodicCSI_RS
=
8
;
ASN_SEQUENCE_ADD
(
&
csi_MeasConfig
->
nzp_CSI_RS_ResourceToAddModList
->
list
,
nzpres16
);
NR_NZP_CSI_RS_Resource_t
*
nzpres17
=
calloc
(
1
,
sizeof
(
*
nzpres17
));
nzpres17
->
nzp_CSI_RS_ResourceId
=
9
;
nzpres17
->
resourceMapping
.
frequencyDomainAllocation
.
present
=
NR_CSI_RS_ResourceMapping__frequencyDomainAllocation_PR_row1
;
nzpres17
->
resourceMapping
.
frequencyDomainAllocation
.
choice
.
row1
.
buf
=
calloc
(
1
,
1
);
nzpres17
->
resourceMapping
.
frequencyDomainAllocation
.
choice
.
row1
.
size
=
1
;
nzpres17
->
resourceMapping
.
frequencyDomainAllocation
.
choice
.
row1
.
bits_unused
=
4
;
nzpres17
->
resourceMapping
.
frequencyDomainAllocation
.
choice
.
row1
.
buf
[
0
]
=
8
;
nzpres17
->
resourceMapping
.
nrofPorts
=
NR_CSI_RS_ResourceMapping__nrofPorts_p1
;
nzpres17
->
resourceMapping
.
firstOFDMSymbolInTimeDomain
=
9
;
nzpres17
->
resourceMapping
.
firstOFDMSymbolInTimeDomain2
=
NULL
;
nzpres17
->
resourceMapping
.
cdm_Type
=
NR_CSI_RS_ResourceMapping__cdm_Type_noCDM
;
nzpres17
->
resourceMapping
.
density
.
present
=
NR_CSI_RS_ResourceMapping__density_PR_three
;
nzpres17
->
resourceMapping
.
density
.
choice
.
three
=
(
NULL_t
)
0
;
nzpres17
->
resourceMapping
.
freqBand
.
startingRB
=
0
;
nzpres17
->
resourceMapping
.
freqBand
.
nrofRBs
=
servingcellconfigcommon
->
downlinkConfigCommon
->
frequencyInfoDL
->
scs_SpecificCarrierList
.
list
.
array
[
0
]
->
carrierBandwidth
;
nzpres17
->
powerControlOffset
=
0
;
nzpres17
->
powerControlOffsetSS
=
calloc
(
1
,
sizeof
(
*
nzpres17
->
powerControlOffsetSS
));
*
nzpres17
->
powerControlOffsetSS
=
NR_NZP_CSI_RS_Resource__powerControlOffsetSS_db0
;
nzpres17
->
scramblingID
=
40
;
nzpres17
->
periodicityAndOffset
=
calloc
(
1
,
sizeof
(
*
nzpres17
->
periodicityAndOffset
));
nzpres17
->
periodicityAndOffset
->
present
=
NR_CSI_ResourcePeriodicityAndOffset_PR_slots160
;
nzpres17
->
periodicityAndOffset
->
choice
.
slots160
=
26
;
nzpres17
->
qcl_InfoPeriodicCSI_RS
=
calloc
(
1
,
sizeof
(
*
nzpres17
->
qcl_InfoPeriodicCSI_RS
));
*
nzpres17
->
qcl_InfoPeriodicCSI_RS
=
8
;
ASN_SEQUENCE_ADD
(
&
csi_MeasConfig
->
nzp_CSI_RS_ResourceToAddModList
->
list
,
nzpres17
);
}
if
(
n_physical_antenna_ports
>
16
)
AssertFatal
(
1
==
0
,
"Fill in for more than 16 antenna elements
\n
"
);
csi_MeasConfig
->
nzp_CSI_RS_ResourceSetToAddModList
=
calloc
(
1
,
sizeof
(
*
csi_MeasConfig
->
nzp_CSI_RS_ResourceSetToAddModList
));
csi_MeasConfig
->
nzp_CSI_RS_ResourceSetToReleaseList
=
NULL
;
NR_NZP_CSI_RS_ResourceSet_t
*
nzpresset0
=
calloc
(
1
,
sizeof
(
*
nzpresset0
));
nzpresset0
->
nzp_CSI_ResourceSetId
=
0
;
NR_NZP_CSI_RS_ResourceSetId_t
*
nzpresset00
=
calloc
(
1
,
sizeof
(
*
nzpresset00
));
*
nzpresset00
=
0
;
ASN_SEQUENCE_ADD
(
&
nzpresset0
->
nzp_CSI_RS_Resources
.
list
,
nzpresset00
);
nzpresset0
->
repetition
=
NULL
;
nzpresset0
->
aperiodicTriggeringOffset
=
NULL
;
nzpresset0
->
trs_Info
=
NULL
;
ASN_SEQUENCE_ADD
(
&
csi_MeasConfig
->
nzp_CSI_RS_ResourceSetToAddModList
->
list
,
nzpresset0
);
if
(
n_physical_antenna_ports
>
1
)
{
NR_NZP_CSI_RS_ResourceSet_t
*
nzpresset3
=
calloc
(
1
,
sizeof
(
*
nzpresset3
));
nzpresset3
->
nzp_CSI_ResourceSetId
=
3
;
NR_NZP_CSI_RS_ResourceSetId_t
*
nzpresset30
=
calloc
(
1
,
sizeof
(
*
nzpresset30
));
*
nzpresset30
=
2
;
ASN_SEQUENCE_ADD
(
&
nzpresset3
->
nzp_CSI_RS_Resources
.
list
,
nzpresset30
);
if
(
n_physical_antenna_ports
>
3
)
{
NR_NZP_CSI_RS_ResourceSetId_t
*
nzpresset31
=
calloc
(
1
,
sizeof
(
*
nzpresset31
));
*
nzpresset31
=
3
;
ASN_SEQUENCE_ADD
(
&
nzpresset3
->
nzp_CSI_RS_Resources
.
list
,
nzpresset31
);
NR_NZP_CSI_RS_ResourceSetId_t
*
nzpresset32
=
calloc
(
1
,
sizeof
(
*
nzpresset32
));
*
nzpresset32
=
4
;
ASN_SEQUENCE_ADD
(
&
nzpresset3
->
nzp_CSI_RS_Resources
.
list
,
nzpresset32
);
NR_NZP_CSI_RS_ResourceSetId_t
*
nzpresset33
=
calloc
(
1
,
sizeof
(
*
nzpresset33
));
*
nzpresset33
=
5
;
ASN_SEQUENCE_ADD
(
&
nzpresset3
->
nzp_CSI_RS_Resources
.
list
,
nzpresset33
);
ASN_SEQUENCE_ADD
(
&
csi_MeasConfig
->
nzp_CSI_RS_ResourceSetToAddModList
->
list
,
nzpresset3
);
}
nzpresset3
->
repetition
=
calloc
(
1
,
sizeof
(
*
nzpresset3
->
repetition
));
*
nzpresset3
->
repetition
=
NR_NZP_CSI_RS_ResourceSet__repetition_off
;
nzpresset3
->
aperiodicTriggeringOffset
=
NULL
;
nzpresset3
->
trs_Info
=
calloc
(
1
,
sizeof
(
*
nzpresset3
->
trs_Info
));
*
nzpresset3
->
trs_Info
=
NR_NZP_CSI_RS_ResourceSet__trs_Info_true
;
ASN_SEQUENCE_ADD
(
&
csi_MeasConfig
->
nzp_CSI_RS_ResourceSetToAddModList
->
list
,
nzpresset3
);
}
secondaryCellGroup
->
spCellConfig
->
spCellConfigDedicated
->
csi_MeasConfig
->
choice
.
setup
=
csi_MeasConfig
;
if
(
n_physical_antenna_ports
>
7
)
{
NR_NZP_CSI_RS_ResourceSet_t
*
nzpresset4
=
calloc
(
1
,
sizeof
(
*
nzpresset4
));
nzpresset4
->
nzp_CSI_ResourceSetId
=
4
;
NR_NZP_CSI_RS_ResourceSetId_t
*
nzpresset40
=
calloc
(
1
,
sizeof
(
*
nzpresset40
));
*
nzpresset40
=
6
;
ASN_SEQUENCE_ADD
(
&
nzpresset4
->
nzp_CSI_RS_Resources
.
list
,
nzpresset40
);
NR_NZP_CSI_RS_ResourceSetId_t
*
nzpresset41
=
calloc
(
1
,
sizeof
(
*
nzpresset41
));
*
nzpresset41
=
7
;
ASN_SEQUENCE_ADD
(
&
nzpresset4
->
nzp_CSI_RS_Resources
.
list
,
nzpresset41
);
NR_NZP_CSI_RS_ResourceSetId_t
*
nzpresset42
=
calloc
(
1
,
sizeof
(
*
nzpresset42
));
*
nzpresset42
=
8
;
ASN_SEQUENCE_ADD
(
&
nzpresset4
->
nzp_CSI_RS_Resources
.
list
,
nzpresset42
);
NR_NZP_CSI_RS_ResourceSetId_t
*
nzpresset43
=
calloc
(
1
,
sizeof
(
*
nzpresset43
));
*
nzpresset43
=
9
;
ASN_SEQUENCE_ADD
(
&
nzpresset4
->
nzp_CSI_RS_Resources
.
list
,
nzpresset43
);
nzpresset4
->
repetition
=
calloc
(
1
,
sizeof
(
*
nzpresset4
->
repetition
));
*
nzpresset4
->
repetition
=
NR_NZP_CSI_RS_ResourceSet__repetition_off
;
nzpresset4
->
aperiodicTriggeringOffset
=
NULL
;
nzpresset4
->
trs_Info
=
calloc
(
1
,
sizeof
(
*
nzpresset4
->
trs_Info
));
*
nzpresset4
->
trs_Info
=
NR_NZP_CSI_RS_ResourceSet__trs_Info_true
;
ASN_SEQUENCE_ADD
(
&
csi_MeasConfig
->
nzp_CSI_RS_ResourceSetToAddModList
->
list
,
nzpresset4
);
}
if
(
n_physical_antenna_ports
>
15
)
{
NR_NZP_CSI_RS_ResourceSet_t
*
nzpresset5
=
calloc
(
1
,
sizeof
(
*
nzpresset5
));
nzpresset5
->
nzp_CSI_ResourceSetId
=
5
;
NR_NZP_CSI_RS_ResourceSetId_t
*
nzpresset50
=
calloc
(
1
,
sizeof
(
*
nzpresset50
));
*
nzpresset50
=
10
;
ASN_SEQUENCE_ADD
(
&
nzpresset5
->
nzp_CSI_RS_Resources
.
list
,
nzpresset50
);
NR_NZP_CSI_RS_ResourceSetId_t
*
nzpresset51
=
calloc
(
1
,
sizeof
(
*
nzpresset51
));
*
nzpresset51
=
11
;
ASN_SEQUENCE_ADD
(
&
nzpresset5
->
nzp_CSI_RS_Resources
.
list
,
nzpresset51
);
NR_NZP_CSI_RS_ResourceSetId_t
*
nzpresset52
=
calloc
(
1
,
sizeof
(
*
nzpresset52
));
*
nzpresset52
=
12
;
ASN_SEQUENCE_ADD
(
&
nzpresset5
->
nzp_CSI_RS_Resources
.
list
,
nzpresset52
);
NR_NZP_CSI_RS_ResourceSetId_t
*
nzpresset53
=
calloc
(
1
,
sizeof
(
*
nzpresset53
));
*
nzpresset53
=
13
;
ASN_SEQUENCE_ADD
(
&
nzpresset5
->
nzp_CSI_RS_Resources
.
list
,
nzpresset53
);
nzpresset5
->
repetition
=
calloc
(
1
,
sizeof
(
*
nzpresset5
->
repetition
));
*
nzpresset5
->
repetition
=
NR_NZP_CSI_RS_ResourceSet__repetition_off
;
nzpresset5
->
aperiodicTriggeringOffset
=
NULL
;
nzpresset5
->
trs_Info
=
calloc
(
1
,
sizeof
(
*
nzpresset5
->
trs_Info
));
*
nzpresset5
->
trs_Info
=
NR_NZP_CSI_RS_ResourceSet__trs_Info_true
;
ASN_SEQUENCE_ADD
(
&
csi_MeasConfig
->
nzp_CSI_RS_ResourceSetToAddModList
->
list
,
nzpresset5
);
}
csi_MeasConfig
->
csi_IM_ResourceToAddModList
=
calloc
(
1
,
sizeof
(
*
csi_MeasConfig
->
csi_IM_ResourceToAddModList
));
csi_MeasConfig
->
csi_IM_ResourceToAddModList
=
NULL
;
csi_MeasConfig
->
csi_IM_ResourceToReleaseList
=
NULL
;
NR_CSI_IM_Resource_t
*
imres0
=
calloc
(
1
,
sizeof
(
*
imres0
));
imres0
->
csi_IM_ResourceId
=
0
;
imres0
->
csi_IM_ResourceElementPattern
=
calloc
(
1
,
sizeof
(
*
imres0
->
csi_IM_ResourceElementPattern
));
imres0
->
csi_IM_ResourceElementPattern
->
present
=
NR_CSI_IM_Resource__csi_IM_ResourceElementPattern_PR_pattern1
;
imres0
->
csi_IM_ResourceElementPattern
->
choice
.
pattern1
=
calloc
(
1
,
sizeof
(
*
imres0
->
csi_IM_ResourceElementPattern
->
choice
.
pattern1
));
imres0
->
csi_IM_ResourceElementPattern
->
choice
.
pattern1
->
subcarrierLocation_p1
=
NR_CSI_IM_Resource__csi_IM_ResourceElementPattern__pattern1__subcarrierLocation_p1_s4
;
imres0
->
csi_IM_ResourceElementPattern
->
choice
.
pattern1
->
symbolLocation_p1
=
7
;
imres0
->
freqBand
=
calloc
(
1
,
sizeof
(
*
imres0
->
freqBand
));
imres0
->
freqBand
->
startingRB
=
0
;
imres0
->
freqBand
->
nrofRBs
=
106
;
imres0
->
periodicityAndOffset
=
calloc
(
1
,
sizeof
(
*
imres0
->
periodicityAndOffset
));
imres0
->
periodicityAndOffset
->
present
=
NR_CSI_ResourcePeriodicityAndOffset_PR_slots320
;
imres0
->
periodicityAndOffset
->
choice
.
slots320
=
2
;
ASN_SEQUENCE_ADD
(
&
csi_MeasConfig
->
csi_IM_ResourceToAddModList
->
list
,
imres0
);
csi_MeasConfig
->
csi_IM_ResourceSetToAddModList
=
calloc
(
1
,
sizeof
(
*
csi_MeasConfig
->
csi_IM_ResourceSetToAddModList
));
csi_MeasConfig
->
csi_IM_ResourceSetToAddModList
=
NULL
;
csi_MeasConfig
->
csi_IM_ResourceSetToReleaseList
=
NULL
;
NR_CSI_IM_ResourceSet_t
*
imresset0
=
calloc
(
1
,
sizeof
(
*
imresset0
));
imresset0
->
csi_IM_ResourceSetId
=
0
;
NR_CSI_IM_ResourceId_t
*
imresset00
=
calloc
(
1
,
sizeof
(
*
imresset00
));
*
imresset00
=
0
;
ASN_SEQUENCE_ADD
(
&
imresset0
->
csi_IM_Resources
.
list
,
imresset00
);
ASN_SEQUENCE_ADD
(
&
csi_MeasConfig
->
csi_IM_ResourceSetToAddModList
->
list
,
imresset0
);
csi_MeasConfig
->
nzp_CSI_RS_ResourceSetToAddModList
=
NULL
;
csi_MeasConfig
->
nzp_CSI_RS_ResourceSetToReleaseList
=
NULL
;
csi_MeasConfig
->
nzp_CSI_RS_ResourceToAddModList
=
NULL
;
csi_MeasConfig
->
csi_SSB_ResourceSetToAddModList
=
calloc
(
1
,
sizeof
(
*
csi_MeasConfig
->
csi_SSB_ResourceSetToAddModList
));
csi_MeasConfig
->
csi_SSB_ResourceSetToReleaseList
=
NULL
;
NR_CSI_SSB_ResourceSet_t
*
ssbresset0
=
calloc
(
1
,
sizeof
(
*
ssbresset0
));
...
...
@@ -1732,220 +1177,19 @@ void fill_default_secondaryCellGroup(NR_ServingCellConfigCommon_t *servingcellco
csires0
->
csi_RS_ResourceSetList
.
choice
.
nzp_CSI_RS_SSB
=
calloc
(
1
,
sizeof
(
*
csires0
->
csi_RS_ResourceSetList
.
choice
.
nzp_CSI_RS_SSB
));
csires0
->
csi_RS_ResourceSetList
.
choice
.
nzp_CSI_RS_SSB
->
nzp_CSI_RS_ResourceSetList
=
calloc
(
1
,
sizeof
(
*
csires0
->
csi_RS_ResourceSetList
.
choice
.
nzp_CSI_RS_SSB
->
nzp_CSI_RS_ResourceSetList
));
csires0
->
csi_RS_ResourceSetList
.
choice
.
nzp_CSI_RS_SSB
->
csi_SSB_ResourceSetList
=
NULL
;
NR_NZP_CSI_RS_ResourceSetId_t
*
csires
00
=
calloc
(
1
,
sizeof
(
*
csires0
0
));
*
csires
0
0
=
0
;
ASN_SEQUENCE_ADD
(
&
csires0
->
csi_RS_ResourceSetList
.
choice
.
nzp_CSI_RS_SSB
->
nzp_CSI_RS_ResourceSetList
->
list
,
csires
0
0
);
NR_NZP_CSI_RS_ResourceSetId_t
*
csires
10
=
calloc
(
1
,
sizeof
(
*
csires1
0
));
*
csires
1
0
=
0
;
ASN_SEQUENCE_ADD
(
&
csires0
->
csi_RS_ResourceSetList
.
choice
.
nzp_CSI_RS_SSB
->
nzp_CSI_RS_ResourceSetList
->
list
,
csires
1
0
);
csires0
->
bwp_Id
=
1
;
csires0
->
resourceType
=
NR_CSI_ResourceConfig__resourceType_periodic
;
ASN_SEQUENCE_ADD
(
&
csi_MeasConfig
->
csi_ResourceConfigToAddModList
->
list
,
csires0
);
NR_CSI_ResourceConfig_t
*
csires11
=
calloc
(
1
,
sizeof
(
*
csires11
));
csires11
->
csi_ResourceConfigId
=
11
;
csires11
->
csi_RS_ResourceSetList
.
present
=
NR_CSI_ResourceConfig__csi_RS_ResourceSetList_PR_csi_IM_ResourceSetList
;
csires11
->
csi_RS_ResourceSetList
.
choice
.
csi_IM_ResourceSetList
=
calloc
(
1
,
sizeof
(
*
csires11
->
csi_RS_ResourceSetList
.
choice
.
csi_IM_ResourceSetList
));
NR_NZP_CSI_RS_ResourceSetId_t
*
csires110
=
calloc
(
1
,
sizeof
(
*
csires110
));
*
csires110
=
0
;
ASN_SEQUENCE_ADD
(
&
csires11
->
csi_RS_ResourceSetList
.
choice
.
csi_IM_ResourceSetList
->
list
,
csires110
);
csires11
->
bwp_Id
=
1
;
csires11
->
resourceType
=
NR_CSI_ResourceConfig__resourceType_periodic
;
//ASN_SEQUENCE_ADD(&csi_MeasConfig->csi_ResourceConfigToAddModList->list,csires11);
NR_CSI_ResourceConfig_t
*
csires10
=
calloc
(
1
,
sizeof
(
*
csires10
));
csires10
->
csi_ResourceConfigId
=
10
;
csires10
->
csi_RS_ResourceSetList
.
present
=
NR_CSI_ResourceConfig__csi_RS_ResourceSetList_PR_nzp_CSI_RS_SSB
;
csires10
->
csi_RS_ResourceSetList
.
choice
.
nzp_CSI_RS_SSB
=
calloc
(
1
,
sizeof
(
*
csires10
->
csi_RS_ResourceSetList
.
choice
.
nzp_CSI_RS_SSB
));
csires10
->
csi_RS_ResourceSetList
.
choice
.
nzp_CSI_RS_SSB
->
nzp_CSI_RS_ResourceSetList
=
calloc
(
1
,
sizeof
(
*
csires10
->
csi_RS_ResourceSetList
.
choice
.
nzp_CSI_RS_SSB
->
nzp_CSI_RS_ResourceSetList
));
csires10
->
csi_RS_ResourceSetList
.
choice
.
nzp_CSI_RS_SSB
->
csi_SSB_ResourceSetList
=
NULL
;
NR_NZP_CSI_RS_ResourceSetId_t
*
csires100
=
calloc
(
1
,
sizeof
(
*
csires100
));
*
csires100
=
0
;
ASN_SEQUENCE_ADD
(
&
csires10
->
csi_RS_ResourceSetList
.
choice
.
nzp_CSI_RS_SSB
->
nzp_CSI_RS_ResourceSetList
->
list
,
csires100
);
csires10
->
bwp_Id
=
1
;
csires10
->
resourceType
=
NR_CSI_ResourceConfig__resourceType_periodic
;
//ASN_SEQUENCE_ADD(&csi_MeasConfig->csi_ResourceConfigToAddModList->list,csires10);
NR_CSI_ResourceConfig_t
*
csires2
=
calloc
(
1
,
sizeof
(
*
csires2
));
csires2
->
csi_ResourceConfigId
=
2
;
csires2
->
csi_RS_ResourceSetList
.
present
=
NR_CSI_ResourceConfig__csi_RS_ResourceSetList_PR_nzp_CSI_RS_SSB
;
csires2
->
csi_RS_ResourceSetList
.
choice
.
nzp_CSI_RS_SSB
=
calloc
(
1
,
sizeof
(
*
csires2
->
csi_RS_ResourceSetList
.
choice
.
nzp_CSI_RS_SSB
));
csires2
->
csi_RS_ResourceSetList
.
choice
.
nzp_CSI_RS_SSB
->
nzp_CSI_RS_ResourceSetList
=
calloc
(
1
,
sizeof
(
*
csires2
->
csi_RS_ResourceSetList
.
choice
.
nzp_CSI_RS_SSB
->
nzp_CSI_RS_ResourceSetList
));
csires2
->
csi_RS_ResourceSetList
.
choice
.
nzp_CSI_RS_SSB
->
csi_SSB_ResourceSetList
=
NULL
;
NR_NZP_CSI_RS_ResourceSetId_t
*
csires20
=
calloc
(
1
,
sizeof
(
*
csires20
));
*
csires20
=
0
;
ASN_SEQUENCE_ADD
(
&
csires2
->
csi_RS_ResourceSetList
.
choice
.
nzp_CSI_RS_SSB
->
nzp_CSI_RS_ResourceSetList
->
list
,
csires20
);
csires2
->
bwp_Id
=
1
;
csires2
->
resourceType
=
NR_CSI_ResourceConfig__resourceType_periodic
;
//ASN_SEQUENCE_ADD(&csi_MeasConfig->csi_ResourceConfigToAddModList->list,csires2);
NR_CSI_ResourceConfig_t
*
csires3
=
calloc
(
1
,
sizeof
(
*
csires3
));
csires3
->
csi_ResourceConfigId
=
3
;
csires3
->
csi_RS_ResourceSetList
.
present
=
NR_CSI_ResourceConfig__csi_RS_ResourceSetList_PR_nzp_CSI_RS_SSB
;
csires3
->
csi_RS_ResourceSetList
.
choice
.
nzp_CSI_RS_SSB
=
calloc
(
1
,
sizeof
(
*
csires3
->
csi_RS_ResourceSetList
.
choice
.
nzp_CSI_RS_SSB
));
csires3
->
csi_RS_ResourceSetList
.
choice
.
nzp_CSI_RS_SSB
->
nzp_CSI_RS_ResourceSetList
=
calloc
(
1
,
sizeof
(
*
csires3
->
csi_RS_ResourceSetList
.
choice
.
nzp_CSI_RS_SSB
->
nzp_CSI_RS_ResourceSetList
));
csires3
->
csi_RS_ResourceSetList
.
choice
.
nzp_CSI_RS_SSB
->
csi_SSB_ResourceSetList
=
NULL
;
NR_NZP_CSI_RS_ResourceSetId_t
*
csires30
=
calloc
(
1
,
sizeof
(
*
csires30
));
*
csires30
=
0
;
ASN_SEQUENCE_ADD
(
&
csires3
->
csi_RS_ResourceSetList
.
choice
.
nzp_CSI_RS_SSB
->
nzp_CSI_RS_ResourceSetList
->
list
,
csires30
);
csires3
->
bwp_Id
=
1
;
csires3
->
resourceType
=
NR_CSI_ResourceConfig__resourceType_periodic
;
//ASN_SEQUENCE_ADD(&csi_MeasConfig->csi_ResourceConfigToAddModList->list,csires3);
NR_CSI_ResourceConfig_t
*
csires4
=
calloc
(
1
,
sizeof
(
*
csires4
));
csires4
->
csi_ResourceConfigId
=
4
;
csires4
->
csi_RS_ResourceSetList
.
present
=
NR_CSI_ResourceConfig__csi_RS_ResourceSetList_PR_nzp_CSI_RS_SSB
;
csires4
->
csi_RS_ResourceSetList
.
choice
.
nzp_CSI_RS_SSB
=
calloc
(
1
,
sizeof
(
*
csires4
->
csi_RS_ResourceSetList
.
choice
.
nzp_CSI_RS_SSB
));
csires4
->
csi_RS_ResourceSetList
.
choice
.
nzp_CSI_RS_SSB
->
nzp_CSI_RS_ResourceSetList
=
calloc
(
1
,
sizeof
(
*
csires4
->
csi_RS_ResourceSetList
.
choice
.
nzp_CSI_RS_SSB
->
nzp_CSI_RS_ResourceSetList
));
csires4
->
csi_RS_ResourceSetList
.
choice
.
nzp_CSI_RS_SSB
->
csi_SSB_ResourceSetList
=
NULL
;
NR_NZP_CSI_RS_ResourceSetId_t
*
csires40
=
calloc
(
1
,
sizeof
(
*
csires40
));
*
csires40
=
0
;
ASN_SEQUENCE_ADD
(
&
csires4
->
csi_RS_ResourceSetList
.
choice
.
nzp_CSI_RS_SSB
->
nzp_CSI_RS_ResourceSetList
->
list
,
csires40
);
csires4
->
bwp_Id
=
1
;
csires4
->
resourceType
=
NR_CSI_ResourceConfig__resourceType_periodic
;
//ASN_SEQUENCE_ADD(&csi_MeasConfig->csi_ResourceConfigToAddModList->list,csires4);
NR_CSI_ResourceConfig_t
*
csires5
=
calloc
(
1
,
sizeof
(
*
csires5
));
csires5
->
csi_ResourceConfigId
=
5
;
csires5
->
csi_RS_ResourceSetList
.
present
=
NR_CSI_ResourceConfig__csi_RS_ResourceSetList_PR_nzp_CSI_RS_SSB
;
csires5
->
csi_RS_ResourceSetList
.
choice
.
nzp_CSI_RS_SSB
=
calloc
(
1
,
sizeof
(
*
csires5
->
csi_RS_ResourceSetList
.
choice
.
nzp_CSI_RS_SSB
));
csires5
->
csi_RS_ResourceSetList
.
choice
.
nzp_CSI_RS_SSB
->
nzp_CSI_RS_ResourceSetList
=
calloc
(
1
,
sizeof
(
*
csires5
->
csi_RS_ResourceSetList
.
choice
.
nzp_CSI_RS_SSB
->
nzp_CSI_RS_ResourceSetList
));
csires5
->
csi_RS_ResourceSetList
.
choice
.
nzp_CSI_RS_SSB
->
csi_SSB_ResourceSetList
=
NULL
;
NR_NZP_CSI_RS_ResourceSetId_t
*
csires50
=
calloc
(
1
,
sizeof
(
*
csires50
));
*
csires50
=
0
;
ASN_SEQUENCE_ADD
(
&
csires5
->
csi_RS_ResourceSetList
.
choice
.
nzp_CSI_RS_SSB
->
nzp_CSI_RS_ResourceSetList
->
list
,
csires50
);
csires5
->
bwp_Id
=
1
;
csires5
->
resourceType
=
NR_CSI_ResourceConfig__resourceType_periodic
;
//ASN_SEQUENCE_ADD(&csi_MeasConfig->csi_ResourceConfigToAddModList->list,csires5);
NR_CSI_ResourceConfig_t
*
csires6
=
calloc
(
1
,
sizeof
(
*
csires6
));
csires6
->
csi_ResourceConfigId
=
6
;
csires6
->
csi_RS_ResourceSetList
.
present
=
NR_CSI_ResourceConfig__csi_RS_ResourceSetList_PR_nzp_CSI_RS_SSB
;
csires6
->
csi_RS_ResourceSetList
.
choice
.
nzp_CSI_RS_SSB
=
calloc
(
1
,
sizeof
(
*
csires6
->
csi_RS_ResourceSetList
.
choice
.
nzp_CSI_RS_SSB
));
csires6
->
csi_RS_ResourceSetList
.
choice
.
nzp_CSI_RS_SSB
->
nzp_CSI_RS_ResourceSetList
=
calloc
(
1
,
sizeof
(
*
csires6
->
csi_RS_ResourceSetList
.
choice
.
nzp_CSI_RS_SSB
->
nzp_CSI_RS_ResourceSetList
));
csires6
->
csi_RS_ResourceSetList
.
choice
.
nzp_CSI_RS_SSB
->
csi_SSB_ResourceSetList
=
NULL
;
NR_NZP_CSI_RS_ResourceSetId_t
*
csires60
=
calloc
(
1
,
sizeof
(
*
csires60
));
*
csires60
=
0
;
ASN_SEQUENCE_ADD
(
&
csires6
->
csi_RS_ResourceSetList
.
choice
.
nzp_CSI_RS_SSB
->
nzp_CSI_RS_ResourceSetList
->
list
,
csires60
);
csires6
->
bwp_Id
=
1
;
csires6
->
resourceType
=
NR_CSI_ResourceConfig__resourceType_periodic
;
//ASN_SEQUENCE_ADD(&csi_MeasConfig->csi_ResourceConfigToAddModList->list,csires6);
NR_CSI_ResourceConfig_t
*
csires7
=
calloc
(
1
,
sizeof
(
*
csires7
));
csires7
->
csi_ResourceConfigId
=
7
;
csires7
->
csi_RS_ResourceSetList
.
present
=
NR_CSI_ResourceConfig__csi_RS_ResourceSetList_PR_nzp_CSI_RS_SSB
;
csires7
->
csi_RS_ResourceSetList
.
choice
.
nzp_CSI_RS_SSB
=
calloc
(
1
,
sizeof
(
*
csires7
->
csi_RS_ResourceSetList
.
choice
.
nzp_CSI_RS_SSB
));
csires7
->
csi_RS_ResourceSetList
.
choice
.
nzp_CSI_RS_SSB
->
nzp_CSI_RS_ResourceSetList
=
calloc
(
1
,
sizeof
(
*
csires7
->
csi_RS_ResourceSetList
.
choice
.
nzp_CSI_RS_SSB
->
nzp_CSI_RS_ResourceSetList
));
csires7
->
csi_RS_ResourceSetList
.
choice
.
nzp_CSI_RS_SSB
->
csi_SSB_ResourceSetList
=
NULL
;
NR_NZP_CSI_RS_ResourceSetId_t
*
csires70
=
calloc
(
1
,
sizeof
(
*
csires70
));
*
csires70
=
0
;
ASN_SEQUENCE_ADD
(
&
csires7
->
csi_RS_ResourceSetList
.
choice
.
nzp_CSI_RS_SSB
->
nzp_CSI_RS_ResourceSetList
->
list
,
csires70
);
csires7
->
bwp_Id
=
1
;
csires7
->
resourceType
=
NR_CSI_ResourceConfig__resourceType_periodic
;
//ASN_SEQUENCE_ADD(&csi_MeasConfig->csi_ResourceConfigToAddModList->list,csires7);
NR_CSI_ResourceConfig_t
*
csires8
=
calloc
(
1
,
sizeof
(
*
csires8
));
csires8
->
csi_ResourceConfigId
=
8
;
csires8
->
csi_RS_ResourceSetList
.
present
=
NR_CSI_ResourceConfig__csi_RS_ResourceSetList_PR_nzp_CSI_RS_SSB
;
csires8
->
csi_RS_ResourceSetList
.
choice
.
nzp_CSI_RS_SSB
=
calloc
(
1
,
sizeof
(
*
csires8
->
csi_RS_ResourceSetList
.
choice
.
nzp_CSI_RS_SSB
));
csires8
->
csi_RS_ResourceSetList
.
choice
.
nzp_CSI_RS_SSB
->
nzp_CSI_RS_ResourceSetList
=
calloc
(
1
,
sizeof
(
*
csires8
->
csi_RS_ResourceSetList
.
choice
.
nzp_CSI_RS_SSB
->
nzp_CSI_RS_ResourceSetList
));
csires8
->
csi_RS_ResourceSetList
.
choice
.
nzp_CSI_RS_SSB
->
csi_SSB_ResourceSetList
=
NULL
;
NR_NZP_CSI_RS_ResourceSetId_t
*
csires80
=
calloc
(
1
,
sizeof
(
*
csires80
));
*
csires80
=
0
;
ASN_SEQUENCE_ADD
(
&
csires8
->
csi_RS_ResourceSetList
.
choice
.
nzp_CSI_RS_SSB
->
nzp_CSI_RS_ResourceSetList
->
list
,
csires80
);
csires8
->
bwp_Id
=
1
;
csires8
->
resourceType
=
NR_CSI_ResourceConfig__resourceType_periodic
;
//ASN_SEQUENCE_ADD(&csi_MeasConfig->csi_ResourceConfigToAddModList->list,csires8);
NR_CSI_ResourceConfig_t
*
csires9
=
calloc
(
1
,
sizeof
(
*
csires9
));
csires9
->
csi_ResourceConfigId
=
9
;
csires9
->
csi_RS_ResourceSetList
.
present
=
NR_CSI_ResourceConfig__csi_RS_ResourceSetList_PR_nzp_CSI_RS_SSB
;
csires9
->
csi_RS_ResourceSetList
.
choice
.
nzp_CSI_RS_SSB
=
calloc
(
1
,
sizeof
(
*
csires9
->
csi_RS_ResourceSetList
.
choice
.
nzp_CSI_RS_SSB
));
csires9
->
csi_RS_ResourceSetList
.
choice
.
nzp_CSI_RS_SSB
->
nzp_CSI_RS_ResourceSetList
=
calloc
(
1
,
sizeof
(
*
csires9
->
csi_RS_ResourceSetList
.
choice
.
nzp_CSI_RS_SSB
->
nzp_CSI_RS_ResourceSetList
));
csires9
->
csi_RS_ResourceSetList
.
choice
.
nzp_CSI_RS_SSB
->
csi_SSB_ResourceSetList
=
NULL
;
NR_NZP_CSI_RS_ResourceSetId_t
*
csires90
=
calloc
(
1
,
sizeof
(
*
csires90
));
*
csires90
=
0
;
ASN_SEQUENCE_ADD
(
&
csires9
->
csi_RS_ResourceSetList
.
choice
.
nzp_CSI_RS_SSB
->
nzp_CSI_RS_ResourceSetList
->
list
,
csires90
);
csires9
->
bwp_Id
=
1
;
csires9
->
resourceType
=
NR_CSI_ResourceConfig__resourceType_periodic
;
//ASN_SEQUENCE_ADD(&csi_MeasConfig->csi_ResourceConfigToAddModList->list,csires9);
csi_MeasConfig
->
csi_ReportConfigToAddModList
=
calloc
(
1
,
sizeof
(
*
csi_MeasConfig
->
csi_ReportConfigToAddModList
));
csi_MeasConfig
->
csi_ReportConfigToReleaseList
=
NULL
;
NR_CSI_ReportConfig_t
*
csirep0
=
calloc
(
1
,
sizeof
(
*
csirep0
));
csirep0
->
reportConfigId
=
0
;
csirep0
->
carrier
=
NULL
;
csirep0
->
resourcesForChannelMeasurement
=
0
;
csirep0
->
csi_IM_ResourcesForInterference
=
calloc
(
1
,
sizeof
(
*
csirep0
->
csi_IM_ResourcesForInterference
));
*
csirep0
->
csi_IM_ResourcesForInterference
=
11
;
csirep0
->
nzp_CSI_RS_ResourcesForInterference
=
NULL
;
csirep0
->
reportConfigType
.
present
=
NR_CSI_ReportConfig__reportConfigType_PR_periodic
;
csirep0
->
reportConfigType
.
choice
.
periodic
=
calloc
(
1
,
sizeof
(
*
csirep0
->
reportConfigType
.
choice
.
periodic
));
csirep0
->
reportConfigType
.
choice
.
periodic
->
reportSlotConfig
.
present
=
NR_CSI_ReportPeriodicityAndOffset_PR_slots320
;
csirep0
->
reportConfigType
.
choice
.
periodic
->
reportSlotConfig
.
choice
.
slots320
=
9
;
NR_PUCCH_CSI_Resource_t
*
pucchcsires0
=
calloc
(
1
,
sizeof
(
*
pucchcsires0
));
pucchcsires0
->
uplinkBandwidthPartId
=
1
;
pucchcsires0
->
pucch_Resource
=
11
;
ASN_SEQUENCE_ADD
(
&
csirep0
->
reportConfigType
.
choice
.
periodic
->
pucch_CSI_ResourceList
.
list
,
pucchcsires0
);
csirep0
->
reportQuantity
.
present
=
NR_CSI_ReportConfig__reportQuantity_PR_cri_RI_LI_PMI_CQI
;
csirep0
->
reportQuantity
.
choice
.
cri_RI_PMI_CQI
=
(
NULL_t
)
0
;
csirep0
->
reportFreqConfiguration
=
calloc
(
1
,
sizeof
(
*
csirep0
->
reportFreqConfiguration
));
csirep0
->
reportFreqConfiguration
->
cqi_FormatIndicator
=
NR_CSI_ReportConfig__reportFreqConfiguration__cqi_FormatIndicator_widebandCQI
;
csirep0
->
reportFreqConfiguration
->
pmi_FormatIndicator
=
NR_CSI_ReportConfig__reportFreqConfiguration__pmi_FormatIndicator_widebandPMI
;
csirep0
->
reportFreqConfiguration
->
csi_ReportingBand
=
calloc
(
1
,
sizeof
(
*
csirep0
->
reportFreqConfiguration
->
csi_ReportingBand
));
AssertFatal
(
*
secondaryCellGroup
->
spCellConfig
->
spCellConfigDedicated
->
firstActiveDownlinkBWP_Id
>
0
,
"firstActiveDownlinkBWP_Id %d
\n
"
,(
int
)
*
secondaryCellGroup
->
spCellConfig
->
spCellConfigDedicated
->
firstActiveDownlinkBWP_Id
);
int
NPRB
=
NRRIV2BW
(
secondaryCellGroup
->
spCellConfig
->
spCellConfigDedicated
->
downlinkBWP_ToAddModList
->
list
.
array
[
*
secondaryCellGroup
->
spCellConfig
->
spCellConfigDedicated
->
firstActiveDownlinkBWP_Id
-
1
]
->
bwp_Common
->
genericParameters
.
locationAndBandwidth
,
275
);
int
sbsize
=
get_subband_size
(
NPRB
,
0
);
int
numsb
=
NPRB
/
sbsize
;
if
(
NPRB
%
sbsize
==
0
)
numsb
++
;
csirep0
->
reportFreqConfiguration
->
csi_ReportingBand
->
present
=
NR_CSI_ReportConfig__reportFreqConfiguration__csi_ReportingBand_PR_NOTHING
+
(
numsb
-
2
);
csirep0
->
reportFreqConfiguration
->
csi_ReportingBand
->
choice
.
subbands18
.
size
=
numsb
/
8
;
if
((
numsb
&
7
)
>
0
)
csirep0
->
reportFreqConfiguration
->
csi_ReportingBand
->
choice
.
subbands18
.
size
++
;
csirep0
->
reportFreqConfiguration
->
csi_ReportingBand
->
choice
.
subbands18
.
bits_unused
=
(
8
-
(
numsb
&
7
))
&
7
;
csirep0
->
reportFreqConfiguration
->
csi_ReportingBand
->
choice
.
subbands18
.
buf
=
malloc
(
csirep0
->
reportFreqConfiguration
->
csi_ReportingBand
->
choice
.
subbands18
.
size
);
for
(
int
i
=
0
;
i
<
csirep0
->
reportFreqConfiguration
->
csi_ReportingBand
->
choice
.
subbands18
.
size
;
i
++
)
csirep0
->
reportFreqConfiguration
->
csi_ReportingBand
->
choice
.
subbands18
.
buf
[
i
]
=
0xff
;
csirep0
->
reportFreqConfiguration
->
csi_ReportingBand
->
choice
.
subbands18
.
buf
[
csirep0
->
reportFreqConfiguration
->
csi_ReportingBand
->
choice
.
subbands18
.
size
-
1
]
&=~
((
1
<<
csirep0
->
reportFreqConfiguration
->
csi_ReportingBand
->
choice
.
subbands18
.
bits_unused
)
-
1
);
csirep0
->
timeRestrictionForChannelMeasurements
=
NR_CSI_ReportConfig__timeRestrictionForChannelMeasurements_configured
;
csirep0
->
timeRestrictionForInterferenceMeasurements
=
NR_CSI_ReportConfig__timeRestrictionForInterferenceMeasurements_configured
;
csirep0
->
codebookConfig
=
calloc
(
1
,
sizeof
(
*
csirep0
->
codebookConfig
));
csirep0
->
codebookConfig
->
codebookType
.
present
=
NR_CodebookConfig__codebookType_PR_type1
;
csirep0
->
codebookConfig
->
codebookType
.
choice
.
type1
=
calloc
(
1
,
sizeof
(
*
csirep0
->
codebookConfig
->
codebookType
.
choice
.
type1
));
csirep0
->
codebookConfig
->
codebookType
.
choice
.
type1
->
subType
.
present
=
NR_CodebookConfig__codebookType__type1__subType_PR_typeI_SinglePanel
;
csirep0
->
codebookConfig
->
codebookType
.
choice
.
type1
->
subType
.
choice
.
typeI_SinglePanel
=
calloc
(
1
,
sizeof
(
*
csirep0
->
codebookConfig
->
codebookType
.
choice
.
type1
->
subType
.
choice
.
typeI_SinglePanel
));
csirep0
->
codebookConfig
->
codebookType
.
choice
.
type1
->
subType
.
choice
.
typeI_SinglePanel
->
nrOfAntennaPorts
.
present
=
NR_CodebookConfig__codebookType__type1__subType__typeI_SinglePanel__nrOfAntennaPorts_PR_two
;
csirep0
->
codebookConfig
->
codebookType
.
choice
.
type1
->
subType
.
choice
.
typeI_SinglePanel
->
nrOfAntennaPorts
.
choice
.
two
=
calloc
(
1
,
sizeof
(
*
csirep0
->
codebookConfig
->
codebookType
.
choice
.
type1
->
subType
.
choice
.
typeI_SinglePanel
->
nrOfAntennaPorts
.
choice
.
two
));
csirep0
->
codebookConfig
->
codebookType
.
choice
.
type1
->
subType
.
choice
.
typeI_SinglePanel
->
nrOfAntennaPorts
.
choice
.
two
->
twoTX_CodebookSubsetRestriction
.
size
=
1
;
csirep0
->
codebookConfig
->
codebookType
.
choice
.
type1
->
subType
.
choice
.
typeI_SinglePanel
->
nrOfAntennaPorts
.
choice
.
two
->
twoTX_CodebookSubsetRestriction
.
bits_unused
=
2
;
csirep0
->
codebookConfig
->
codebookType
.
choice
.
type1
->
subType
.
choice
.
typeI_SinglePanel
->
nrOfAntennaPorts
.
choice
.
two
->
twoTX_CodebookSubsetRestriction
.
buf
=
malloc
(
1
);
csirep0
->
codebookConfig
->
codebookType
.
choice
.
type1
->
subType
.
choice
.
typeI_SinglePanel
->
nrOfAntennaPorts
.
choice
.
two
->
twoTX_CodebookSubsetRestriction
.
buf
[
0
]
=
0xfc
;
//'111111'B
csirep0
->
codebookConfig
->
codebookType
.
choice
.
type1
->
subType
.
choice
.
typeI_SinglePanel
->
typeI_SinglePanel_ri_Restriction
.
size
=
1
;
csirep0
->
codebookConfig
->
codebookType
.
choice
.
type1
->
subType
.
choice
.
typeI_SinglePanel
->
typeI_SinglePanel_ri_Restriction
.
bits_unused
=
0
;
csirep0
->
codebookConfig
->
codebookType
.
choice
.
type1
->
subType
.
choice
.
typeI_SinglePanel
->
typeI_SinglePanel_ri_Restriction
.
buf
=
malloc
(
1
);
csirep0
->
codebookConfig
->
codebookType
.
choice
.
type1
->
subType
.
choice
.
typeI_SinglePanel
->
typeI_SinglePanel_ri_Restriction
.
buf
[
0
]
=
0xc0
;
//'00000011'B
csirep0
->
codebookConfig
->
codebookType
.
choice
.
type1
->
codebookMode
=
1
;
csirep0
->
dummy
=
NULL
;
csirep0
->
groupBasedBeamReporting
.
present
=
NR_CSI_ReportConfig__groupBasedBeamReporting_PR_disabled
;
csirep0
->
groupBasedBeamReporting
.
choice
.
disabled
=
calloc
(
1
,
sizeof
(
*
csirep0
->
groupBasedBeamReporting
.
choice
.
disabled
));
csirep0
->
groupBasedBeamReporting
.
choice
.
disabled
->
nrofReportedRS
=
NULL
;
csirep0
->
cqi_Table
=
calloc
(
1
,
sizeof
(
*
csirep0
->
cqi_Table
));
*
csirep0
->
cqi_Table
=
NR_CSI_ReportConfig__cqi_Table_table1
;
csirep0
->
subbandSize
=
NR_CSI_ReportConfig__subbandSize_value1
;
csirep0
->
non_PMI_PortIndication
=
NULL
;
csirep0
->
ext1
=
NULL
;
ASN_SEQUENCE_ADD
(
&
csi_MeasConfig
->
csi_ReportConfigToAddModList
->
list
,
csirep0
);
NR_CSI_ReportConfig_t
*
csirep1
=
calloc
(
1
,
sizeof
(
*
csirep1
));
csirep1
->
reportConfigId
=
2
;
csirep1
->
reportConfigId
=
0
;
csirep1
->
carrier
=
NULL
;
csirep1
->
resourcesForChannelMeasurement
=
initial_csi_index
;
csirep1
->
resourcesForChannelMeasurement
=
0
;
csirep1
->
csi_IM_ResourcesForInterference
=
NULL
;
csirep1
->
nzp_CSI_RS_ResourcesForInterference
=
NULL
;
csirep1
->
reportConfigType
.
present
=
NR_CSI_ReportConfig__reportConfigType_PR_periodic
;
...
...
@@ -1954,7 +1198,7 @@ void fill_default_secondaryCellGroup(NR_ServingCellConfigCommon_t *servingcellco
csirep1
->
reportConfigType
.
choice
.
periodic
->
reportSlotConfig
.
choice
.
slots320
=
49
;
NR_PUCCH_CSI_Resource_t
*
pucchcsires1
=
calloc
(
1
,
sizeof
(
*
pucchcsires1
));
pucchcsires1
->
uplinkBandwidthPartId
=
1
;
pucchcsires1
->
pucch_Resource
=
12
;
pucchcsires1
->
pucch_Resource
=
3
;
ASN_SEQUENCE_ADD
(
&
csirep1
->
reportConfigType
.
choice
.
periodic
->
pucch_CSI_ResourceList
.
list
,
pucchcsires1
);
csirep1
->
reportQuantity
.
present
=
NR_CSI_ReportConfig__reportQuantity_PR_ssb_Index_RSRP
;
csirep1
->
reportQuantity
.
choice
.
ssb_Index_RSRP
=
(
NULL_t
)
0
;
...
...
@@ -2001,7 +1245,6 @@ void fill_default_secondaryCellGroup(NR_ServingCellConfigCommon_t *servingcellco
ASN_SEQUENCE_ADD
(
&
csi_MeasConfig
->
csi_ReportConfigToAddModList
->
list
,
csirep1
);
secondaryCellGroup
->
spCellConfig
->
spCellConfigDedicated
->
sCellDeactivationTimer
=
NULL
;
secondaryCellGroup
->
spCellConfig
->
spCellConfigDedicated
->
crossCarrierSchedulingConfig
=
NULL
;
secondaryCellGroup
->
spCellConfig
->
spCellConfigDedicated
->
tag_Id
=
0
;
...
...
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