From 5bae6dd6f3630e4205dc36e93b1b32d83b4f6e94 Mon Sep 17 00:00:00 2001
From: rmagueta <rmagueta@allbesmart.pt>
Date: Wed, 23 Feb 2022 16:11:13 +0000
Subject: [PATCH] Add missing fiels in fapi_nr_dl_config_csirs_pdu_rel15_t

---
 nfapi/open-nFAPI/nfapi/public_inc/fapi_nr_ue_interface.h | 2 ++
 openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c              | 5 +++++
 openair2/RRC/NR/MESSAGES/asn1_msg.c                      | 2 +-
 3 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/nfapi/open-nFAPI/nfapi/public_inc/fapi_nr_ue_interface.h b/nfapi/open-nFAPI/nfapi/public_inc/fapi_nr_ue_interface.h
index 284ef22fc4c..d93072519b8 100644
--- a/nfapi/open-nFAPI/nfapi/public_inc/fapi_nr_ue_interface.h
+++ b/nfapi/open-nFAPI/nfapi/public_inc/fapi_nr_ue_interface.h
@@ -489,6 +489,8 @@ typedef struct {
   uint8_t  cdm_type;
   uint8_t  freq_density;//The density field, p and comb offset (for dot5).0: dot5 (even RB), 1: dot5 (odd RB), 2: one, 3: three
   uint16_t scramb_id;//ScramblingID of the CSI-RS [TS38.214, sec 5.2.2.3.1] Value: 0->1023
+  uint8_t  power_control_offset;//Ratio of PDSCH EPRE to NZP CSI-RSEPRE Value :0->23 representing -8 to 15 dB in 1dB steps
+  uint8_t  power_control_offset_ss;//Ratio of SSB/PBCH block EPRE to NZP CSI-RS EPRES 0: -3dB, 1: 0dB, 2: 3dB, 3: 6dB
 } fapi_nr_dl_config_csirs_pdu_rel15_t;
 
 
diff --git a/openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c b/openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
index 1fc74bfaa5e..d32aa7e22e4 100644
--- a/openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
+++ b/openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
@@ -2457,6 +2457,11 @@ void nr_schedule_csirs_reception(NR_UE_MAC_INST_t *mac, int frame, int slot) {
             && (resourceMapping.density.choice.dot5 == NR_CSI_RS_ResourceMapping__density__dot5_evenPRBs))
           csirs_config_pdu->freq_density--;
         csirs_config_pdu->scramb_id = nzpcsi->scramblingID;
+        csirs_config_pdu->power_control_offset = nzpcsi->powerControlOffset + 8;
+        if (nzpcsi->powerControlOffsetSS)
+          csirs_config_pdu->power_control_offset_ss = *nzpcsi->powerControlOffsetSS;
+        else
+          csirs_config_pdu->power_control_offset_ss = 1; // 0 dB
         switch(resourceMapping.frequencyDomainAllocation.present){
           case NR_CSI_RS_ResourceMapping__frequencyDomainAllocation_PR_row1:
             csirs_config_pdu->row = 1;
diff --git a/openair2/RRC/NR/MESSAGES/asn1_msg.c b/openair2/RRC/NR/MESSAGES/asn1_msg.c
index f12ac037956..9c0cfe7bcd7 100755
--- a/openair2/RRC/NR/MESSAGES/asn1_msg.c
+++ b/openair2/RRC/NR/MESSAGES/asn1_msg.c
@@ -1510,7 +1510,7 @@ void fill_initial_SpCellConfig(int uid,
    csires1->csi_RS_ResourceSetList.choice.nzp_CSI_RS_SSB = calloc(1,sizeof(*csires1->csi_RS_ResourceSetList.choice.nzp_CSI_RS_SSB));
    csires1->csi_RS_ResourceSetList.choice.nzp_CSI_RS_SSB->csi_SSB_ResourceSetList = calloc(1,sizeof(*csires1->csi_RS_ResourceSetList.choice.nzp_CSI_RS_SSB->csi_SSB_ResourceSetList));
    NR_CSI_SSB_ResourceSetId_t *ssbres00 = calloc(1,sizeof(*ssbres00));
- *ssbres00 = 0;
+   *ssbres00 = 0;
    ASN_SEQUENCE_ADD(&csires1->csi_RS_ResourceSetList.choice.nzp_CSI_RS_SSB->csi_SSB_ResourceSetList->list,ssbres00);
    csires1->bwp_Id = 0;
    csires1->resourceType = NR_CSI_ResourceConfig__resourceType_periodic;
-- 
GitLab