diff --git a/nfapi/open-nFAPI/nfapi/public_inc/nfapi_nr_interface.h b/nfapi/open-nFAPI/nfapi/public_inc/nfapi_nr_interface.h index 269605bbb9fdf97b2cb0f089e870545040526800..21e0fab8ca2992d475acd06f7d584534c66aefd0 100644 --- a/nfapi/open-nFAPI/nfapi/public_inc/nfapi_nr_interface.h +++ b/nfapi/open-nFAPI/nfapi/public_inc/nfapi_nr_interface.h @@ -173,14 +173,10 @@ typedef struct { nfapi_uint16_tlv_t TimeDomainResourceAllocation_mappingType; ///// L1 parameter 'Mapping-type' } nfapi_nr_pdsch_config_t; -typedef struct { - nfapi_uint16_tlv_t searchSpaceSIB1; ///// L1 parameter 'rmsi-SearchSpace' - nfapi_uint16_tlv_t searchSpaceOtherSystemInformation; ///// L1 parameter 'osi-SearchSpace' - nfapi_uint16_tlv_t pagingSearchSpace; ///// L1 parameter 'paging-SearchSpace' - nfapi_uint16_tlv_t ra_SearchSpace; ///// L1 parameter 'ra-SearchSpace' - nfapi_uint16_tlv_t rach_ra_ControlResourceSet; ///// L1 parameter 'rach-coreset-configuration' - nfapi_uint16_tlv_t common_controlResourceSetId; ///// L1 parameter 'CORESET-ID - nfapi_uint16_tlv_t common_ControlResourceSet_duration; ///// L1 parameter 'CORESET-time-duration' +typedef struct{ + nfapi_uint16_tlv_t controlResourceSetId; ///// L1 parameter 'CORESET-ID' + nfapi_uint16_tlv_t frequencyDomainResources ///// L1 parameter 'CORESET-freq-dom' + nfapi_uint16_tlv_t duration; ///// L1 parameter 'CORESET-time-duration' nfapi_uint16_tlv_t cce_REG_MappingType; ///// L1 parameter 'CORESET-CCE-REG-mapping-type' nfapi_uint16_tlv_t reg_BundleSize; ///// L1 parameter 'CORESET-REG-bundle-size' nfapi_uint16_tlv_t interleaverSize; ///// L1 parameter 'CORESET-interleaver-size' @@ -188,9 +184,14 @@ typedef struct { nfapi_uint16_tlv_t precoderGranularity; ///// L1 parameter 'CORESET-precoder-granuality' nfapi_uint16_tlv_t TCI_StateId; ///// L1 parameter 'TCI-StatesPDCCH' nfapi_uint16_tlv_t tci_PresentInDCI; ///// L1 parameter 'TCI-PresentInDCI' + nfapi_uint16_tlv_t pdcch_DMRS_ScramblingID; ///// L1 parameter 'PDCCH-DMRS-Scrambling-ID' +} nfapi_nr_pdcch_commonControlResourcesSets_t; + +typedef struct{ nfapi_uint16_tlv_t SearchSpaceId; nfapi_uint16_tlv_t commonSearchSpaces_controlResourceSetId; nfapi_uint16_tlv_t SearchSpace_monitoringSlotPeriodicityAndOffset; ///// L1 parameters 'Montoring-periodicity-PDCCH-slot' + nfapi_uint16_tlv_t monitoringSymbolsWithinSlot ///// L1 parameter 'Montoring-symbols-PDCCH-within-slot' nfapi_uint16_tlv_t SearchSpace_nrofCandidates_aggregationLevel1; ///// L1 parameter 'Aggregation-level-1' nfapi_uint16_tlv_t SearchSpace_nrofCandidates_aggregationLevel2; ///// L1 parameter 'Aggregation-level-2' nfapi_uint16_tlv_t SearchSpace_nrofCandidates_aggregationLevel4; ///// L1 parameter 'Aggregation-level-4' @@ -200,7 +201,18 @@ typedef struct { nfapi_uint16_tlv_t Common_dci_Format2_3_monitoringPeriodicity; ///// L1 parameter 'SRS-monitoring-periodicity' nfapi_uint16_tlv_t Common_dci_Format2_3_nrofPDCCH_Candidates; ///// L1 parameter 'SRS-Num-PDCCH-cand' nfapi_uint16_tlv_t ue_Specific__dci_Formats; -} nfapi_nr_pdcch_config_t; +} nfapi_nr_pdcch_commonSearchSpaces_t; + +typedef struct { + nfapi_nr_pdcch_commonControlResourcesSets_t commonControlResourcesSets; + nfapi_nr_pfcch_commonSearchSpaces_t commonSearchSpaces; + nfapi_uint16_tlv_t searchSpaceSIB1; ///// L1 parameter 'rmsi-SearchSpace' + nfapi_uint16_tlv_t searchSpaceOtherSystemInformation; ///// L1 parameter 'osi-SearchSpace' + nfapi_uint16_tlv_t pagingSearchSpace; ///// L1 parameter 'paging-SearchSpace' + nfapi_uint16_tlv_t ra_SearchSpace; ///// L1 parameter 'ra-SearchSpace' + nfapi_uint16_tlv_t rach_ra_ControlResourceSet; ///// L1 parameter 'rach-coreset-configuration' + +} nfapi_nr_pdcch_common_config_t; typedef struct { nfapi_uint16_tlv_t ssb_PositionsInBurst_PR; ///// L1 parameter 'SSB-Transmitted @@ -270,7 +282,6 @@ typedef struct { nfapi_vendor_extension_tlv_t vendor_extension; } nfapi_nr_config_request_t; - typedef enum { NFAPI_NR_DL_DCI_FORMAT_1_0 = 0, NFAPI_NR_DL_DCI_FORMAT_1_1, @@ -303,3 +314,4 @@ typedef struct { } nfapi_nr_dl_config_dci_dl_pdu; #endif + diff --git a/openair1/PHY/NR_TRANSPORT/nr_dci.c b/openair1/PHY/NR_TRANSPORT/nr_dci.c index 5ebfd5a05c241dc0ab8e332acff71176944548de..02005e5fc94af63ac2b03cc052945890b3ca15d7 100644 --- a/openair1/PHY/NR_TRANSPORT/nr_dci.c +++ b/openair1/PHY/NR_TRANSPORT/nr_dci.c @@ -33,9 +33,9 @@ #include "nr_dci.h" uint8_t nr_get_dci_size(nr_dci_format_e format, - nr_rnti_type_e rnti, - NR_BWP_PARMS* bwp, - nfapi_nr_config_request_t* config) + nr_rnti_type_e rnti, + NR_BWP_PARMS* bwp, + nfapi_nr_config_request_t* config) { uint8_t size = 0; uint16_t N_RB = bwp->N_RB; @@ -126,7 +126,11 @@ uint8_t nr_get_dci_size(nr_dci_format_e format, } -uint8_t nr_generate_dci_top() +uint8_t nr_generate_dci_top(NR_DCI_ALLOC_t dci_alloc, + int32_t** txdataF, + int16_t amp, + NR_DL_FRAME_PARMS* frame_parms, + nfapi_config_request_t* config) { return 0; } diff --git a/openair1/PHY/NR_TRANSPORT/nr_dci.h b/openair1/PHY/NR_TRANSPORT/nr_dci.h index a1a58e6598577c371ab9e9714908f286c1821a9b..03a044ad5ec19d19e7c7284916da1799b56be2f2 100644 --- a/openair1/PHY/NR_TRANSPORT/nr_dci.h +++ b/openair1/PHY/NR_TRANSPORT/nr_dci.h @@ -27,12 +27,12 @@ typedef enum { nr_dci_format_0_0=0, nr_dci_format_0_1, - nr_dci_format_1_0, - nr_dci_format_1_1, nr_dci_format_2_0, nr_dci_format_2_1, nr_dci_format_2_2, - nr_dci_format_2_3 + nr_dci_format_2_3, + nr_dci_format_1_0, + nr_dci_format_1_1, } nr_dci_format_e; typedef enum { @@ -45,7 +45,6 @@ typedef enum { } nr_rnti_type_e; - typedef struct { /// Length of DCI in bits uint8_t size; @@ -65,10 +64,14 @@ typedef struct { uint8_t nr_get_dci_size(nr_dci_format_e format, - nr_rnti_type_e rnti, - NR_BWP_PARMS bwp, - nfapi_nr_config_request_t* config); + nr_rnti_type_e rnti, + NR_BWP_PARMS bwp, + nfapi_nr_config_request_t* config); -uint8_t nr_generate_dci_top(); +uint8_t nr_generate_dci_top(NR_DCI_ALLOC_t dci_alloc, + int32_t** txdataF, + int16_t amp, + NR_DL_FRAME_PARMS* frame_parms, + nfapi_config_request_t* config) #endif //__PHY_NR_TRANSPORT_DCI__H diff --git a/openair1/PHY/NR_TRANSPORT/nr_pbch.c b/openair1/PHY/NR_TRANSPORT/nr_pbch.c index 842f35ae524baaf39c299ae9055591072be7a1bc..42d651d1405282b40ce572225f48cce06f41e1b1 100644 --- a/openair1/PHY/NR_TRANSPORT/nr_pbch.c +++ b/openair1/PHY/NR_TRANSPORT/nr_pbch.c @@ -207,7 +207,7 @@ int nr_generate_pbch(NR_gNB_PBCH *pbch, mod_pbch_e[(i<<1)+1] = nr_mod_table[((NR_MOD_TABLE_QPSK_OFFSET + idx)<<1)+1]; #ifdef DEBUG_PBCH - printf("i %d mod_pbch %d %d\n", i, mod_pbch_e[2*i], mod_pbch_e[2*i+1]); + printf("i %d idx %d mod_pbch %d %d\n", i, idx, mod_pbch_e[2*i], mod_pbch_e[2*i+1]); #endif } diff --git a/openair1/PHY/defs_nr_common.h b/openair1/PHY/defs_nr_common.h index c1c03570337b21a14e8bb520d2ff833ba16e5a8a..57b3159310c6392cc4ae63e8e408398ae1f28b3b 100644 --- a/openair1/PHY/defs_nr_common.h +++ b/openair1/PHY/defs_nr_common.h @@ -34,7 +34,7 @@ #define __PHY_DEFS_NR_COMMON__H__ #include "defs_common.h" -#include "nfapi_nr_interface.h" +#include "nfapi_interface.h" #include "impl_defs_nr.h" #include "PHY/CODING/nrPolar_tools/nr_polar_defs.h"